ВВЕДЕНИЕ 4
1 Методы классификации изображений 6
1.1 Архитектура нейронной сети ResNet 6
1.1.1 Анализ сети ResNet 8
1.2 Обзор модификаций архитектуры ResNet 9
1.2.1 Deep Networks with Stochastic Depth 9
1.2.2 Densely Connected Convolutional Network 11
1.2.3 Wide Residual Networks 12
1.2.4 ResNeXt 14
1.2.5 ResNet in ResNet 16
1.2.6 Squeeze-and-Excitation Networks 18
1.2.7 BoostResNet 19
1.2.8 Точность архитектуры ResNet и рассмотренных
модификаций 20
1.3 Архитектуры нейронных сетей с динамической глубиной ... 22
1.3.1 Архитектура нейронной сети с динамической глубиной
BlockDrop 23
1.3.2 Архитектура нейронной сети с динамической глубиной
SGAD 25
1.3.3 Архитектура нейронной сети с динамической глубиной
SkipNet 26
1.3.4 Архитектура нейронной сети с ранней классификацией . 28
1.3.5 Архитектура нейронной сети с каскадной классификацией 29
2 Методы последовательного принятия решений на основе бустинга 33
2.1 WaldBoost 33
2.2 Многоклассовый алгоритм WaldBoost 35
2.2.1 Многоклассовый алгоритм AdaBoost 38
3 Разработка архитектуры нейронной сети с динамической глубиной 39
3.1 Алгоритм обучения сильных классификаторов 40
3.2 Обучение при наличии ошибок аннотирования 43
3.3 Алгоритм обучения разработанной архитектуры 43
4 Результаты экспериментов 46
4.1 Описание данных 46
4.1.1 Данные с фотографиями кошек и собак 46
4.1.2 Adience 47
4.1.3 ImDB-WiKi 48
4.2 Обучение разработанной нейронной сети для бинарной задачи 48
4.3 Методы оценки полученных результатов 50
4.4 Результаты экспериментов для бинарной задачи классификации 51
4.4.1 Результаты экспериментов на наборе данных кошки/собаки 51
4.4.2 Результаты экспериментов для базовой модели
ResNet-101 на наборе данных ImDB-WiKi и Adience ... 54
4.4.3 Результаты экспериментов для базовой модели
DenseNet-201 на наборе данных ImDB-WiKi 57
4.4.4 Результаты экспериментов для базовой модели
SENet-101 на наборе данных ImDB-WiKi 60
4.5 Обучение разработанной нейронной сети для
многоклассовой задачи 63
ЗАКЛЮЧЕНИЕ 68
СПИСОК ЛИТЕРАТУРЫ 69
ПРИЛОЖЕНИЯ
В 2012 году сверточная нейронная сеть AlexNet [1] впервые победила на международном соревновании ImageNet [2] (ошибка top-5 - 16, 4%). С этого момента сверточные нейронные сети стали использоваться для решения задач компьютерного зрения. Дальнейшие улучшения точности были связаны с относительно небольшим увеличением глубины архитектуры (19, 22 обучаемых слоя), переходом к сверткам размера 3 х 3 (VGGNet [3]), объединением сверток разных размеров в один модуль - Inception (GoogLeNet).
Однако дальнейшее увеличение глубины не уменьшило ошибку на тестовой выборке. Это объясняется проблемой исчезновения/взрыва градиента, которая была в основном решена при помощи нормализации инициализации и нормализации активаций нейронов (англ. batch normalization). Это позволило обучать сети с десятками слоев. Однако при обучении глубоких сетей наблюдается деградация обучения: ошибка на обучающей и тестовой выборках начинает увеличиваться при увеличении глубины после достижении некоторой точки насыщения. Эту деградацию связывают со сложностью оптимизации глубоких нейронных сетей.
В 2015 году появилась архитектура нейронной сети Residual Network или ResNet [5], глубина которой была 152 слоя и ошибка top-5 на ImageNet - 3, 57%. ResNet добилась рекордной производительности во многих сложных задачах компьютерного зрения. Поэтому повышение точности или скорости сети ResNet окажет влияние на многие сферы, где используется эта архитектура. За 2016-2017 годы появилось множество различных модификаций архитектуры ResNet, которые увеличивают точность путем увеличения глубины сети, ширины блока, изменения архитектуры самого блока, изменения алгоритма обучения сети.
Цель данной работы - разработать архитектуру нейронной сети для принятия решения на раннем этапе. Это уменьшит вычислительную сложность сети, так как некоторые элементы могут быть классифицированы без прохождения всех слоев. Потенциально данная модификация может увеличить точность, так как простые элементы будут классифицироваться на
раннем этапе, и последние слои будут концентрироваться на классификации сложных примеров.
Для достижения поставленной цели необходимо решить следующие задачи:
— изучение литературы по глубоким сверточным нейронным сетям;
— изучение существующих методов уменьшения вычислительной сложности сети;
— изучение алгоритмов последовательного принятия решений (SPRT [6], MSPRT [7]);
— изучение алгоритмов машинного обучения WaldBoost [8] и AdaBoost;
— разработка архитектуры нейронной сети, позволяющей принимать решения на раннем этапе;
— реализация разработанной нейронной сети;
— проведение экспериментов, валидация гиперпараметров;
— анализ полученных результатов и сравнение с существующими алгоритмами уменьшения вычислительной сложности сети.
В данной работе была разработана архитектура нейронной сети с динамической глубиной. Преимуществом данной архитектуры является гибкость в использовании:
— нет привязки к архитектуре сверточной нейронной сети;
— обучение слабых классификаторов не требует наличия GPU.
Была реализована и обучена нейронная сеть ResNet-50 для задачи классификации кошек и собак. Были поставлены эксперименты для разработанной архитектуры с различными значениями ошибок первого и второго рода и с различными вариантами регуляризации векторов характеристик. Результаты экспериментов демонстрируют не только повышение скорости работы разработанной архитектуры в сравнении с исходной, но и увеличение точности классификации для задачи классификации кошек и собак.
Были реализованы и обучены нейронные сети ResNet-34, ResNet-101, DenseNet-201, SENet-101 для задачи классификации пола по фотографии человека для наборов данных ImDB-WiKi и Adience. Результаты экспериментов демонстрируют уменьшение вычислительной сложности разработанной архитектуры в сравнении с базовой моделью без потери в точности для бинарной задачи классификации изображений. Было проанализировано влияние различных техник регуляризации на результаты: добавление шума и увеличение разнообразия изображений способствуют уменьшению вычислительной сложности сети.
Были поставлены эксперименты для многоклассовой задачи на наборе данных CIFAR-10. Была реализована и обучена базовая модель ResNet- 110, точность на тестовой выборке составила 94,06%. Были поставлены эксперименты для разработанной модификации архитектуры сети для различных заданных значений допустимых ошибок. Результаты экспериментов демонстрируют уменьшение вычислительной сложности работы сети, при этом потери в точности составляют не более 2%.
1. Krizhevsky, A. ImageNet Classification with Deep Convolutional Neural Networks [Текст] / Alex Krizhevsky, Ilya Sutskever, and Geoffrey E. Hinton // In NIPS, 2012.
2. Набор данных для задачи классификации изображений ImageNet [Электронный ресурс]. URL: http://www.image-net.org (дата обращения 10.03.2019) .
3. Russakovsky, O. Imagenet large scale visual recognition challenge [Текст] / O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, Z. Huang, A. Karpathy, A. Khosla, M. Bernstein, et al. // IJCV.
4. Szegedy, C. Going deeper with convolutions [Текст] / C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, and A. Rabinovich //In CVPR. - 2015.
5. He, K. Deep residual learning for image recognition [Текст] / Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. arXiv preprint arXiv:1512.03385, 2015.
6. Wald, A. Sequential analysis [Текст] // Dover, New York, 1947
7. Baum, C. W. A sequential procedure for multihypothesis testing [Текст] / Baum C. W., Veeravalli V. V. //IEEE Transactions on Information Theory.
- 1994. - Т. 40. - №. 6.
8. Sochman Waldboost-learning for time constrained sequential detection [Текст] / Sochman, Jan, and Jiri Matas // Computer Vision and Pattern Recognition, 2005. CVPR 2005. IEEE Computer Society Conference on. Vol.
2. IEEE, 2005.
9. Hastie, T. Multi-class adaboost [Текст] //Statistics and its Interface. - 2009.
- Т. 2. - №. 3. - С. 349-360.
10. Набор данных для задачи классификации изображений CIFAR-10 [Электронный ресурс]. URL: https://www.cs.toronto.edu/ kriz/cifar.html (дата обращения 04.02.2019).
11. He, K. Identity mappings in deep residual networks [Текст] /Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. // arXiv preprint arXiv:1603.05027, 2016.
12. Belongie, S. Residual Networks Behave Like Ensembles of Relatively Shallow Networks [Текст] / Belongie S., Wilber M., Veit A.
13. Iandola, F. N. SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and< 0.5 MB model size [Электронный ресурс] // arXiv preprint arXiv:1602.07360. - 2016 (дата обращения 15.03.2019)
14. Huang, G. Deep networks with stochastic depth [Текст] / G. Huang, Y. Sun, Z. Liu, D. Sedra, and K. Q. Weinberger //In ECCV. - 2016.
15. Huang, G. Densely connected convolutional networks [Электронный ресурс] //arXiv preprint arXiv:1608.06993. - 2016 (дата обращения
17.03.2019)
16. Zagoruyko, S. Wide residual networks [Электронный ресурс] / S. Zagoruyko and N. Komodakis. arXiv preprint arXiv:1605.07146. - 2016 (дата обращения 19.03.2019)
17. Xie, S. Aggregated residual transformations for deep neural networks [Электронный ресурс] //arXiv preprint arXiv:1611.05431. - 2016.
18. Targ, S. Resnet in Resnet: generalizing residual architectures [Электронный ресурс] / Targ S., Almeida D., Lyman K. //arXiv preprint arXiv:1603.08029. - 2016.
19. Hu, J. Squeeze-and-excitation networks [Текст] / Hu J., Shen L., Sun G. //Proceedings of the IEEE conference on computer vision and pattern recognition. - 2018. - С. 7132-7141.
20. Wu, Z. Blockdrop: Dynamic inference paths in residual networks [Текст] //Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. - 2018. - С. 8817-8826.
21. Wang, Z. SGAD: Soft-Guided Adaptively-Dropped Neural Network [Электронный ресурс] // arXiv preprint arXiv:1807.01430. - 2018 (дата обращения 19.03.2019)
22. Wang, X. Skipnet: Learning dynamic routing in convolutional networks [Текст] // Proceedings of the European Conference on Computer Vision (ECCV). - 2018. - С. 409-424.
23. Veit, A. Convolutional networks with adaptive inference graphs [Текст] / Veit A., Belongie S. //Proceedings of the European Conference on Computer Vision (ECCV). - 2018. - С. 3-18.
24. Shafiee, M. S. Efficient Inference on Deep Neural Networks by Dynamic Representations and Decision Gates [Электронный ресурс] / Shafiee M. S., Shafiee M. J., Wong A. //arXiv preprint arXiv:1811.01476. - 2018 (дата обращения 19.03.2019)
25. Shen, H. Fast video classification via adaptive cascading of deep models [Электронный ресурс] //arXiv preprint. - 2017 (дата обращения
19.03.2019)
26. Huang, C. Learning policies for adaptive tracking with deep feature cascades [Электронный ресурс] / Huang C., Lucey S., Ramanan D. //arXiv preprint arXiv:1708.02973. - 2017 (дата обращения 19.03.2019)
27. Saeed Shafiee, M. Dynamic Representations Toward Efficient Inference on Deep Neural Networks by Decision Gates / Saeed Shafiee M., Javad Shafiee
M., Wong A. //Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops. - 2019. - С. 0-0. (дата обращения
19.03.2019)
28. Berestizshevsky, K. Sacrificing Accuracy for Reduced Computation: Cascaded Inference Based on Softmax Confidence [Электронный ресурс] / Berestizshevsky K., Even G. //arXiv preprint arXiv:1805.10982. - 2018 (дата обращения 19.03.2019)
29. Friedman, J. Additive logistic regression: a statistical view of boosting [Текст] / J. Friedman, T. Hastie, and R. Tibshirani // Technical report, Department of Statistics, Sequoia Hall, Stanford Univerity, July 1998.
30. Bronstein, A. Boosted multi-hypothesis sequential probability ratio test [Текст] // Computer Science Department, Technion, 2009. CS Technion report CIS-2009-19.
31. Huang, F. et al. Learning Deep ResNet Blocks Sequentially using Boosting Theory [Электронный ресурс] //arXiv preprint arXiv:1706.04964. - 2017 (дата обращения 19.03.2019)
32. Набор данных для задачи классификации изображений
Street View House Numbers [Электронный ресурс]. URL:
http://ufldl.stanford.edu/housenumbers/ (дата обращения 05.03.2019)
33. Садчикова, Н.В. Отчет по производственной практике [Текст], 2018. - 10 с.
34. Li, H. A convolutional neural network cascade for face detection [Текст] //Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. - 2015. - С. 5325-5334.
35. Jastrzebski, S. Residual Connections Encourage Iterative Inference [Электронный ресурс] //arXiv preprint arXiv:1710.04773. - 2017 (дата обращения 05.03.2019)
36. Садчикова, Н.В. Курсовая работа «Разработка методов повышения точности нейронной сети ResNet» [Текст], 2018. - 25 с.
37. Садчикова, Н.В. Отчет по производственной практике [Текст], 2019. - 17 с.
38. Liu, W. Ssd: Single shot multibox detector [Текст] //European conference on computer vision. - Springer, Cham, 2016. - С. 21-37.
39. Набор данных кошки/собаки [Электронный ресурс]. URL:
https://www.kaggle.com/c/dogs-vs-cats/data (дата обращения 05.03.2019)
40. Набор данных для определения пола человека по
его фотографии лица [Электронный ресурс]. URL:
https: / / talhassner.github.io/home/projects / Adience/Adience- data.htmlagegender (дата обращения 05.03.2019)
41. Набор данных для определения пола человека по
его фотографии лица [Электронный ресурс]. URL:
https://data.vision.ee.ethz.ch/cvl/rrothe/imdb-wiki/ (дата обращения
05.03.2019)
42. Viola, P. Rapid object detection using a boosted cascade of simple features [Текст] / P. Viola and M. Jones. In Proceedings of IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2001
43. Библиотека для глубокого обучения [Электронный ресурс]. URL: https://pytorch.org (дата обращения 05.03.2019)
44. Sutton, R. Two problems with back propagation and other steepest descent learning procedures for networks [Текст] //Proceedings of the Eighth Annual Conference of the Cognitive Science Society, 1986. - 1986. - С. 823-832.
45. Библиотека для машинного обучения [Электронный ресурс]. URL: https://scikit-learn.org/stable/ (дата обращения 05.03.2019)