ГЛУБИННОЕ ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ И

advertisement
Deep Learning Neural Networks and State-of-the-Art Results
Pil'gun V. (Ukraine)
Глубинное обучение нейронных сетей и достижения в их применении
Пильгун В. М. (Украина)
Pil'gun V. (Ukraine) Deep Learning Neural Networks and State-of-the-Art Results / Пильгун В. М. (Украина) Глубинное обучение нейронных сетей и достижения в их применении
Пильгун Валерий Михайлович / Pil'gun Valerij – студент,
кафедра автоматизированных систем обработки информации и управления, факультет информатики и
вычислительной техники,
Национальный технический университет Украины
«Киевский политехнический институт», г. Киев, Украина
Аннотация: в статье рассмотрены основные понятия глубинного обучения искусственных нейронных
сетей и представлены основные достижения в этой области.
Abstract: the article describes the basic concepts of the deep learning neural networks and presents state-of-the-art
results in this area.
Ключевые слова: глубинное обучение, нейронные сети, искусственный интеллект, распознавание речи,
распознавание изображений.
Keywords: deep learning, neural networks, artificial intelligence, speech recognition, image recognition.
Нейронные сети
Одним из самых эффективных методов распознавания речи, анализа изображений и адаптивного
управления является использование искусственных нейронных сетей, построенных по принципу
функционирования биологических нейронных сетей.
Нейронные сети состоят из большого количества нейронов. Каждый нейрон содержит несколько входов
и один выход. Как правило, глубинные нейронные сети состоят из нескольких шаров, что обусловливает
иерархическую особенность обучения.
Выход нейрона i на уровне l называется активацией и определяется функцией от его входов:
ai (l )  F ((  wij (l  1, l ) * a j (l  1))  bi )
(1)
j 1..k
где wij – вес, ассоциированный с соединением между нейронами
i и j , а bi – член сдвига,
ассоциированный с нейроном i . Вес соединений и члены сдвигов составляют параметры сети, которые
необходимо обучать для достижения поставленной цели. Функция активации F является нелинейной
функцией, как правило, сигмоидальный или гиперболический тангенс. Последний уровень нейронной сети,
исполняющий мультиклассовую классификацию, часто реализует softmax-функцию. Эта функция
преобразовывает n-мерный вектор произвольных реальных значений в n-мерный вектор значений от 0 до 1.
Глубинное обучение нейронных сетей
Нейронные сети, как правило, тренируются методом обратного распространения, используя метод
градиентного спуска. Стохастический метод градиентного спуска часто используется для масштабируемой
тренировки, поскольку требует меньше кросс-машинного соединения. В стохастическом методе
градиентного спуска входные данные обрабатываются в произвольном порядке. Для каждого входа
выполняются следующие шаги для обновления соединений модели:
1. Рекуррентное вычисление. Вычисляется активация каждого нейрона по формуле (1).
2. Обратное распространение. Вычисляются ошибки для каждого нейрона i на уровне l n :
 i (l n )  (t i (l n )  ai (l n ))  F ' (ai (l ))
(2)
где t (x) – реальное значение входа, F ' ( x) – производная F (x) . Эти ошибки затем распространяются
на каждый нейрон i на уровне l , соединенный с m нейронами на уровне l  1 :
 i (l )  (   (l  1)  w ji (l , l  1))  F ' (ai (l ))
