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

Материал из DZWIKI
Перейти к навигации Перейти к поиску

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

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

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

<math>\mathbf{\Epsilon=D-Y}</math>

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

<math>w_j(t+1)=w_j(t)+e_i x_j</math>

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

<math>w_j(t+1)=w_j(t)+\eta e_i x_j</math>

Обобщенное дельта-правило

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

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

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

<math>\Delta w_{ij}=-\eta \frac {\partial \epsilon}{\partial w_{ij}}</math>

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

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

<math>\frac {\partial \epsilon}{\partial w_{ij}} = \frac{\partial \epsilon}{\partial y_i} \frac{\partial y_i}{\partial w_{ij}}</math> (*)

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

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

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

<math>\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</math> (**)

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

<math>\frac {\partial \epsilon}{\partial y_i}=-(d_i-y_i)</math> (***)

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

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

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

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

Примечания

  1. Nielsen, Michael A. Neural Networks and Deep Learning. — 2015-01-01. Архивировано 6 сентября 2016 года.
  2. Widrow B., Hoff M.E. — Adaptive switching circuits. 1969 IRE WESTCON Conferencion Record. — New York, 1960
  3. Л. Н. Ясницкий — Введение в искусственный интеллект. — с.34-36
  4. Л. Н. Ясницкий — Введение в искусственный интеллект. — с.35
  5. Л. Н. Ясницкий — Введение в искусственный интеллект. — с.36

См. также

Литература

  • Rosenblatt F. Principles of Neurodynamics: Perceptrons and the Theory of Brain Mechanisms. Washington, DC: Spartan Books (1962).
  • Russell, Ingrid. "The Delta Rule". University of Hartford. Archived from the original on 4 March 2016. Retrieved 5 November 2012.
  • Головко, В. А. Нейронные сети: обучение, организация и применение: Кн.4 : Учебное пособие для вузов по направлению "Прикладные математика и физика" / В. А. Головко ; Общ. ред. А. И. Галушкин . – М. : ИПРЖР, 2001 . – 256 с. – (Нейрокомпьютеры и их применение) : 5-93108-05-8 .
  • Осовский С. Нейронные сети для обработки информации (2002)
  • Hebb, D. O. The organization of behavior: a neuropsychological theory. New York (2002) (Оригинальное издание — 1949)
  • Hebb, D. O. Conditioned and unconditioned reflexes and inhibition. Unpublished MA Thesis, McGill University, Montreal, Quebec, (1932)
  • Lakhmi C. Jain; N.M. Martin Fusion of Neural Networks, Fuzzy Systems and Genetic Algorithms: Industrial Applications. — CRC Press, CRC Press LLC, 1998

Ссылки