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

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

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

Правила Хебба[править | править вики-текст]

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

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

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

Дельта-правило[править | править вики-текст]

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

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

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

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

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

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

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

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

(*)

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

Здесь — число входов перцептрона, — сигнал на j-ом входе, а — функция активации. Тогда получим:

(**)

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

(***)

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

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

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

Примечания[править | править вики-текст]

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

См. также[править | править вики-текст]

Литература[править | править вики-текст]

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