В настоящее время искусственные нейронные сети представляют собой бурно развивающееся направление с большими возможностями в области практического применения. Искусственные нейронные сети уже сейчас активно используются для решения таких задач как классификация и кластеризация данных, прогнозирование, аппроксимация, сжатие и архивация информации, распознавание образов и другие ([1]). Решение последней задачи, а точнее распознавание изображений, требуется во многих практических областях, например, в некоторых сферах военной деятельности, в криминалистке, робототехнике, работе органов правопорядка и других. Один из наиболее известных и востребованных для практического применения видов оптического распознавания - это распознавание зашумленных или рукописных символов (цифр и букв). Для решения подобной задачи могут быть использованы искусственные нейронные сети Хопфилда, Хемминга, сети адаптивной резонансной теории, сети двунаправленной ассоциативной памяти, многослойный персептрон, когнитрон и неокогнитрон и некоторые другие ([2]).
Несмотря на существование большого числа различных алгоритмов решающих указанную задачу, на данный момент не создано эффективного программного продукта для распознавания рукописных и зашумленных текстов, подходящего для массового использования. Именно поэтому разработка новых эффективных и быстродействующих алгоритмов оптического распознавания изображений, в частности, основанных на применении искусственных нейронных сетей, до сих пор признана актуальной.
Ранее считалось, что для решения этой проблемы эффективными являются сети теории адаптивного резонанса ([2]). Отличительной особенностью нейронных сетей указанного типа является свойство стабильности-пластичности памяти. То есть сеть АРТ может как запоминать новые образы (то есть реализовывать свойство пластичности), так и сохранять некоторую неизменность уже хранящихся в памяти образов (то есть обеспечивать стабильность). Сеть АРТ сравнивает входной сигнал с ранее запомненными образами и определяет, насколько существенны различия между ними. Исходя из проведенного сравнения сеть либо модернизирует хранящийся в памяти образ, либо создает новый образ на основе входного сигала. Однако, несмотря свойство стабильности-пластичности, а также на определенный уровень биоподобия памяти, сеть АРТ-1 в силу своей архитектуры имеет ряд трудноустранимых недостатков: эффект затирания памяти, недостаточная устойчивость к искажениям и сдвигам и большое количество параметров.
Одними из самых востребованных разработок в области компьютерного зрения в последние годы стали сверточные нейронные сети. Начиная с 2012 года, когда конкурс ImageNet (ежегодная международная Олимпиада компьютерного зрения) выиграл Алекс Крижевский с модификацией сверточной нейронной сети, победителями этого конкурса вплоть до этого года являются сети, построенные на базе сверточных. Стоит отметить, что благодаря новому подходу к архитектуре сети показатель ошибки классификации был снижен с 26% до 15% в 2012, в первое появление подобной сети. В 2017 году результат сети победителя составляет 0.23%[3]. В настоящий момент множество компаний используют технологию глубокого обучения в качестве одной из фундаментальных составляющих своих услуг. Так, к примеру, Facebook использует нейронные сети для своих алгоритмов автоматической маркировки, Google для поиска фотографий, Amazon для рекомендаций своих продуктов и Instagram для организации поисковой инфраструктуры.
Постановка задачи.
В рамках магистерской диссертации поставлены следующие задачи:
1) Спроектировать и реализовать в программном коде классическую сверточную нейронную сеть.
2) Реализовать модификацию сверточной нейронной сети с использованием теории адаптивного резонанса.
3) Для написанных программ провести тестирование на задаче оптического распознавания изображений, в качестве основы использовать базу MNIST[4] и проанализировать полученные результаты.
В рамках магистерской диссертации были решены следующие задачи:
1) На основе изученных алгоритмов спроектирована и реализована в программном коде на языке С++ классическая сверточная нейронная сеть.
2) Реализована модификация с использованием теории адаптивного резонанса, в которой увеличена скорость дообучения сети.
3) Для написанных программ проведено тестирование на задаче оптического распознавания рукописных цифр, в качестве основы использована база MNIST и приведены выводы из сравнительного эксперимента.
1) Хайкин С. Нейронные сети. Полный курс. М.: Издательский дом Вильямс, 2006. 1104 с.
2) Уоссерман Ф. Нейрокомпьютерная техника. М.: Мир, 1992. 184 с.
3) http://image-net.org/ проект ImageNet
4) http://yann.lecun.com/exdb/mnist/ База данных MNIST
5) «Backpropagation Applied to Handwritten Zip Code Recognition» http://yann.lecun.org/exdb/publis/pdf/lecun-89e.pdf
6) "Gradient-Based Learning Applied to Document Recognition" http://yann.lecun.com/exdb/publis/pdf/lecun-01a.pdf
7) "Best Practices for Convolutional Neural Networks Applied to Visual Document Analysis" https://www.microsoft.com/en-us/research/publication/best-practices-for-convolutional-neural-networks-applied-to-visual-document-analysis/
8) "Efficient BackProp" http://yann.lecun.com/exdb/publis/pdf/lecun-98b.pdf
9) “CS231n: Convolutional Neural Networks for Visual Recognition” http://cs231n.github.io/
10) “Multi-Scale Context Aggregation by Dilated Convolutions” https://arxiv.org/abs/1511.07122
11) “Striving for Simplicity: The All Convolutional Net” https://arxiv.org/abs/1412.6806
12) Проект CIFAR-10 https://www.cs.toronto.edu/~kriz/cifar.html
13) Проект STL-10 https://cs.stanford.edu/~acoates/stl10/
14) Сеть ImageNet http://www.cv-foundation.org/openaccess/content_cvpr_2015/papers/Szegedy_Going_Deeper_With_2015_CVPR_paper.pdf
15) Сеть LeNet http://deeplearning.net/tutorial/lenet.html
16) Cеть АРТ-1 http://life-prog.ru/view_neyrocomputer.php
17) Выпускная квалификационная работа бакалавра Колмакова М.С. «Применение рекуррентных нейронных сетей в задаче оптического распознавания образов», 2015
18) Gail A. Carpenter and Stephen Grossberg. Adaptive Resonance Theory. Massachusetts: MIT Press, Сентябрь, 1998
19) “Adaptive Resonance Theory 1 (ART1) Neural Network Based Horizontal and Vertical Classification of 0-9 Digits Recognition“ https://pdfs.semanticscholar.org/a5a2/6deda6ddc507ffdf35a67472039897ce0d91.pdf