Свежий номер №20 (445) / Персональный интеллект
 
Дата публикации: 24.05.2002

VAN, volov@uni-scope.com

 
<< Страница 1
Страница 2
Врезки >>

В случае перманентного «натаскивания» на постоянно поступающую и обновляющуюся информацию НС потихоньку «забывает» старые знания, и это немудрено: знание сохраняется в значениях весовых коэффициентов и порогов, а когда они начинают глобально отличаться от старых значений, «забывчивость» резко возрастает. Чтобы НС «помнила» и старое, и новое, необходимо освежать ее «память» как на новых образах, так и на старых. Правда, иногда требуется и короткая память.


НС живет своей маленькой жизнью. Так, одна и та же НС, дважды обученная с нуля (со случайных весовых коэффициентов) на идентичных примерах, никогда не даст на выходе абсолютно одинаковых численных значений! Речь идет не о погрешности вычислений в последнем знаке. Стартуя с разных весовых коэффициентов, НС идет к цели не по одной проторенной дорожке: траектории в многомерном пространстве функции ошибки от весовых коэффициентов не будут одинаковыми, и как только ошибка на выходе станет меньше нужной, обучение завершится, а значения весовых коэффициентов будут каждый раз иными. Как неизбежное следствие, НС будет обладать разной способностью к обобщению - как правило, в пределах ошибки, достигнутой при корректном обучении. Кстати, это свойство (нейросеть как бы слегка «дрожит») помогает отличить «демонстрационную мультяшку» от работоспособной НС, при приобретении нейросетевого программного обеспечения и тестировании его на прилагаемых демонстрационных данных.


Школьный курс за два года?

Разумеется, для практического применения нейросети очень важно минимизировать время обучения. В отличие от человека, получающего базовое образование на протяжении двадцати-тридцати первых лет жизни, НС, очевидно, должна учиться быстрее - но как это сделать? Существует несколько алгоритмов ускорения обучения, в частности Momentum, Rprop, QuickProp, Conjugate Gradient, Levenberg-Marquardt. Самый простой и древний из них - Momentum - использует разницу между значениями весовых коэффициентов, полученных на предыдущей и текущей итерациях. Эта разница умножается на некий дополнительный параметр (меньше единицы), называемый шагом ускорения, который необходимо настраивать под конкретные входные данные. Грубо говоря, таким путем задействуется «микро-предыстория» изменения весовых коэффициентов при очередной самоадаптации. В некоторых случаях momentum ускоряет обучение в десять раз, то есть требуемая ошибка достигается за меньшее число повторов. Однако бездумное применение этого алгоритма может стать причиной стагнации ошибки при обучении и ухудшения обобщательной способности при распознавании.

Впрочем, каждый алгоритм имеет свои достоинства и недостатки. Так, в Levenberg-Marquardt используются вторые производные от функции ошибки по весовым коэффициентам, что приводит не только к росту объема вычислений, но и увеличению задействованной памяти. Этот способ позволяет сократить количество итераций в 10-100 раз, но цена ускорения - непомерный аппетит к вычислительным ресурсам. Так что надо быть предельно осторожным при выборе и применении того или иного алгоритма.

О приобретенных навыках

Обученная нейросеть готова обрабатывать новую информацию, которая не предъявлялась в процессе обучения, при этом она способна интерпретировать и обобщать эту информацию. Способность к обобщению - ключевое преимущество НС. Нейросети обладают замечательным, но, к сожалению, не врожденным свойством: успешно обрабатывать зашумленную, искаженную или частично поврежденную информацию.

Однако в большинстве практических случаев «свобода выбора» должна быть ограничена - хорошая нейросеть, как идеальный солдат, не имеет права на «мудрые» раздумья-сомнения и «глупые» самовольные решения. Негативная сторона излишней самостоятельности НС может дорого обойтись при функционировании в реальном времени, когда любое промедление смерти подобно. А что, если НС начнет упорно твердить «не знаю» или, еще хуже, хулиганить, раз за разом выдавая белое за черное и наоборот? Где гарантии, что лимит времени, отведенный на дообучение в соответствии со строго регламентированными вычислительными ресурсами, не будет исчерпан до завершения процесса? Ведь аналитически исследовать поведение НС (то есть заранее «просчитать» результат ее работы, не запустив нейросеть на выполнение) невозможно в силу нелинейности самой НС. А для ответственных приложений необходимо разработать НС с хорошо прогнозируемым поведением: представьте, что будет, если, к примеру, при поддержке оператора ядерного реактора сеть начнет своевольничать в нештатных ситуациях…

