Данный алгоритм относится к широкому классу алгоритмов обучения с учителем, поскольку известны как входные вектора, так и требуемые значения выходных векторов.
Персептрон Розенблатта ограничивается бинарными выходами. Видроу и Хофф изменили модель Розенблатта. Их первая модель - ADALINE (Adaptive Linear Element) имела один выходной нейрон и непрерывную линейную функцию активации нейронов.
Метод обучения Видроу-Хоффа известен еще как дельта-правило (delta-rule). Этот метод ставит своей целью минимизацию функции ошибки E в пространстве весовых коэффициентов.
где
P - количество обработанных и сетью примеров
E(k) - ошибка для k-го примера
yk - реальный выход сети для k-го примера
dk - желаемый (идеальный) выход сети для k-го примера
Минимизация E осуществляется методом градиентного спуска
Где
Таким образом весовые коэффициенты изменяются по правилу
wj(t+1)=wj(t) - a * (yk-dk)* xjk
Пример результатов работы линейного классификатора на основе ADALINE(рис.5.1).
Рис.5.1 результат работы ADALINE
Сеть с двумя и более нейронными слоями становится сложно обучать предыдущими методами т.к. в многослойных сетях известен выход лишь последнего слоя нейронов. Решение этой проблемы было предложено Д.Румельхартом с соавторами в 1986 году. Этот метод обучения многослойной искусственной нейронной сети, был назван методом обратного распространения ошибки. Главная идея этого метода состоит в распространении сигналов ошибки от выходов сети к её входам, в направлении, обратном прямому распространению сигналов в обычном режиме работы.
Согласно методу перед началом обучения сети всем межнейронным связям присваиваются небольшие случайные значения весов. Каждый шаг обучающего алгоритма состоит из двух фаз. Во время первой фазы входные элементы сети устанавливаются в заданное состояние. Входные сигналы распространяются по сети, используя сигмоидальные функции активации и порождая некоторый выходной вектор. Полученный на выходе вектор сравнивается с «идеальным» вектором. Если они совпадают, то весовые коэффициенты связей не изменяются, иначе вычисляется разница между фактическими и эталонными выходными значениями, которая передается последовательно от выходного слоя к входному слою. На основе этой информации проводится модификация весов связей в соответствии с формулой:
где - изменение веса связи на шаге итерации t обучающей пары вход-выход i -го нейрона, получающего входной сигнал, и j –го нейрона, посылающего выходной сигнал; µ - коэффициент, задаваемый пользователем в интервале (0,1); ɛ - величина шага сети или мера точности обучения сети. Чем меньше шаг сети, тем больше времени потребуется на обучение сети и тем больше вероятность ее попадания в окрестность локального минимума ошибки.
Общая ошибка функционирования сети определяется по формуле:
где и - соответственно «эталонное» и действительное значение выходного сигнала j – го блока для p – й обучающей пары нейронов вход-выход.
Когда величина ошибки достигает заданного малого уровня, обучение останавливают. Сеть готова к выполнению возложенных на нее функций. Т.к. всю информацию о задаче и ее решении сеть получает из обучающей выборки, то качество обучения сети зависит от количества примеров в обучающей выборке, и от того, насколько полно эти примеры описывают задачу. Считается, что для полноценной тренировки требуется минимум несколько десятков примеров, но лучше несколько сотен.