1 Введение 2
2 Постановка задачи 3
3 Обзор литературы 4
4 Глава 1. Теоретические сведения о нейронных сетях 5
4.1 Нейронные сети прямого распространения 5
4.2 Обучение нейронных сетей прямого распространения 9
4.3 Трудности обучения нейронных сетей 13
4.4 Сверточные сети 15
4.5 Перенос обучения 21
4.6 Distance Metric Learning 22
5 Глава 2. Подход к решению задачи 23
5.1 Анализ данных 23
5.2 Алгоритм решения задачи 24
5.3 Архитектура нейронных сетей 26
6 Глава 3. Реализация и результаты 29
6.1 Подготовка данных 29
6.2 Обучение моделей 32
6.3 Результаты 38
6.4 Оценка быстродействия 41
7 Выводы 42
8 Заключение 43
Список литературы 44
В последнее десятилетие, в связи с ростом вычислительной мощности и количества доступных данных, большой подъём испытывает область машинного обучения - глубокое обучение. В этой области произошли значительные успехи в способности компьютеров понимать данные всевозможных форматов: изображения, речь, языки и так далее.
Алгоритмы машинного обучения, и глубокое обучение в частности, отличаются от других видов компьютерного программирования тем, что они преобразуют входные данные в выходные с помощью статистических правил, которые автоматически выводятся из большого набора примеров, а не задаются явно людьми. Исторически сложилось так, что для построения системы машинного обучения требовались знания предметной области, чтобы спроектировать функции, преобразовывающие необработанные данные в подходящие представления, из которых алгоритм обучения мог бы определять некоторые паттерны. Модели глубокого обучения, напротив, способны сами из необработанных данных выделять признаки, предназначенные для распознавания паттернов.
Модели глубокого изучения масштабируются до больших наборов данных, отчасти благодаря их способности работать на специализированном компьютерном оборудовании, и продолжают совершенствоваться с увеличением объема данных, позволяя им превосходить многие классические подходы машинного обучения. Наиболее распространенные модели обучаются с использованием обучения с учителем, в котором наборы данных состоят из точек входных данных (например, изображений собак) и соответствующих меток выходных данных (например, порода этой собаки).
Актуальность темы исследования обуславливается тем, что в настоящее время производится огромное количество данных, которые человек не может обработать самостоятельно, и методы интеллектуального анализа данных являются подходящим инструментом для решения этой проблемы.
В данной работе был собран, проанализирован и частично размечен набор данных, содержащий изображения автомобилей. На нём были обучены нейронные сети для решения задач классификации, детектирования, сегментации и верификации. На основе этим сетей были предложены способы предобработки изображений. С помощью тестового набора данных была проанализирована работа всех предложенных подходов и выбран лучший из них.
Отталкиваясь от полученных результатов, можно сказать, что нейронные сети способны в достаточной мере решать поставленную задачу на имеющемся наборе данных. Из-за ограничений производительности, ограничивающих выбор архитектуры сети, предложенный подход не смог показать максимально возможное качество работы, однако имеющийся результат, тем не менее, можно считать успешным.
[1] https://www.kaggle.com/c/carvana-image-masking-challenge/data.
[2] 3d object representations for fine-grained categorization / Jonathan Krause, Michael Stark, Jia Deng, Li Fei-Fei // 4th International IEEE Workshop on 3D Representation and Recognition (3dRR-13). — Sydney, Australia, 2013.
[3] Automatic differentiation in pytorch / Adam Paszke, Sam Gross, Soumith Chintala et al. // NIPS-W. — 2017.
[4] Bag of tricks and A strong baseline for deep person re-identification / Hao Luo, Youzhi Gu, Xingyu Liao et al. // CoRR. — 2019. — Vol. abs/1903.07071. — http://arxiv.org/abs/1903.07071.
[5] Berman, M. Optimization of the jaccard index for image segmentation with the lovasz hinge / Maxim Berman, Matthew B. Blaschko // CoRR.— 2017. —Vol. abs/1705.08790. — http://arxiv.org/abs/1705.08790.
[6] Bradski, G. The OpenCV Library / G. Bradski // Dr. Dobb’s Journal of Software Tools. — 2000.
[7] Cosface: Large margin cosine loss for deep face recognition / Hao Wang, Yi- tong Wang, Zheng Zhou et al. // CoRR. — 2018. — Vol. abs/1801.09414. — http://arxiv.org/abs/1801.09414.
[8] Deep residual learning for image recognition / Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun // CoRR. — 2015. — Vol. abs/1512.03385.— http://arxiv.org/abs/1512.03385.
[9] Delving deep into rectifiers: Surpassing human-level performance on imagenet classification / Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun // CoRR. — 2015. — Vol. abs/1502.01852. — http://arxiv. org/abs/1502.01852.
[10] Devries, T. Improved regularization of convolutional neural networks with cutout / Terrance Devries, Graham W. Taylor // CoRR. — 2017. — Vol. abs/1708.04552. — http://arxiv.org/abs/1708.04552.
[11] Glorot, X. Understanding the difficulty of training deep feedforward neural networks / Xavier Glorot, Yoshua Bengio // Proceedings of the Thirteenth International Conference on Artificial Intelligence and Statistics / Ed. by Yee Whye Teh, Mike Titterington. — Vol. 9 of Proceedings of Machine Learning Research. — Chia Laguna Resort, Sardinia, Italy: PMLR, 2010. — 13-15 May. — P. 249-256.— http://proceedings.mlr.press/ v9/glorot10a.html.
[12] Goodfellow, I. Deep Learning / Ian Goodfellow, Yoshua Bengio, Aaron Courville. — MIT Press, 2016.— http://www.deeplearningbook. org.
[13] Gradient-based learning applied to document recognition / Y. Lecun, L. Bottou, Y. Bengio, P. Haffner // Proceedings of the IEEE. — 1998. — Nov. —Vol. 86, no. 11. —P. 2278-2324.
[14] Hermans, A. In defense of the triplet loss for person re-identification / Alexander Hermans, Lucas Beyer, Bastian Leibe // CoRR. — 2017. — Vol. abs/1703.07737. — http://arxiv.org/abs/1703.07737.
[15] Hoffer, E. Deep metric learning using triplet network / Elad Hoffer, Nir Ailon // Similarity-Based Pattern Recognition / Ed. by Aasa Feragen, Marcello Pelillo, Marco Loog. — Cham: Springer International Publishing, 2015. —P. 84-92.
...