(3)
j 1..m
3. Обновление веса соединений. Ошибки используются для обновления веса соединений (и сдвига
аналогично):
wij (l  1, l )    bi (l )  a j (l  1) , j  1...k
(4)
где  – параметр скорости обучения.
Этот процесс повторяется, пока не будет обработана вся база данных. В конце итерации обучения
определяется ошибка модели. Часто проводится такое количество итераций, пока не будет достигнуто
некоторое необходимое значение ошибки. Натренированная модель потом проверяется на тестовых данных.
Распределенное глубинное обучение
Недавно была описана большая масштабируемая система, состоящая из десятков тысяч CPU ядер для
обучения больших глубинных нейронных сетей [1]. Архитектура этой системы изображена на рисунку 1,
она обеспечивает параллелизм как модели, так и данных.
Рис. 1. Архитектура распределенной системы обучения
Большие модели распределены на несколько машин, обеспечивая распределенное вычисление для модели.
Большие модели требуют большого количества данных, поэтому разрешается использование одной модели для
обучения на разных данных. Каждая модель дает комплект параметров, который хранится в глобальном
хранилище параметров. Для быстродействия каждый параметр модели обрабатывается отдельно, и обмен с
хранилищем паромеров происходит асинхронно. Все это дает возможность получить рекордную точность
распознавания данных нейронной сетью.
Достигнутые результаты
В 2006 году Джефри Хинтон опубликовал свою работу о глубинных сетях доверия (Deep Belief Network),
положив этим начало глубинному обучению [2]. Следующие несколько лет показали значительное увеличение
количества публикаций, описывающих реализацию глубинного обучения. Много исследователей, использующие
этот подход, больше интересовались не моделированием человеческого мозга, а реализацией таких сложных
задач, как распознавание изображений, речи, движений у видео. По многим показателям алгоритмы глубинного
обучения уже показали впечатляющие результаты, обойдя другие методы.
На протяжении многих лет в технологии распознавания речи доминировали разные варианты методов модели
смеси нормальных распределений. С 2009, после проведения многих исследований в этой сфере, значительно
большую популярность обретает глубинное обучение [3]. Недавние исследования показали заметно низкую
частоту ошибок при распознавании речи при использовании масштабируемых глубинных нейронных сетей.
Глубинное обучение нейронных сетей показало неплохие результаты в сфере распознавания речи. Метод DNN
(глубинная нейронная сеть) показал результат с ошибкой 13.4 %, для сравнения, в то же время разные варианты
смеси нормальных распределений имеют ошибку от 23.9 % до 14.8 %.
Потенциал глубинных нейронных сетей в сфере распознавания изображений показывает система под
названием «Project Adam», которая была представлена в 2014 году на Microsoft Research Faculty Summit. Данная
система являет собою облачную систему искусственного интеллекта, способную самостоятельно обучаться,
предназначенную для распознавания объектов на изображениях.
В качестве самообучения «Project Adam» произвел анализ 14 млн. изображений с таких сервисов, как Flickr,
разбитых пользователями на 22 тыс. категорий [4]. Эта система уже содержит 2 млрд. соединений и может
масштабироваться до любого уровня сложности. Система «Adam» показала впечатляющие результаты в
сравнении с уже существующими системами, вдвое большую точность и в 50 раз большую скорость [4].
Литература
1. Dean J. Large Scale Distributed Deep Networks. In Advances in Neural Information Processing Systems. / Dean J.,
Corrado G., Monga R., Chen K., Devin M., Mao M., Ranzato M., Senior A., Tucker P., Yang K., Le Q. and Ng A. NIPS 2012.
2. Laserson J. XRDS // From Neural Networks to Deep Learning: Zeroing in on the Human Brain. 2011. - vol. 18, № 1.
3. Li Deng. Recent Advanced in Deep Learning for Speech Research at Microsoft / Jinyu Li, Jui-Ting Huang, Kaisheng
Yao, Dong Yu, Frank Seide, Michael L. Seltzer, Geoff Zweig, Xiaodong He, Jason Williams, Yifan Gong and Alex
Acero: Материалы конф. ICASSP - 2013, Redmond, 2013.
4. Microsoft Research shows off advanced in artificial intelligence with Project Adam: [Электронный ресурс] // Next at
Microsoft – Режим доступа: http://blogs.microsoft.com/next/2014/07/14/microsoft-research-shows-advancesartificial-intelligence-project-adam (Дата публикации: 14.07.2014).
Download