- •Лекция 4 Архитектура нейронных сетей Принципы обучения нейронных сетей
- •1. Особенности обучающихся нейронных сетей
- •2. Классификация принципов обучения нейронных сетей
- •3. Схемы обучения нейронных сетей
- •3.1. Схема обучения нейронной сети без учителя
- •3.2. Схема обучения нейронной сети с учителем
- •4. Алгоритмы обучения искусственных нс
- •4.1. Обучение без учителя
- •4.1.1. Правило Хебба
- •4.1.2. Правило Кохонена
- •4.2. Обучение с учителем
- •4.2.1. Дельта-правило
- •4.2.2. Правило обратного распространения ошибки
- •4.2.3. Стохастические алгоритмы
- •4.2.3.1. Машина Больцмана
- •4.2.3.2. Машина Коши
4.2. Обучение с учителем
4.2.1. Дельта-правило
Дельта-правило. Стимулом для обучения является рассогласование между некоторым заданным обучающим сигналоми текущей активностью постсинаптического нейрона ai
. (4.15)
Дельта-правило в виде конечно-разностного уравнения записывается следующим образом
, (4.16)
где i(t) - ошибка выхода i-го нейрона (постсинаптического), равная разности между i-ой компонентой k-го целевого вектора из множества D и активностью i-го нейрона.
Очевидно, что если >ai(t), весовые коэффициенты будут увеличены и тем самым уменьшат ошибку. В противном случае они уменьшаться и активность нейрона тоже уменьшиться, приближаясь к компоненте целевого вектора.
4.2.2. Правило обратного распространения ошибки
Если сеть является многослойной, то ошибку для скрытых слоев невозможно задать в явном виде. В этом случае для расчета величины рассогласования используется обобщение Дельта-правила – правило обратного распространения ошибки (Вр-алгоритм). На авторство этого алгоритма претендуют трое ученых: Румелхарт (1986), Паркер (1982), Вербос (1974).
В Вр-алгоритме используются два уравнения для вычисления величины коррекции весов.
Если i-ый нейрон (постсинаптический) является выходным, то используется измененное Дельта-правило с иным методом вычисления ошибки
. (4.21)
Если нейрон является скрытым Дельта-правило преобразуется к следующему виду
, (4.22)
где p(t) – ошибка для p-го нейрона следующего слоя; wpi– вес синаптической связи от i-го нейрона к p-му нейрону следующего слоя (рис. 4.13).
Корректировка пороговых величин нейронов выполняется также в обратном направлении
. (4.23)
Здесь также величина ошибки вычисляется исходя из того, в каком слое находится нейрон.
Конечно-разностное уравнение Вр-алгоритма совпадает с соответствующим уравнением Дельта-правила (4.16) за исключением метода расчета ошибки.
Недостатки Вр-алгоритма
1. Паралич сети (блокировка обучения).
2. Попадание сети в локальные минимумы.
3. Переобучение.
4. Медленная сходимость процесса обучения.
Модификации Вр-алгоритма
1. Импульсный метод экспоненциального сглаживания.
Для придания процессу коррекции весов некоторой инерционности Вр-алгоритм дополняется значением изменения веса на предыдущей итерации
, (4.24)
где – коэффициент инерционности (сглаживания), устанавливается от 0 до 1 (обычно около 0,9). Еслиравен 1, то новая коррекция игнорируется и повторяется предыдущая.
2. Квадратичный метод (квазиньютоновский метод и метод сопряженных градиентов).
Разработан метод ускорения обучения, основанный на вычислении вторых производных для более точной оценки требуемой коррекции весов (Паркер, 1987г.).
3.Использование симметричного диапазона изменения весов.
Симметричный диапазон изменения весов и сигналов в сети (например, от -1 до 1) дает прирост скорости обучения на 30-50% (Сторнетта, Хьюберман, 1987г.). Функция активации при этом должна быть симметричной (например, гиперболический тангенс). Когда выходное значение aj(n-1)стремится к нулю, эффективность обучения заметно снижается. При двоичных входных векторах половина входов в среднем будет равна нулю, и веса, с которыми они связаны, не будут обучаться, поэтому область возможных значений выходов нейронов [0,1] желательно сдвинуть в пределы [-0.5,+0.5], что достигается простыми модификациями логистических функций. Например, сигмоидальная функция преобразуется к виду
. (4.25)
4. Использование различных функций вычисления ошибок (для ускорения процесса обучения):
интегральные функции ошибки по всей совокупности обучающих примеров;
функции ошибки целых и дробных степеней.
5. Использование различных процедур определения величины шага (скорости обучения) на каждой итерации:
расписание обучения (с=с(t));
скорость обучения выбирают различной для каждого слоя;
дихотомия;
инерционные соотношения для предотвращения блокировки сети, например,
, (4.26)
где <1 - некоторое положительное число, меньше единицы;
отжиг.
6. Использование различных процедур определения направления шага:
с использованием матрицы производных второго порядка (метод Ньютона и др.);
с использованием направлений на нескольких шагах.
Алгоритм обучения НС с помощью процедуры обратного распространения следующий (при условии, что ошибка вычисляется по единичным примерам).
1. На стации инициализации всем весовым коэффициентам и пороговым значениям присваиваются небольшие случайные значения.
2. На входы сети подается очередной входной образ из ОВ.
3. Сигналы возбуждения распространяются по всем слоям сети в прямом направлении. В процессе прохождения сигнала вычисляются значения активностей постсинаптических нейронов.
4. Вычисляется ошибка сети и значения приращения весовых коэффициентов для всех синаптических связей выходного слоя сети.
5. Корректируются весовые коэффициенты нейронов выходного слоя сети.
6. Выполняется переход к предыдущему слою. Вычисляются значения приращения весов для всех синаптических связей текущего слоя сети (обратное распространение ошибки).
7. Корректируются весовые коэффициенты нейронов текущего скрытого слоя сети.
8. Шаги 6-7 повторяются, пока не будут пройдены все слои НС. Аналогичные вычисления выполняются и для пороговых значений.
9. Шаги 2-9 повторяются для всех примеров ОВ.
10. Рассчитывается суммарная ошибка сети.
11. Если вычисленная ошибка существенна, перейти на шаг 2. В противном случае – конец.