Дельта-правило

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Де́льта-пра́вило — метод обучения перцептрона по принципу градиентного спуска по поверхности ошибки. Дельта-правило развилось из первого и второго правил Хебба. Его дальнейшее развитие привело к созданию метода обратного распространения ошибки.

Правила Хебба[править | править исходный текст]

Перцептрон Розенблатта в первоначальном его исполнении состоял из фотоэлементов, которые, в зависимости от поданного на них сигнала вырабатывали сигнал логической единицы, либо логического нуля. Сигналы с фотоэлементов поступали на взвешенный сумматор (элементарный процессор, искусственный нейрон) с пороговой функцией активации. Нейрон также выдавал сигнал логического нуля, либо логической единицы[1]. Цель обучения перцептрона состояла в том, чтобы при подаче на фотоэлементы закодированного образа на его выходе появлялась логическая единица в случае принадлежности поданного образа к заранее определенному классу и ноль в противном случае. Логика обучения следующая: если сигнал перцептрона при некотором образе верен, то ничего корректировать не надо, если нет — производится корректировка весов сумматора. Правила корректировки весов предложены Хеббом в 1949 году[2] и имеют следующий смысл:

  • Первое правило Хебба — Если сигнал перцептрона неверен и равен нулю, то необходимо увеличить веса тех входов, на которые была подана единица.
  • Второе правило Хебба — Если сигнал перцептрона неверен и равен единице, то необходимо уменьшить веса тех входов, на которые была подана единица.[3]

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

Дельта-правило[править | править исходный текст]

Собственно дельта-правилом называют математическую, несколько более общую форму записи правил Хебба. Пусть вектор \mathbf{X}={x_1,x_2,...x_r,...x_m} — вектор входных сигналов, а вектор \mathbf{D}={d_1,d_2,...d_k,...d_n} — вектор сигналов, которые должны быть получены от перцептрона под воздействием входного вектора. Здесь n — число нейронов, составляющих перцептрон. Входные сигналы, поступив на входы перцептрона, были взвешены и просуммированы, в результате чего получен вектор \mathbf{Y}={y_1,y_2,...y_k,...y_n} выходных значений перцептрона. Тогда можно определить вектор ошибки \mathbf{\Epsilon}={e_1,e_2,...e_k,...e_n}, размерность которого совпадает размерностью вектором выходных сигналов. Компоненты вектора ошибок определяются как разность между ожидаемым и реальным значением выходного сигнала перцептронного нейрона:

\mathbf{\Epsilon=D-Y}

При таких обозначениях формулу для корректировки j-го веса i-го нейрона можно записать следующим образом:

w_j(t+1)=w_j(t)+e_i x_j

Номер сигнала j изменяется в пределах от единицы до размерности входного вектора m. Номер нейрона i изменяется в пределах от единицы до количества нейронов n. Величина t — номер текущей итерации обучения. Таким образом, вес входного сигнала нейрона изменяется в сторону уменьшения ошибки пропорционально величине суммарной ошибки нейрона. Часто вводят коэффициент пропорциональности \eta, на который умножается величина ошибки. Этот коэффициент называют скоростью обучения. Таким образом, итоговая формула для корректировки весов:

w_j(t+1)=w_j(t)+\eta e_i x_j

Обобщенное дельта-правило[править | править исходный текст]

С целью расширения круга задач, решаемых перцептроном, Уидроу и Хоффом[4] была предложена сигмоидальная функция активации для нейронов. Это позволило перцептрону оперировать с непрерывными сигналами, но потребовало модификации алгоритма обучения[5]. Модифицированный алгоритм направлен на минимизацию функции среднеквадратичной ошибки:

\epsilon=\frac{1}{2} \sum^{n}_{i=1}{(d_i-y_i)^2}

Эта функция определяется матрицей весовых коэффициентов w_{ij}. Здесь i — номер нейрона, а j — номер входа. Поверхность, описываемая этой функцией имеет форму псевдопараболоида[6]. Задачей обучения является нахождение глобального минимума этой поверхности. Одним из способов нахождения минимума является метод градиентного спуска. Корректировка весов производится в направлении антиградиента поверхности:

\Delta w_{ij}=-\eta \frac {\partial \epsilon}{\partial w_{ij}}

Здесь \eta — коэффициент скорости обучения.

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

\frac {\partial \epsilon}{\partial w_{ij}} = \frac{\partial \epsilon}{\partial y_i} \frac{\partial y_i}{\partial w_{ij}} (*)

Выходной сигнал y_i каждого нейрона определяется по формуле:

y_i = \operatorname{f}(S_i), S_i = \sum^{m}_{j=1}{w_{ij} x_j}

Здесь m — число входов перцептрона, x_j — сигнал на j-ом входе, а \operatorname{f}(S) — функция активации. Тогда получим:

\frac{\partial y_i}{\partial w_{ij}}=(\frac{\partial \operatorname{f}(S)}{\partial S})\mid_{S=S_i} \frac {\partial S_i}{\partial w_{ij}}= f^\prime(S_i) x_j (**)

Продифференцировав функцию ошибки по значению выходного сигнала получим:

\frac {\partial \epsilon}{\partial y_i}=-(d_i-y_i) (***)

Подставив формулы (**) и (***) в выражение (*) получим выражение для корректировки веса j-го входа у i-го нейрона при любой активационной функции[7]:

\Delta w_{ij} = \eta (d_i-y_i)f^\prime(S_i)x_j

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

На основе дельта-правила Уидроу и Хопфом был создан один из первых аппаратных нейрокомпьютеров Адалин (1960).

Примечания[править | править исходный текст]

  1. Возможен вариант использования вместо {0,1} сигналов {-1,1}
  2. Hebb D.O. — The Organization of Behavior. John Wiley & Sons, New York, 1949
  3. Л. Н. Ясницкий — Введение в искусственный интеллект. — с.30-32
  4. Widrow B., Hoff M.E. — Adaptive switching circuits. 1969 IRE WESTCON Conferencion Record. — New York, 1960
  5. Л. Н. Ясницкий — Введение в искусственный интеллект. — с.34-36
  6. Л. Н. Ясницкий — Введение в искусственный интеллект. — с.35
  7. Л. Н. Ясницкий — Введение в искусственный интеллект. — с.36

См. также[править | править исходный текст]

Литература[править | править исходный текст]

Ясницкий Л.Н. Введение в искусственный интеллект. М.: Издательский центр «Академия», 2005. – 176с.