Талантливый тренер - выдающийся результат

Итак, хорошая нейросеть должна быть хорошо обучена. Но учить кого бы то ни было, а уж НС тем более, дело непростое… Если ваша нейросеть упорно хандрит при работе, а доброжелатели-консультанты безапелляционно заявляют: «да она у вас переобучена» (что тоже бывает!), значит, пора вам избавляться от иллюзий. Математический аппарат нейросетей, ставших традиционными (MLP, Kohonen, LVQ, RBF и др.), не так сложен 3. Программирование не требует профессиональных изощрений: на каждом шагу - умножение вектора на матрицу с накоплением суммы. Сложность представляет не программирование НС, а алгоритм обучения в комплексе, включая подготовку обучающего набора, предварительную обработку информации и, при необходимости, ее сжатие с учетом характерных черт. Так что учтите, что программирование любой НС - только верхушка айсберга, главное же - как нейросеть применить, полностью раскрыв ее потенциал. Поэтому, прежде чем браться за внедрение, нужно четко представлять, что и как подавать на вход НС, что предъявлять на выходе при обучении для конкретной задачи, а так же, как связать выход НС с реальным физическим «миром». Если ваша цель - реальная разработка для промышленного применения, а не для «галочки» в отчетах, лучше прибегнуть к помощи тех, кто «собаку съел» на нейросетях, поскольку без талантливого тренера нынешние НС имеют немного шансов победить «классических» соперников.

А есть ли свет в конце тоннеля?

Многие считают, что этап исследований в области нейросетей слишком затянулся, и пророчат его бесславный конец. Козырной картой в их раскладах служит необходимость привлечения опытного «тренера» для успешного завершения любого серьезного нейросетевого проекта. Что же касается исследований в области нейрокомпьютинга в целом, то их длительность вполне оправданна: слишком уж много тайн хранит мозг даже простейших биологических организмов. Пробелы в теории вынуждают идти путем многочисленных экспериментов вкупе с математическим моделированием, построенным на интуитивных догадках.

По мере исследований поведения НС приходится сталкиваться с огромным количеством нюансов, не предвиденных теорией. Тем не менее, за прошедшие годы удалось найти способы улучшения обучения нейросетей, начать разработку «продвинутых» нейросетевых архитектур и внедрить хорошо изученные НС.

Да, следует признать, что самонастройка НС еще далека от совершенства: например, использование нечеткой логики для оптимизации параметров НС требует оптимизации параметров самой нечеткой логики. Аналогична по сути, но более оптимистична по первым результатам ситуация и с генетическими алгоритмами. Вместе с тем, если следовать по пути аналогий с биологическими нейронными сетями, было бы опрометчивым упустить из виду тот факт, что индивидуальный опыт вносит серьезные уточнения в развитие нервной системы, запланированное генетически. Например, в течение первых двух лет жизни человека происходит рост нейронов, увеличение синаптических связей между ними и специализация групп нейронов, причем без заметного увеличения их общего числа. Таким образом, есть все основания полагать, что НС нового поколения будут иметь топологию, самоорганизующуюся в процессе обучения, при этом для конкретного класса задач изначальная архитектура НС будет специализирована. Сама по себе идея самоорганизации архитектуры НС не нова: попытки заставить MLP «самоподнастраиваться» путем изменения числа нейронов в спрятанном слое предпринимались давно. Однако всему свое время. Именно сейчас объем исследований переходит в качество результатов, и именно сейчас внедрение НС разворачивается широким фронтом. Признаки невидимости этого фронта еще не есть доказательства его отсутствия.


Автор глубоко признателен всем коллегам, чье мнение прямо или косвенно повлияло на изложение материала в рамках данной статьи. Дружеское спасибо профессору Эндрю Грибоку (Andrew Gribok) из Университета Теннесси, длительные дискуссии с которым позволили избежать излишней доли субъективности.


3 (обратно к тексту) - Подробнее см.:
  • Лоскутов А. Ю., Михайлов А. С. «Введение в синергетику». - М.: Наука, Физматлит, 1990;
  • www.basegroup.ru/tech/neural.shtml;
  • Вороновский Г.К. и др. «Генетические алгоритмы, искусственные нейронные сети и проблемы виртуальной реальности». - Харьков: Основа, 1997.


 
<< Страница 1
Страница 2
Врезки >>


VAN
volov@uni-scope.com
 


<< Нейросимуляция
Все материалы номера
Бубль гум >>