Дельта-правило
Материал из Википедии — свободной энциклопедии
Де́льта-пра́вило — метод обучения перцептрона по принципу градиентного спуска по поверхности ошибки. Дельта-правило развилось из первого и второго правил Хебба и в последствии было математически обобщено и формализовано сообразно развитию идеи перцептрона.
Содержание |
[править] Правила Хебба
Перцептрон Розенблатта в первоначальном его исполнении состоял из фотоэлементов, которые, в зависимости от поданного на них сигнала вырабатывали сигнал логической единицы, либо логического нуля. Сигналы с фотоэлементов поступали на взвешенный сумматор (элементарный процессор, искусственный нейрон) с пороговой функцией активации. Нейрон также выдавал сигнал логического нуля, либо логической единицы[1]. Цель обучения перцептрона состояла в том, чтобы при подаче на фотоэлементы закодированного образа на его выходе появлялась логическая единица в случае принадлежности поданного образа к заранее определенному классу и ноль в противном случае. Логика обучения следующая: если сигнал перцептрона при некотором образе верен, то ничего корректировать не надо, если нет — производится корректировка весов сумматора. Правила корректировки весов предложены Хеббом в 1949 году[2] и имеют следующий смысл:
- Первое правило Хебба — Если сигнал перцептрона неверен и равен нулю, то необходимо увеличить веса тех входов, на которые была подана единица.
- Второе правило Хебба — Если сигнал перцептрона неверен и равен единице, то необходимо уменьшить веса тех входов, на которые была подана единица.[3]
Правила применяются последовательно для всех образов, на которых производится обучение. На вопрос о том, придет ли перцептрон к устойчивому состоянию, когда он будет корректно классифицировать все входные образы отвечает теорема сходимости Перцептрона.
[править] Дельта-правило
Собственно дельта-правилом называют математическую, несколько более общую форму записи правил Хебба. Пусть вектор — вектор входных сигналов, а вектор — вектор сигналов, которые должны быть получены от перцептрона под воздействием входного вектора. Здесь n — число нейронов, составляющих перцептрон. Входные сигналы, поступив на входы перцептрона, были взвешены и просуммированы, в результате чего получен вектор выходных значений перцептрона. Тогда можно определить вектор ошибки , размерность которого совпадает размерностью вектором выходных сигналов. Компоненты вектора ошибок определяются как разность между ожидаемым и реальным значением выходного сигнала перцептронного нейрона:
При таких обозначениях формулу для корректировки j-го веса i-го нейрона можно записать следующим образом:
Номер сигнала j изменяется в пределах от единицы до размерности входного вектора m. Номер нейрона i изменяется в пределах от единицы до количества нейронов n. Величина t — номер текущей итерации обучения. Таким образом, вес входного сигнала нейрона изменяется в сторону уменьшения ошибки пропорционально величине суммарной ошибки нейрона. Часто вводят коэффициент пропорциональности η, на который умножается величина ошибки. Этот коэффициент называют скоростью обучения. Таким образом, итоговая формула для корректировки весов:
[править] Обобщенное дельта-правило
С целью расширения круга задач, решаемых перцептроном, Уидроу и Хоффом[4] была предложена сигмоидальная функция активации для нейронов. Это позволило перцептрону оперировать с непрерывными сигналами, но потребовало модификации алгоритма обучения[5]. Модифицированный алгоритм направлен на минимизацию функции среднеквадратичной ошибки:
Эта функция определяется матрицей весовых коэффициентов wij. Здесь i — номер нейрона, а j — номер входа. Поверхность, описываемая этой функцией имеет форму псевдопараболоида[6]. Задачей обучения является нахождение глобального минимума этой поверхности. Одним из способов нахождения минимума является метод градиентного спуска. Корректировка весов производится в направлении антиградиента поверхности:
Здесь η — коэффициент скорости обучения.
Функция ошибки является сложной и зависит в первую очередь от выходных сигналов перцептрона. В соответствии с правилами дифференцирования сложных функций:
Выходной сигнал yi каждого нейрона определяется по формуле:
Здесь m — число входов перцептрона, xj — сигнал на j-ом входе, а — функция активации. Тогда получим:
Продифференцировав функцию ошибки по значению выходного сигнала получим:
Подставив формулы (**) и (***) в выражение (*) получим выражение для корректировки веса j-го входа у i-го нейрона при любой активационной функции[7]:
Из этой формулы видно, что в качестве активационной функции при использовании обобщенного дельта-правила функция активации нейронов должна быть непрерывно дифференцируемой на всей оси абсцисс. Преимущество имеют функции активации с простой производной (например — логистическая кривая или гиперболический тангенс).
[править] Примечания
- ↑ Возможен вариант использования вместо 0,1 сигналов − 1,1
- ↑ Hebb D.O. — The Organization of Behavior. John Wiley & Sons, New York, 1949
- ↑ Л. Н. Ясницкий — Введение в искусственный интеллект. — с.30-32
- ↑ Widrow B., Hoff M.E. — Adaptive switching circuits. 1969 IRE WESTCON Conferencion Record. — New York, 1960
- ↑ Л. Н. Ясницкий — Введение в искусственный интеллект. — с.34-36
- ↑ Л. Н. Ясницкий — Введение в искусственный интеллект. — с.35
- ↑ Л. Н. Ясницкий — Введение в искусственный интеллект. — с.36