Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТПР. Всё в 1 файле / Нейрокомпьютеры.pdf
Скачиваний:
201
Добавлен:
15.09.2014
Размер:
2.15 Mб
Скачать

Задача обучения нейронной сети, отличие от задачи обучения нейрона. Проблемы. Примеры алгоритмов и методов обучения.

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

Требуемая функция однозначно описывается путем задания соответствия каждому вектору пространства X некоторого вектора из пространства Y. Однако в таких случаях, как например, при работе с видеоизображением, вектора X могут иметь высокую размерность, поэтому даже в случае булевых векторов однозначное определение функции становится весьма громоздким. Во многих практических случаях значения требуемых функций для заданных значений аргумента получаются из эксперимента или наблюдений, и, следовательно, известны лишь для ограниченной совокупности векторов. Кроме того, известные значения функции могут содержать погрешности, а отдельные данные могут даже частично противоречить друг другу. По этим причинам перед нейронной сетью обычно ставится задача приближенного представления функции по имеющимся примерам. Имеющиеся в распоряжении исследователя примеры соответствий между векторами, либо специально отобранные из всех примеров наиболее представительные данные называют обучающей выборкой. Обучающая выборка определяется обычно заданием пар векторов, причем в каждой паре один вектор соответствует стимулу, а второй – требуемой реакции. Обучение нейронной сети состоит в приведении всех векторов стимулов из обучающей выборки требуемым реакциям путем выбора весовых коэффициентов нейронов.

Пусть имеется нейронная сеть, выполняющая преобразование F:X→Y векторов X из пространства входов X в вектора Y выходного пространства Y. Сеть находится в состоянии W из пространства состояний W. Пусть далее имеется обучающая выборка (Xα,Yα), α = 1..p. Рассмотрим полную ошибку E, делаемую сетью в состоянии W.

(7)

Ошибка E=E(W) принимает неотрицательные значения. В некотором обученном состоянии W*, в котором сеть не делает ошибок на обучающей выборке, данная функция принимает нулевое значение. На практике могут использоваться нейронные сети в состояниях с некоторым малым значением ошибки, не являющихся в точности минимумами функции ошибки.

Возникает вопрос – можно ли для обучения многослойной сети применить уже известное -правило? Ответ состоит в том, что для применения -правила необходимо знать не только текущие входы нейронов X, но и требуемые правильные значения Y. В случае многослойной сети эти правильные значения

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

Имеется два класса обучающих методов: детерминистский и стохастический. Детерминистский метод обучения шаг за шагом осуществляет процедуру коррекции весов сети, основанную на использовании их текущих значений, а

также величин входов, фактических выходов и желаемых выходов.

Для обучения этим методом может быть использована следующая процедура:

1.Выбрать очередную пару входов и ожидаемых выходов; подать входной вектор на вход сети.

2.Вычислить выход сети.

3.Вычислить разность между полученным выходом сети и ожидаемым выходом.

4.Подкорректировать веса сети так, чтобы минимизировать ошибку.

5.Повторять шаги с 1 по 4 для каждой пары обучающих входов и ожидаемых выходов до тех пор, пока ошибка на всем множестве не достигнет приемлемого уровня.

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

1.Выбрать вес случайным образом и подкорректировать его на небольшое случайное число. Предъявить множество входов и вычислить получающиеся выходы.

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

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

4.Повторять шаги с 1 до 3 до тех пор, пока сеть не будет обучена в достаточной степени.

Структура альфа-персептрона. Задача, решаемая альфа-персептроном. Гамма-персептрон, различия. Задачи, решаемые персептронами без обратных и перекрёстных связей.

Персептроны – нейросетевые моделей, исследованные Ф. Розенблаттом в качестве значительно упрощённых моделей фрагментов мозга. Они были одними из первых искусственных сетей, способных к перцепции (восприятию) и

формированию реакции на воспринятый стимул. По Розенблатту персептроны – это сети составленные из S-, A- и R-элементов:

Рис. 9. Элементарный персептрон Розенблатта.

S-элементы формируют сетчатку сенсорных клеток, принимающих двоичные сигналы от внешнего мира. Сенсорный (S-элемент) способен выдавать сигнал 1 либо 0. Далее сигналы поступают в слой ассоциативных или A-элементов (для упрощения изображения часть связей от входных S-клеток к A-клеткам не показана). Ассоциативный элемент – обычный нейрон модели МакКаллока-Питса (L(X) = (X,W)) с бинарно-пороговой функцией активации. R-элементы с фиксированными весами формируют сигнал реакции персептрона на входной стимул. Реагирующий элемент (R-элемент) – обычный нейрон с биполярнопороговой функцией активации. Фрэнк Розенблатт выделял персептроны с последовательными связями, персептроны с перекрёстными связями и персептроны с обратными связями.

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

Он имеет следующую структуру:

Рис. 10. Структура персептрона.

Элементарным альфа-персептроном называется разновидность трёхслойного персептрона, у которого не меняются веса связей между S- и A-элементами. Класс задач, решаемый таким персептроном, эквивалентен классу задач, решаемых каждым нейроном однослойной сети или просто нейроном, поэтому такую модель можно назвать сетью весьма условно. Такую сеть можно обучать как с помощью правила Хебба, так и с помощью дельта-правила.

Гамма-персептроном согласно Розенблатту называют персептрон, в котором сумма весов одного нейрона постоянна.

