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-летие) методы на практике. Литература |