Способность искусственных нейронных сетей обучаться является их наиболее интригующим свойством. Подобно биологическим системам, которые они моделируют, эти нейронные сети сами моделируют себя в результате попыток достичь лучшей модели поведения.
Обучение может быть с учителем или без него. Для обучения с учителем нужен «внешний» учитель, который оценивал бы поведение системы и управлял ее последующими модификациями. При обучении без учителя сеть путем самоорганизации делает требуемые изменения. Обучение персептрона является обучением с учителем.
Персептрон обучают, подавая множество образов по одному на его вход и подстраивая веса до тех пор, пока для всех образов не будет достигнут требуемый выход.
Допустим, есть следующая модель персептрона:
Алгоритм обучения персептрона следующий:
- Присвоить синаптическим весам некоторые начальные значения. Например, нулю.
- Подать входной образ и вычислить . Если правильный, то переходят к шагу 4. Иначе к шагу 3.
- Применяя дельта-правило (см. ниже) вычислить новые значения синаптических весов.
- Повторить шаги 2-4 данного алгоритма обучения персептрона пока сеть не станет выдавать ожидаемый выход на векторах из обучающей выборки или пока отклонение не станет ниже некоторого порога.
Т.о. образом логика обучения персептрона следующая: если сигнал персептрона при некотором образе верен, то ничего корректировать не надо, если нет – производится корректировка весов.
Правила корректировки весов следующие:
- Если неверен и равен нулю, то необходимо увеличить веса тех входов, на которые была подана единица.
- Если неверен и равен единице, то необходимо уменьшить веса тех входов, на которые была подана единица.
Поясним эти правила. Допустим, что на вход был подан некоторый обучающий двоичный вектор . Этому вектору соответствует выход равный единице. И этот выход неправильный. Тогда веса, присоединенные к единичным входам, должны быть уменьшены, так как они стремятся дать неверный результат. Аналогично, если некоторому другому обучающему вектору соответствует неправильный выход равный нулю, то веса, присоединенные к единичным входам, должны быть уже уменьшены.
Дельта-правило
Дельта-правило является математической моделью правил корректировки весов. Введем величину , которая равна разности между требуемым и реальным выходом:
Тогда, веса персептрона после коррекции будут равны:
где:
- – номер текущей итерации обучения персептрона;
- (греческая буква «эта») – коэффициент скорости обучения, позволяет управлять средней величиной изменения весов;
- – величина входа соответствующая синаптическому весу. Добавление величины в произведение позволяет избежать изменение тех весов, которым на входе соответствовал ноль.
Существует доказательство сходимости этого алгоритма обучения персептрона за конечное число шагов. Модель персептрона в настоящий момент представляет больше историческую ценность, чем практическую. Но именно на его примере удается более наглядно показать некоторые важные принципы функционирования, в том числе и обучения нейронных сетей.