Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сборник методов нейроинформатики.DOC
Скачиваний:
98
Добавлен:
10.12.2013
Размер:
3.85 Mб
Скачать

3. Запись решения в идеологии нейросетей

Как уже было сказано, выше, ряд вида может быть представлен как нейронная сеть, имеющая структуру, показанную на рис.1.

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

Процесс обучения всей сети сводится этим ее разбиением к ряду последовательных процессов обучения структур вида, представленного на рис. 2.

Здесь x1 - xN - входные сигналы сети,Wij(1)- синапсы первого слоя отi-го входа кj-му сумматору первого слоя,Wj1(2)- синапсы второго слоя отj-го преобразователя к выходному сумматору,fj - j-й преобразователь, символом обозначаются тривиальные сумматоры.

Далее в тексте такая структура будет именоваться «потоком сети» или просто «потоком».

Вычисление производных H (функции ошибки) для сети, представляющего собой один «поток», можно вести на основе аппарата двойственных функций и алгоритма обратного распространения ошибки. Схема прохождения сигналов при обратном функционировании показана на рис. 3.

Здесь - двойственный сигнал от функции оценки, передаваемый без изменения через тривиальный сумматор второго слоя,- двойственный сигнал от соответствующего синапса второго слоя,- двойственный сигнал от преобразователяj-го «потока», передающийся сумматору для раздачи на синапсы,- двойственные сигналы соответствующих синапсов первого слоя.

4. Алгоритмическая часть

Обучение сети, состоящей из «потоков» производится в соответствии с алгоритмом, представленным на рис. 4.

Здесь H - значение оценки сети, накопленное по всему задачнику,- константа малости ошибки.

Для обучения каждого из потоков используется алгоритм, показанный на рис.5. Здесь Nф- общее число функций, по которому идет обучение,o - карта параметров сети,h0 - шаг оптимизации в начале цикла,s - градиент функции оценкиH по обучаемым параметрам.

Используемое в алгоритме условие остановки формируется из двух подусловий, скомбинированных через «или»:

  • Число шагов оптимизации, во время которых превысило заранее заданную величину (при обучении использовалось значениеNsh=15), то есть сеть в данной конфигурации уже не может улучшить оценку;

  • Достигнуто заданное значение функции оценки , то есть сеть уже обучена.

При обучении одного потока используются процедуры подбора шага оптимизации - Increase (поиск шага в сторону возрастания, блок-схему см. на рис. 6),Decrease (поиск шага в сторону убывания, блок-схему см. на рис. 7) иParabola (поиск оптимального шага по формулам параболического поиска блок-схему см. на рис. 8).

В процедурах используются следующие обозначения:

H(...) - функция оценки сети, накопленная по всему задачнику;

h1, h2, h3 - различные значения величины шага оптимизации, используемые при ее подборе;

W - величина шага в вершину параболы, проходящей через точки (h1, H1), (h2, H2), (h3, H3). Вычисляется по формуле:

H1, H2, H3 - значения функции ошибки, соответствующие смещению обучаемых параметров по направлению градиента на величину шагаh1, h2 и h3.

Условие выпуклости комбинации h1,2,3, H1,2,3 определяется формулой

Если выражение истинно, то условие выпуклости выполнено.

Теперь, рассмотрев алгоритмы обучения сети, перейдем к описанию компонентов, структуры и функционирования сети.