NeuroPro

нейронные сети
и анализ данных

Начало
Новости
Услуги
Нейронные сети
Программы
Статьи
Заметки
Ссылки
Вопросы и ответы
Об авторе / контакты
Заметки

Восстановление интереса к нейросетям с большим числом слоев и возможное снижение интереса к SVM

В истории искусственных нейронных сетей имеется занятный факт: значительное число предложенных слоистых нейросетевых архитектур были существенно многослойными - это персептрон Розенблатта (многослойная нейросеть, в противоположность правилу обучения персептрона, применимого к единственному нейрону − линейному разделителю или к выходному нейрону сети-персептрона), это когнитрон и неокогнитрон Фукушимы, это нейросеть-автоассоциатор на базе многослойного персептрона с "узким горлом", сеть, построенная алгоритмом каскадной корреляции, и др. Однако, наиболее широкое распространение получили нейронные сети, обучаемые методом обратного распространения ошибки и названные "многослойными" персептронами (MLP - multilayer perceptron) только из-за того, что алгоритм обучения позволял учить все слои нейросети, чего не было в персептронах Розенблатта. Чаще всего MLP-сети являются трехслойными (снова неверный термин − реально в сети всего 2 слоя нейронов, из которых последний обычно вырожден в слой адаптивных сумматоров) − слоев нейронов в этих "многослойных" сетях меньше, чем слоев в иных указанных нейронных сетях. Т.е. в области теоретического и практического интереса к нейронным сетям доминируют малослойные ("плоские") архитектуры. Указанные исключения (перечисленные более многослойные сети) только подтверждают это правило (думаю, 99% читателей заметки эти сети-"исключения" не использовали).

"Плоскими" являются и машины опорных векторов (SVM - support vector machines) − пересекающийся с нейроинформатикой раздел теории обучения. Доходит до абсурда − несмотря на давнее наличие алгоритмов обучения рекуррентных MLP-сетей возник новый класс рекуррентных сетей (так называемый reservoir computing − см. секцию на конференции ESANN'07) со случайно формируемой рекуррентной частью и обучаемыми линейными выходными нейронами, по аналогии с конструированием нелинейных машин опорных векторов (только с добавлением рекуррентности). Т.е. обучение нейронных сетей опять начали ограничивать выходными нейронами, при случайных наборах весов и случайных топологиях связей на предыдущих слоях (точь в точь, как было у персептрона Розенблатта).

Часто говорят, что при специфической архитектуре сильно многослойной сети (например, при малом числе нейронов в "узком" слое нейросети-автоассоциатора) обучение с использованием алгоритма обратного распространения бывает не очень эффективным. Однако, аргументация в цитируемых по этому поводу работах критики не выдерживает − это просто эмпирические наблюдения, без рецептов по преодолению. И что, существенно многослойные сети не использовать вообще?

Но, возможно, это безобразие может закончиться или существенно уменьшиться. Недавно возникшая критическая масса такова:

1. Работы по сверточным нейронным сетям (convolutional neural networks; обзор первой декады их развития и применения см. в [1]) представляют собой пример эффективного обучения методом обратного распространения ошибки существенно многослойной нейронной сети для задач распознавания изображений, причем обучаются все слои, в отличие от многослойного персептрона Розенблатта или когнитрона/неокогнитрона. Недавно сверточные нейросети были применены и для распознавания снимков трехмерных объектов − с великолепным результатом [2].

2. Для избежания "неэффективности" обучения алгоритмом обратного распространения ошибки предложен алгоритм предварительной послойной квазиоптимальной инициализации сильно многослойной сети, которая затем доучивается методом обратного распространения. Великолепные примеры построения нелинейных главных компонент с помощью сильно многослойных сетей-автоассоциаторов даны в [3].

3. Предыдущий способ обобщен до методов построения сильно многослойных сетей доверия (deep belief nets). Теория изложена в [4,5].

4. Для специальных задач распознавания образов стали появляться симбиозы идей сверточных нейросетей и методов обучения deep belief nets. Пример такой нейронной сети для распознавания-классификации изображения с видеокамеры мобильного автономного робота дан в [6].

5. Самое важное − в [2] дан сравнительный анализ возможностей "плоских" нейроархитектур (и SVM в том числе) по сравнению с возможностями сильно многослойных сетей, и этот анализ не в пользу "плоских" архитектур при условии ориентирования на "тяжелые" задачи, актуальные в будущем (например, те же задачи распознавания изображений при необходимости обеспечения инвариантности распознавания к поворотам, сдвигам, искажениям изображенных на картинке объектов). Может повториться эффект, который произвела книга Минского и Пейперта (она надолго снизила интерес к классическим персептронам Розенблатта) − теперь под удар попадают машины опорных векторов, т.к они по сравнению с нейросетями не масштабируются по числу слоев.

Также важно отметить, если кто-то пропустил появление и развитие сверточных нейронных сетей, что произошел еще один качественный скачок, касающийся способа выделения информативных признаков на изображении. У персептрона Розенблатта выделители признаков были случайными (нейрон первого слоя получал сигналы с нескольких случайно выбранных точек рецептивного поля, и эти сигналы шли по синапсам со случайными весами). В когнитронах и неокогнитронах выделители признаков конструировались уже исходя из теоретических предположений (для возможности выделения линий определенного наклона, концов линий, разрывов линий,..) и оставались необучаемыми. А в сверточных нейронных сетях детекторы признаков обучаются под конкретную задачу наряду со всей остальной сетью стандартным алгоритмом обратного распространения ошибки.

Т.к. Россия практически не участвовала в 15-летней волне интереса к машинам опорных векторов (В.Вапник создавал эту теорию уже на "Западе"), то возникает возможность присоединиться к волне нового интереса к нейронным сетям с большим числом слоев с предложением новых специализированных нейроархитектур и алгоритмов, либо хотя-бы начать применять указанные новые и старые (сверточные нейросети в своих ранних вариантах празднуют 20-летие) методы на практике.

Литература
1. LeCun Y., Bottou L., Bengio Y., Haffner P. Gradient-based learning applied to document recognition / Proc. IEEE, 1998. Vol.86, №11. - pp.2278-2324.
2. Bengio Y., LeCun Y. Scaling learning algorithms towards AI / Large-scale kernel machines (L.Bottou, O.Chapelle, D.DeCoste, J.Weston eds), MIT Press, 2007.
3. Hinton G., Salakhutdinov R. Reducing the dimensionality of data with neural networks / Science, 2006. Vol.313. - pp.504-507.
4. Hinton G., Osindero S., Teh Y. A fast learning algorithm for deep belief nets / Neural Computation, 2006. Vol.18. - pp.1527-1554.
5. Bengio Y., Lamblin P., Popovici D., Larochelle H. Greedy layer-wise training of deep networks / Neural Information Processing Systems 19 (2006). MIT Press, 2007.
6. Hadsell R., Erkan A., Sermanet P., Scoffier M., Muller U., LeCun Y. Deep belief net learning in a long-range vision system for autonomous off-road driving / Proc. Intelligent Robots and Systems (IROS'08).