Главная > Нейронные сети для обработки информации
НАПИШУ ВСЁ ЧТО ЗАДАЛИ
СЕКРЕТНЫЙ БОТ В ТЕЛЕГЕ
<< Предыдущий параграф Следующий параграф >>
Пред.
След.
Макеты страниц

Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO

Раздел 6. СПЕЦИАЛИЗИРОВАННЫЕ СТРУКТУРЫ НЕЙРОННЫХ СЕТЕЙ

6.1. Сеть каскадной корреляции Фальмана

Сеть каскадной корреляции Фальмана - это специализированная многослойная нейронная конструкция, в которой подбор структуры сети происходит параллельно с ее обучением путем добавления на каждом этапе обучения одного скрытого нейрона. Таким образом, определение структуры сети и реализацию алгоритма ее обучения можно трактовать как выполнение процедуры подбора оптимальной архитектуры искусственной нейронной сети.

Архитектура сети каскадной корреляции представляет собой объединение нейронов взвешенными связями в виде развивающегося каскада (рис. 6.1). Каждый очередной добавляемый нейрон подключается к входным узлам и ко всем уже существующим скрытым нейронам. Выходы всех скрытых нейронов и входные узлы сети напрямую подключаются также и к выходным нейронам.

Рис. 6.1. Структура сети каскадной корреляции Фальмана

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

Процесс обучения сети начинается до ввода в нее скрытых нейронов. Непосредственные соединения входов и выходов тренируются таким образом, чтобы минимизировать значение целевой функции. Для этого могут применяться любые методы обучения. В оригинальной работе Фальмана [34] использовался алгоритм quickprop, характеризующийся быстрой сходимостью к точке решения.

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

Формирование скрытого нейрона начинается с подключения его в качестве кандидата. Он представляет собой обособленный элемент, соединяемый со всеми входами сети и с выходами ранее введенных скрытых нейронов. Веса связей нейрона-кандидата подвергаются обучению, но его выходной сигнал на этом этапе никуда не подается. В таком состоянии вновь вводимый нейрон обучается с использованием множества обучающих выборок. Цель обучения состоит в таком подборе весов, при котором максимизируется корреляция между его активностью, определяемой выходным сигналом, и значением погрешности на выходе сети. Эта зависимость определяется коэффициентом корреляции в виде

где — количество обдающих выборок, количество выходных нейронов, выходной сигнал нейрона-кандидата при обучающей выборке, - значение погрешности выходного нейрона для обучающей выборки, обозначены средние значения соответственно и рассчитанные по всему множеству обучающих выборок.

Для максимизации значения функции следует определить ее производную относительно весов всех входных связей нейрона-кандидата. На основе дивила разложения составной функции и с учетом физической интерпретации отдельных ее компонентов, по аналогии с методом обратного размножения•случаем

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

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

этапах обучения уже невозможно будет откорректировать. Стандартное количество одновременно обучаемых нейронов-кандидатов, рекомендуемое авторами метода, составляет от 5 до 10.

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

Алгоритм каскадной корреляции был реализован авторами на языке С и известен под названием Cascor [34]. После некоторых изменений, упростивших его применение, этот алгоритм был откомпилирован в Институте теоретической электротехники и электроизмерений Варшавского политехнического университета с использованием компилятора Watcom. В ходе всесторонних исследований он продемонстрировал прекрасные качества как средство обучения и построения сети.

В качестве численного примера рассмотрим аппроксимацию функции двух переменных, заданную выражением

для значений

Рис. 6.2. Пример заданной трехмерной функции, преобразуемой сетью каскадной корреляции

На рис. 6.2 представлен график аппроксимируемой функции. В качестве эбучающих данных использовалось 500 значений этой функции, равномерно распределенных по всему диапазону. В качестве тестирующих данных были сгенерированы 1000 значений функции в других точках того же диапазона. Сеть обучалась исходя из условия, что значение целевой функции должно быть меньше 0,01. Кривая обучения сети (график изменения погрешности обучения в зависимости от номера итерации) представлена на рис. 6.3.

Рис. 6.3. (см. скан) График кривой обучения сети каскадной корреляции на примере преобразования трехмерной функции

Ожидаемое значение погрешности обучения было получено на выходе сети при введении в ее структуру скрытого нейрона. Результаты тестирования подтвердили хорошие обобщающие способности сети. График функции, восстановленной по результатам тестирования, приведен на рис. 6.4а, а график погрешности восстановления структуры поверхности - на рис. 6.46.

1
Оглавление
email@scask.ru