Must read – lista publikacji o sieciach konwolucyjnych 2016

Do wpisu zmotywowało mnie kilka osób z Instagram’a oraz Facebook’a, pytając o moją listę publikacji, które przeczytałem, czytam lub mam zamiar przeczytać. Chciałbym się z Wami podzielić tylko tymi, które przeczytałem w 2016 roku i które uważam za istotne i dobrze napisane.

Pierwotnie miałem zamiar opisać wszystkie publikacje jednak w trakcie pisania zorientowałem się, że jest ich zbyt dużo na jeden wpis. Postanowiłem zawęzić tę listę tylko do tych związanych z sieciami konwolucyjnymi, w kolejnym przedstawię listę związaną z rekurencyjnymi sieciami neuronowymi.

Lista publikacji wprowadzających do Convolutional Networks

Zanim zaczniecie zagłębiać się w listę, chciałbym przytoczyć jedną moim zdaniem bardzo wartościową publikację. Jest ona moim punktem wyjścia do zgłębiania kolejnych artykułów,  obecnie wałkuję ją w kółko.

Recent Advances in Convolutional Neural Networks [3] – jest to artykuł podsumowujący ostatnie 4 lata prac z dziedziny deep learning. W rozdziale 2 znajdziecie wprowadzenie do ConvNet wraz krótkim opisem podstawowych komponentów sieci. Natomiast rozdział 3 „Improvements on CNNs” – zawiera opis architektur sieci neuronowych (AlexNet, VGG, ResNet, Inception ipt). Opisuje także zestawienie najnowszych technik wspomagających uczenie (deconvolution, max pooling, Relu, Elu, dropout, Xavier initialization, batch normalization itp.).  Wart przeczytania jest także rozdział 5 „Aplications of CNNs” pokazujący jak szerokie zastosowanie znalazły sieci konwolucyjne. Autorzy poświęcili oddzielne podrozdziały opisujące wykorzystanie convnets w :

  • Image classification
  • Object detection
  • Object tracking
  • Pose estimation
  • Text detection and recognition
  • Action recognition
  • Scene labeling
  • Speech Processing
  • Natural language processing

Tak naprawdę to mógłby skończyć wpis i resztę publikacji wyciągnęlibyście z referencji, ale mam nadzieję, że mój komentarz uznacie za wartościowy.

Lista publikacji:

