Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
часть II Искусственный интеллект.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
4.04 Mб
Скачать

8.5. Алгоритм «обучение с учителем».

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

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

E(w)=0,5(yj,k(Q) dj,k)2,

где yj,k(Q) - реальное выходное состояние нейрона j выходного слоя нейронной сети при подаче на ее входы k-го образа; dj,k - требуемое выходное состояние этого нейрона.

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

E

wij(q) ,

wij

где wij(q) - весовой коэффициент синаптической связи, соединяющей i-й нейрон слоя (q-1) с j-м нейроном слоя q; - коэффициент скорости обучения, 0 <  <1.

В соответствии с правилом дифференцирования сложной функции:

E E dyj sj

= × × ,

wij yj d sj wij

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

dy

= 1 – s2 .

d s

После несложных преобразований можно получить, что:

wij(q)j(q) × yi(q-1) ,

dyj

г де: j(q)  r(q+1) wjr(q+1) d sj .

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

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

ШАГ 2. Рассчитать (Q) и соответствующее изменение весов w(Q) для выходного слоя Q.

ШАГ 3. Рассчитать по формулам (q) и соответственно w(q) для всех остальных слоев, q=(Q-1)…1.

ШАГ 4. Скорректировать все веса в нейронной сети:

wij(q)(t) wij(q)(t-1) + wij(q)(t).

ШАГ 5. Если ошибка сети существенна, перейти на шаг 1. В противном случае - конец.

Сети на шаге 1 попеременно в случайном порядке предъявляются все тренировочные образы, чтобы сеть, образно говоря, не забывали одни по мере запоминания других. Рассмотрим вопрос о емкости нейронной сёти, т. е. числа образов, предъявляемых на ее входы, которые она способна научиться распознавать. Для сетей с числом слоев больше двух, этот вопрос остается открытым. Для сетей с двумя слоями, детерминистская емкость сети Cd оценивается следующим образом:

Lw Lw Lw

m Cd m log m ,

где Lw - число подстраиваемых весов, m - число нейронов в выходном слое.

Рассмотренный алгоритм обратного распространения ошибки подразумевает наличие некоего внешнего звена (dj,k), предоставляющего нейронной сети, кроме входных, целевые выходные образы. Алгоритмы, основанные на подобной концепции, называются

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