В работах Розенблатта был сделано заключение о том, что нейронная сеть рассмотренной архитектуры будет способна к воспроизведению любой логической функции, однако, как было показано позднее М.Минским и С.Пейпертом (M.Minsky, S.Papert, 1969), этот вывод оказался неверным. К примеру, элементарный альфа-персептрон не способен решить задачу «исключающего или». Были выявлены принципиальные неустранимые ограничения однослойных персептронов, и в последствии стал в основном рассматриваться многослойный вариант персептрона, в котором имеются несколько слоев процессорных элементов.

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

Градиентные методы.

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

Математическое обоснование метода обратного распространения ошибки. Алгоритм обратного распространения ошибки.

Для обучения многослойной сети в 1986 г. Руммельхартом и Хинтоном

(Rummelhart D.E., Hinton G.E., Williams R.J., 1986) был предложен алгоритм обратного распостранения ошибок (error back propagation). Многочисленные публикации о промышленных применениях многослойных сетей с этим алгоритмом обучения подтвердили его принципиальную работоспособность на практике. Основная идея обратного распространения состоит в том, как получить оценку ошибки для нейронов скрытых слоев. Заметим, что известные ошибки, делаемые нейронами выходного слоя, возникают вследствие неизвестных пока ошибок нейронов скрытых слоев. Чем больше значение синаптической связи между нейроном скрытого слоя и выходным нейроном, тем сильнее ошибка первого влияет на ошибку второго. Следовательно, оценку ошибки элементов скрытых слоев можно получить, как взвешенную сумму ошибок последующих слоев. При обучении информация распространяется от входных слоев иерархии к высшим, а оценки ошибок, делаемые сетью – в обратном направлении, что и отражено в названии метода.

Алгоритм обратного распространения ошибки определяет стратегию подбора весов многослойной сети с применением градиентных методов оптимизации. Его необходимым условием выступает дифференцируемость используемых функций активации нейронов сети. Этот алгоритм использует градиентный метод наискорейшего спуска для минимизации среднеквадратической ошибки сети (квадратичной суммы разностей между фактическими и ожидаемыми значениями

выходных сигналов), вычисляемой по формуле:

E = 1 *N (Di Y[P]i )2 (8)

2 i=1

Можно считать, что цель обучения состоит в вычислении таких значений весов нейронов каждого слоя сети, чтобы при заданном входном векторе получить на выходе значения сигналов Y[P]i , совпадающие с требуемой точностью с

ожидаемыми значениями Di при i = 1, 2,..., N.

Функция E подлежит минимизации. Классический градиентный метод оптимизации состоит в итерационном уточнении аргумента согласно формуле:

w

[q] (t +1)= w

[q] (t )α *

dE (t )

, i =1..n , q =1..p

(9)

dw [q]

ij

ij

 

q

 

 

 

 

ij

 

 

Раскладывая частные производные можно получить следующее выражение.

dE

 

dE

 

dyj[q]

dS j[q]

(10)

 

=

 

 

*

 

 

 

*

 

 

, q =1..p

dw [q]

 

 

 

 

 

dy [q]

dS

[q]

dw

[q]

 

ij

 

j

 

 

j

 

 

 

ij

 

 

 

А также – рекуррентное выражение для нахождения линейной ошибки, согласно которому и осуществляется её обратное распространение.

 

dE

 

 

dE

dyj[q+1]

dS j[q+1]

 

 

(11)

 

 

=

 

 

 

*

 

*

 

, q

=1..p 1

 

[q]

 

[q+1]

[q+1]

[q]

 

 

 

 

 

 

 

 

dyj

 

dyj

dS j

 

dyj

 

 

 

Если в качестве синаптической функции используется скалярное

произведение входного и весового векторов, то справедливо следующее.

 

 

 

dS [q]

 

 

 

 

 

 

 

 

 

y [q1]

=

j

 

 

 

 

 

 

 

 

 

i

 

dw [q]

 

 

 

 

 

 

 

 

 

 

 

ij

 

 

 

 

 

 

 

 

Тогда выражения корректировки весовых и пороговых значений для скрытых слоёв принимают вид.

w [q] (t +1)

= w

[q] (t )α *

dE (t )

 

*

 

dy j[q] (t )

 

* y [q1]

(t ), i =1..n , q =1..p

(12)

 

 

 

ij

ij

 

dy j

[q]

 

[q]

 

 

i

q

 

 

 

 

 

 

 

 

 

dS j

 

 

 

 

 

 

 

 

[q]

(t )

 

 

 

dE (t )

 

 

 

 

T [q] (t +1)

=T [q] (t )+α *

dy j

 

 

*

, i =1..n , q =1..p

(13)

 

[q]

 

[q]

j

j

 

 

 

 

 

 

 

 

q

 

 

 

 

dS j

 

 

 

 

 

dy j

 

 

 

 

Алгоритм.

1.Инициализация весовых коэффициентов значениями равномерно распределённой случайно величины. Получения максимально допустимого значения среднеквадратической ошибки. Получение обучающей выборки.

2.Для текущего образа обучающей выборки: расчёт выходных значений нейронной сети и вычисление среднеквадратической ошибки.

3.Корректировка весовых коэффициентов. И накопление значения суммарной среднеквадратической ошибки выборки.

4.Если образы в выборке ещё остались, то выбрать новый образ текущим и перейти на шаг 2.

5.Если суммарная среднеквадратическая ошибка выборки больше максимально допустимого значения, то добавить все выбранные образы в выборку и повторить с шага 2.

Недостатки:

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

Медленная сходимость при малых значениях коэффициента обучения.