Poniżej moja lista publikacji, które przeczytałem w 2016 związana z tematem sieci neuronowych. Tak jak zaznaczyłem na wstępie, prezentuję tutaj tylko te najbardziej wartościowe (wedle mojej skromnej opinii). Lista ułożona jest według przydatności, dla osób które wgryzają się w temat.

  1. Recent Advances in Convolutional Neural Networks [3]
  2. Very Deep Convolutional Networks for Large-Scale Image Recognition [10] – publikacja w zwarty sposób prezentuje architekturę VGG. Jej nieskomplikowana architektura oraz skuteczność spowodowały że jest jedną z bardziej popularnych oraz łatwych w implementacji. W mojej ocenie zawsze warto zacząć od tej architektury i zobaczyć jakie daje wyniki. Jako pierwsza praca pokazała że filtry 3×3 połączone ze sobą są wystarczające.
  3. Deep Residual Learning for Image Recognition [4] – publikacja, której idea bardzo przemawia do mnie, architektura w której mamy połączenia przeskakujące daną warstwę w sieci jakoś intuicyjnie kojarzą mi się z architekturą naszego mózgu (nie wiem skąd to wziąłem). Dodanie takich połączeń pozwoliło na uczenie bardzo dużych modeli ok 152 warstw w sieci. Autorzy w 2015 roku wygrali konkusy ILSVRC oraz COCO
  4. Imagenet classification with deep convolutional neural networks [13] – Można by powiedzieć, że jest to już klasyczna publikacja, od niej wszystko się zaczęło. Przedstawia architekturę AlexNet. Warto przeczytać aby mieć odpowiedni kontekst oraz móc porównać jak z czasem ewoluowały poszczególne architektury. Gdzie z czasem zaczęto odchodzić od różnej wielkości filtrów (7×7,5×5), które w pracy Alexa stanowiły trzon sieci.
  5. Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification [5] – publikacja, która wprowadza PReLU – parametric rectified linear units. Jednak nie to dla mnie jest najbardziej wartościowe w tej publikacji. Pan Kaiming He wraz z kolegami wprowadzają pewne reguły jak należy poprawnie inicjalizować parametry sieci,  podają konkretny wzór do zastosowania.
  6. Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift [6] – wprowadza technikę batch normalization, wspomagającą uczenie i zbieżność sieci. Więc jeżeli macie problemy z wyuczeniem sieci można spróbować zastosować batch normalization. Przyznam się, że jeszcze nie zastosowałem tej techniki i nie wiem czy działa czy nie. Niektórzy autorzy sugerują, że nie daje za wiele. Obecnie sam się zmagam z siecią, która nie chce się wyuczyć więc mam teraz sposobność aby tę technikę zastosować, dam znać czy działa.
  7. Going Deeper with Convolutions [11] – pierwsza publikacja wprowadzająca Inception module, jej głównym wkładem było odpowiednie zastosowanie połączenia warstw konwolucyjnych w celu zminimalizowania ilości obliczeń i parametrów przy jednoczesnym zachowaniu mocy dyskryminacyjnej sieci.  Zastosowali filtry o rozmiarach 1×1, 3×3 i 5×5 w równoległych ścieżkach w sieci wraz z warstwą łączącą poszczególne filtry. Dla mnie jest to jedna z najtrudniejszych architektur do zrozumienia i zaimplementowania. Niestety ciągle nie rozumiem do końca jak to wszystko razem działa. Chyba muszę jeszcze raz przeczytać tę publikację.
  8. Network in Network [12] – przedstawia koncept sieci w sieci, zamiast warstwy konwolucyjnej zastosowali mini sieć neuronową, którą podobnie jak w tradycyjnej warstwie konwolucyjnej skanują część obrazu i działa jako filtr. Raportują, że zwiększa to dokładność sieci na zbiorach MNIST, CIFAR i SVHN.
  9. Fast and Accurate Deep Network Learning by Exponential Linear Units (ELUs) [7] – tutaj opis jest prosty, publikacja wprowadza nową funkcję aktywacji ELU, wykorzystującą funkcję eksponencjalną. Ma ona dwie pozytywne cechy: z jednej strony dla wartości dodatnich zachowuje się podobnie jak ReLU. Z drugiej dla wartości mniejszych od zera jej gradient zwraca ujemne wartości, co jak sugerują autorzy pozwala na osiągnięcie efektów takie jak daje batch normalization. Sądzę, że jest to dobry zamiennik do ReLU. Niedużym kosztem obliczeniowym zapewnia nam lepszą normalizację wyjścia z poszczególnych węzłów. Autorzy sugerują, że skutkuje szybszym uczeniem sieci.
  10. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks [8] – jeżeli interesuje was detekcja obiektów na obrazach, to powinniście przeczytać tę publikację. Jest ona rozszerzeniem idei z poniższej publikacji. Łączy ona w jedną sieć dwa etapy: poszukiwania kandydatów regionów w obrazie (okien) wraz z klasyfikacją tego co się w nim znajduje.
  11. Fast R-CNN [9] – prezentuje wykorzystanie convnets do detekcji obiektów na obrazach. Prezentuje dwa oddzielne etapy: poszukiwania potencjalnych regionów, w których może być obiekt. Oraz rozpoznawania tego co znajduje się w danym oknie.
  12. Fully Convolutional Networks for Semantic Segmentation [1] – autorzy stworzyli sieć, która służy do segmentacji obrazu. Wprowadzają pojęcie w pełni połączonej sieci konwolucyjnej. Zaletą tej sieci jest to, że wejście sieci nie jest z góry określone, możemy przekazać jej obrazy o dowolnej wielkości. Wyniki zaprezentowane są na zbiorze Pascal VOC.
  13. ENet: A Deep Neural Network Architecture for Real-Time Semantic Segmentation [2] – sieć służąca do segmentacji obrazu z naciskiem na przetwarzanie w czasie rzeczywistym. Sieć ma być prosta i szybka tak aby można było ją uruchomić na urządzeniu mobilnym. Zadanie jakie postawili sobie autorzy nie polega na osiągnięciu jak największej dokładności. Poszli oni na pewien kompromis: jak najlepsza dokładność przy zmniejszonych zasobach obliczeniowych.

