Обучение персептрона. Дельта-правило

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

Обучение может быть с учителем или без него. Для обучения с учителем нужен «внешний» учитель, который оценивал бы поведение системы и управлял ее последующими модификациями. При обучении без учителя сеть путем самоорганизации делает требуемые изменения. Обучение персептрона является обучением с учителем.

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

Допустим, есть следующая модель персептрона:

Персептрон

Алгоритм обучения персептрона следующий:

  1. Присвоить синаптическим весам w_{1},w_{2}, ... ,w_{N} некоторые начальные значения. Например, нулю.
  2. Подать входной образ X и вычислить OUT. Если OUT правильный, то переходят к шагу 4. Иначе к шагу 3.
  3. Применяя дельта-правило (см. ниже) вычислить новые значения синаптических весов.
  4. Повторить шаги 2-4 данного алгоритма обучения персептрона пока сеть не станет выдавать ожидаемый выход на векторах из обучающей выборки или пока отклонение не станет ниже некоторого порога.

Т.о. образом логика обучения персептрона следующая: если сигнал персептрона при некотором образе верен, то ничего корректировать не надо, если нет – производится корректировка весов.
Правила корректировки весов следующие:

  1. Если OUT неверен и равен нулю, то необходимо увеличить веса тех входов, на которые была подана единица.
  2. Если OUT неверен и равен единице, то необходимо уменьшить веса тех входов, на которые была подана единица.

Поясним эти правила. Допустим, что на вход был подан некоторый обучающий двоичный вектор X. Этому вектору соответствует выход OUT равный единице. И этот выход неправильный. Тогда веса, присоединенные к единичным входам, должны быть уменьшены, так как они стремятся дать неверный результат. Аналогично, если некоторому другому обучающему вектору X соответствует неправильный выход OUT равный нулю, то веса, присоединенные к единичным входам, должны быть уже уменьшены.

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

Дельта-правило является математической моделью правил корректировки весов. Введем величину delta, которая равна разности между требуемым T и реальным OUT выходом:

delta~=~T~-~OUT

Тогда, веса персептрона после коррекции будут равны:

w_{N}(i~+~1)~=~w_{N}(i)~+~eta delta x_{N}

где:

  • i – номер текущей итерации обучения персептрона;
  • eta (греческая буква «эта») – коэффициент скорости обучения, позволяет управлять средней величиной изменения весов;
  • x_{N} – величина входа соответствующая w_{N} синаптическому весу. Добавление величины x_{N} в произведение позволяет избежать изменение тех весов, которым на входе соответствовал ноль.

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

Это интересно

Смотрите также