Podsumowanie

Powyższ publikacje pozwoliły mi nauczyć się wielu technik, które pozwalają na uczenie sieci znacznie skuteczniej i efektywniej. Wybierałem je po kątem przydatności, aktualności ale także czytelności i przystępności w sposobie prezentowania materiału.

Edit 1.03.2017 Po opublikowaniu tego wpisu, jedna z osób na profilu FB podrzuciła mi linka do listy najlepszych publikacji z dziedziny deep leraning, polecam część publikacji się pokrywa ale jest wiele których sam nie czytałem.

 

[1] E. Shelhamer, J. Long, and T. Darrell, „Fully convolutional networks for semantic segmentation,” Corr, vol. abs/1605.06211, 2016.
[Bibtex]
@article{DBLP:journals/corr/ShelhamerLD16,
author = {Evan Shelhamer and
Jonathan Long and
Trevor Darrell},
title = {Fully Convolutional Networks for Semantic Segmentation},
journal = {CoRR},
volume = {abs/1605.06211},
year = {2016},
url = {http://arxiv.org/abs/1605.06211},
timestamp = {Wed, 01 Jun 2016 15:51:08 +0200},
biburl = {http://dblp.uni-trier.de/rec/bib/journals/corr/ShelhamerLD16},
bibsource = {dblp computer science bibliography, http://dblp.org}
}
[2] A. Paszke, A. Chaurasia, S. Kim, and E. Culurciello, „Enet: A deep neural network architecture for real-time semantic segmentation,” Corr, vol. abs/1606.02147, 2016.
[Bibtex]
@article{DBLP:journals/corr/PaszkeCKC16,
author = {Adam Paszke and
Abhishek Chaurasia and
Sangpil Kim and
Eugenio Culurciello},
title = {ENet: {A} Deep Neural Network Architecture for Real-Time Semantic
Segmentation},
journal = {CoRR},
volume = {abs/1606.02147},
year = {2016},
url = {http://arxiv.org/abs/1606.02147},
timestamp = {Fri, 01 Jul 2016 17:39:49 +0200},
biburl = {http://dblp.uni-trier.de/rec/bib/journals/corr/PaszkeCKC16},
bibsource = {dblp computer science bibliography, http://dblp.org}
}
[3] J. Gu, Z. Wang, J. Kuen, L. Ma, A. Shahroudy, B. Shuai, T. Liu, X. Wang, and G. Wang, „Recent advances in convolutional neural networks,” Corr, vol. abs/1512.07108, 2015.
[Bibtex]
@article{DBLP:journals/corr/GuWKMSSLWW15,
author = {Jiuxiang Gu and
Zhenhua Wang and
Jason Kuen and
Lianyang Ma and
Amir Shahroudy and
Bing Shuai and
Ting Liu and
Xingxing Wang and
Gang Wang},
title = {Recent Advances in Convolutional Neural Networks},
journal = {CoRR},
volume = {abs/1512.07108},
year = {2015},
url = {http://arxiv.org/abs/1512.07108},
timestamp = {Sat, 02 Jan 2016 11:38:49 +0100},
biburl = {http://dblp.uni-trier.de/rec/bib/journals/corr/GuWKMSSLWW15},
bibsource = {dblp computer science bibliography, http://dblp.org}
}
[4] K. He, X. Zhang, S. Ren, and J. Sun, „Deep residual learning for image recognition,” Corr, vol. abs/1512.03385, 2015.
[Bibtex]
@article{DBLP:journals/corr/HeZRS15,
author = {Kaiming He and
Xiangyu Zhang and
Shaoqing Ren and
Jian Sun},
title = {Deep Residual Learning for Image Recognition},
journal = {CoRR},
volume = {abs/1512.03385},
year = {2015},
url = {http://arxiv.org/abs/1512.03385},
timestamp = {Wed, 30 Mar 2016 23:40:00 +0200},
biburl = {http://dblp.uni-trier.de/rec/bib/journals/corr/HeZRS15},
bibsource = {dblp computer science bibliography, http://dblp.org}
}
[5] K. He, X. Zhang, S. Ren, and J. Sun, „Delving deep into rectifiers: surpassing human-level performance on imagenet classification,” Corr, vol. abs/1502.01852, 2015.
[Bibtex]
@article{DBLP:journals/corr/HeZR015,
author = {Kaiming He and
Xiangyu Zhang and
Shaoqing Ren and
Jian Sun},
title = {Delving Deep into Rectifiers: Surpassing Human-Level Performance on
ImageNet Classification},
journal = {CoRR},
volume = {abs/1502.01852},
year = {2015},
url = {http://arxiv.org/abs/1502.01852},
timestamp = {Mon, 02 Mar 2015 14:17:34 +0100},
biburl = {http://dblp.uni-trier.de/rec/bib/journals/corr/HeZR015},
bibsource = {dblp computer science bibliography, http://dblp.org}
}
[6] S. Ioffe and C. Szegedy, „Batch normalization: accelerating deep network training by reducing internal covariate shift,” Corr, vol. abs/1502.03167, 2015.
[Bibtex]
@article{DBLP:journals/corr/IoffeS15,
author = {Sergey Ioffe and
Christian Szegedy},
title = {Batch Normalization: Accelerating Deep Network Training by Reducing
Internal Covariate Shift},
journal = {CoRR},
volume = {abs/1502.03167},
year = {2015},
url = {http://arxiv.org/abs/1502.03167},
timestamp = {Mon, 02 Mar 2015 14:17:34 +0100},
biburl = {http://dblp.uni-trier.de/rec/bib/journals/corr/IoffeS15},
bibsource = {dblp computer science bibliography, http://dblp.org}
}
[7] D. -, T. Unterthiner, and S. Hochreiter, „Fast and accurate deep network learning by exponential linear units (elus),” Corr, vol. abs/1511.07289, 2015.
[Bibtex]
@article{DBLP:journals/corr/ClevertUH15,
author = {Djork{-}Arn{\'{e}} Clevert and
Thomas Unterthiner and
Sepp Hochreiter},
title = {Fast and Accurate Deep Network Learning by Exponential Linear Units
(ELUs)},
journal = {CoRR},
volume = {abs/1511.07289},
year = {2015},
url = {http://arxiv.org/abs/1511.07289},
timestamp = {Tue, 01 Dec 2015 19:22:34 +0100},
biburl = {http://dblp.uni-trier.de/rec/bib/journals/corr/ClevertUH15},
bibsource = {dblp computer science bibliography, http://dblp.org}
}
[8] S. Ren, K. He, R. B. Girshick, and J. Sun, „Faster R-CNN: towards real-time object detection with region proposal networks,” Corr, vol. abs/1506.01497, 2015.
[Bibtex]
@article{DBLP:journals/corr/RenHG015,
author = {Shaoqing Ren and
Kaiming He and
Ross B. Girshick and
Jian Sun},
title = {Faster {R-CNN:} Towards Real-Time Object Detection with Region Proposal
Networks},
journal = {CoRR},
volume = {abs/1506.01497},
year = {2015},
url = {http://arxiv.org/abs/1506.01497},
timestamp = {Wed, 01 Jul 2015 15:10:24 +0200},
biburl = {http://dblp.uni-trier.de/rec/bib/journals/corr/RenHG015},
bibsource = {dblp computer science bibliography, http://dblp.org}
}
[9] R. B. Girshick, „Fast R-CNN,” Corr, vol. abs/1504.08083, 2015.
[Bibtex]
@article{DBLP:journals/corr/Girshick15,
author = {Ross B. Girshick},
title = {Fast {R-CNN}},
journal = {CoRR},
volume = {abs/1504.08083},
year = {2015},
url = {http://arxiv.org/abs/1504.08083},
timestamp = {Sat, 02 May 2015 17:50:32 +0200},
biburl = {http://dblp.uni-trier.de/rec/bib/journals/corr/Girshick15},
bibsource = {dblp computer science bibliography, http://dblp.org}
}
[10] K. Simonyan and A. Zisserman, „Very deep convolutional networks for large-scale image recognition,” Corr, vol. abs/1409.1556, 2014.
[Bibtex]
@article{DBLP:journals/corr/SimonyanZ14a,
author = {Karen Simonyan and
Andrew Zisserman},
title = {Very Deep Convolutional Networks for Large-Scale Image Recognition},
journal = {CoRR},
volume = {abs/1409.1556},
year = {2014},
url = {http://arxiv.org/abs/1409.1556},
timestamp = {Wed, 01 Oct 2014 15:00:05 +0200},
biburl = {http://dblp.uni-trier.de/rec/bib/journals/corr/SimonyanZ14a},
bibsource = {dblp computer science bibliography, http://dblp.org}
}
[11] C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. E. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, and A. Rabinovich, „Going deeper with convolutions,” Corr, vol. abs/1409.4842, 2014.
[Bibtex]
@article{DBLP:journals/corr/SzegedyLJSRAEVR14,
author = {Christian Szegedy and
Wei Liu and
Yangqing Jia and
Pierre Sermanet and
Scott E. Reed and
Dragomir Anguelov and
Dumitru Erhan and
Vincent Vanhoucke and
Andrew Rabinovich},
title = {Going Deeper with Convolutions},
journal = {CoRR},
volume = {abs/1409.4842},
year = {2014},
url = {http://arxiv.org/abs/1409.4842},
timestamp = {Tue, 31 May 2016 18:15:20 +0200},
biburl = {http://dblp.uni-trier.de/rec/bib/journals/corr/SzegedyLJSRAEVR14},
bibsource = {dblp computer science bibliography, http://dblp.org}
}
[12] M. Lin, Q. Chen, and S. Yan, „Network in network,” Corr, vol. abs/1312.4400, 2013.
[Bibtex]
@article{DBLP:journals/corr/LinCY13,
author = {Min Lin and
Qiang Chen and
Shuicheng Yan},
title = {Network In Network},
journal = {CoRR},
volume = {abs/1312.4400},
year = {2013},
url = {http://arxiv.org/abs/1312.4400},
timestamp = {Mon, 06 Jan 2014 15:10:41 +0100},
biburl = {http://dblp.uni-trier.de/rec/bib/journals/corr/LinCY13},
bibsource = {dblp computer science bibliography, http://dblp.org}
}
[13] A. Krizhevsky, I. Sutskever, and G. E. Hinton, „Imagenet classification with deep convolutional neural networks,” in Advances in neural information processing systems, , p. 2012.
[Bibtex]
@INPROCEEDINGS{Krizhevsky_imagenetclassification,
author = {Alex Krizhevsky and Ilya Sutskever and Geoffrey E. Hinton},
title = {Imagenet classification with deep convolutional neural networks},
booktitle = {Advances in Neural Information Processing Systems},
year = {},
pages = {2012}
}

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *