Автор: Борисов Е.С.
Источник: Сборник статей по исследованиям психических явлений
Борисов Е.С. Нейронные сети : обучение с учителем. В статье описаны основные методы обучения нейронных сетей «с учителем»: Метод Розенблатта, Метод Видроу-Хоффа, Метод обратного распространения.
1. Технология обучения с учителем НС предполагает наличие двух однотипных множеств:
Элементами этих двух множеств есть пары (X, YI), где
2. Так же определим функцию ошибки E. Обычно это средняя квадратичная ошибка (mean squared error — MSE) [6]
где
3. Процедура обучения НС сводится к процедуре коррекции весов связей HC. Целью процедуры коррекции весов есть минимизация функции ошибки E.
4. Общая схема обучения с учителем выглядит так:
4.1 Перед началом обучения весовые коэффициенты НС устанавливаются некоторым образом, на пример — случайно.
4.2 На первом этапе на вход НС в определенном порядке подаются учебные примеры. На каждой итерации вычисляется ошибка для учебного примера EL(ошибка обучения) и по определенному алгоритму производится коррекция весов НС. Целью процедуры коррекции весов есть минимизация ошибки EL.
4.3 На втором этапе обучения производится проверка правильности работы НС. На вход НС в определенном порядке подаются контрольные примеры. На каждой итерации вычисляется ошибка для контрольного примера EG (ошибка обобщения). Если результат неудовлетворительный то, производится модификация множества учебных примеров1 и повторение цикла обучения НС.
5. Если после нескольких итераций алгоритма обучения ошибка обучения EL падает почти до нуля, в то время как ошибка обобщения EG в начале спадает а затем начинает расти, то это признак эффекта переобучения. В этом случае обучение необходимо прекратить.
В случае однослойной сети алгоритм обучения с учителем — прост. Желаемые выходные значения нейронов единственного слоя заведомо известны, и подстройка весов синаптических связей идет в направлении, минимизирующем ошибку на выходе сети.
По этому принципу строится алгоритм обучения однослойного персептрона [1].
Данный метод был предложен Ф.Розенблаттом в 1959 г. для НС, названной персептрон (perceptron) [1]. Персептрон имеет пороговую функцию активации, его схема представлена на рис.1.
Процедуру обучения Розенблатта для однослойного персептрона можно представить так [4]:.
где
Весовые коэффициенты меняются только в том случае, если реальное выходное значение не совпадает идеальным выходным значением.
Полный алгоритм обучения Розенблатта строится следующим образом:
1. Весовые коэффициенты НС инициализируются малыми случайными значениями.
2. Подать на вход НС очередной учебный пример.
3. Если выход НС yj не совпадает с идеальным выходом dj, то происходит модификация весов по (1).
4. Цикл с п.2 пока ∀i:yj=di не или весовые коэф. перестанут меняться.
Персептрон Розенблатта ограничивается бинарными выходами. Видроу и Хофф изменили модель Розенблатта. Их первая модель — ADALINE (Adaptive Linear Element) имела один выходной нейрон и непрерывную линейную функцию активации нейронов[3].
Метод обучения Видроу-Хоффа известен еще как дельта-правило (delta-rule). Этот метод ставит своей целью минимизацию функции ошибки E в пространстве весовых коэффициентов.
где
Минимизация осуществляется методом градиентного спуска
где
Таким образом весовые коэффициенты изменяются по правилу
Полный алгоритм обучения методом Видроу-Хоффа строится следующим образом:
1. Задать скорость обучения α (0<α≤1); задать минимальную ошибку сети Emin; весовые коэффициенты НС инициализируются малыми случайными значениями..
2. Подать на вход НС очередной учебный пример; рассчитать выход НС.
3. Скорректировать веса по (4)
4. цикл с п.2 пока E > Emin (где — суммарная среднеквадратичная ошибка НС)
Сеть, имеющую два и более слоёв, уже проблематично обучить описанными выше методами, поскольку в многослойных сетях известен выход лишь последнего слоя нейронов.
Вариант решения этой задачи был предложен Д.Румельхартом с соавторами в 1986 году [2]. Предложенный метод обучения многослойного персептрона, был назван — методом обратного распространения ошибки. Основная идея метода состояла в распространение сигналов ошибки от выходов НС к ее входам, в направлении, обратном прямому распространению сигналов в обычном режиме работы.
Метод обратного распространения ошибки (error back propagation — BP) это итеративный градиентный алгоритм обучения многослойных НС без обратных связей [2][6]. При обучении ставится задача минимизации функции ошибки:
где
Минимизация E ведется методом градиентного спуска. Подстройка весовых коэффициентов происходит следующим образом:
где
Здесь
— yj — выход нейрона j;
— sj — взвешенная сумма его входных сигналов, то есть аргумент активационной функции;
— Первый множитель раскладывается следующим образом:
где k — число нейронов слоя n+1;
— Второй множитель есть производная активационной функции по ее аргументу. Из этого следует, что производная активационной функции должна быть определена на всей оси абсцисс;
— Третий множитель, есть выход i-того нейрона предыдущего слоя.
Введя новую переменную
мы получим рекурсивную формулу для расчетов величин δ[n]j слоя n из величин δ[n+1]k слоя n+1.
Для выходного слоя
Теперь мы можем записать (6) в раскрытом виде:
Полный алгоритм обучения НС с помощью процедуры обратного распространения ошибки строится следующим образом:
1. Инициализировать случайным образом все весовые коэф. НС.
2. Последовательно подать на вход HC все примеры из учебной выборки. Для каждого входа:
2.1. Фаза прямого распространения сигнала: Вычислить выход каждого нейрона НС.
2.2. Фаза обратного распространения сигнала: Для выходного слоя вычислить изменения весов Δω[N] по (12) и (11); Для всех остальных слоев вычислить Δω[n] по (12) и (10); n = (N-1),...,1.
2.3. Скорректировать все веса НС:
3. Если ошибка НС существенна, перейти на шаг 2, иначе — конец работы.
1. F.Rosenblatt Principles of Neurodinamics.
1962, New York: Spartan Books.
2. D.E.Rumelhart, G.E.Hinton, R.J.Williams Learning internal representations by error propagation.
1986. In Parallel distributed processing, vol. 1, pp. 318-62. Cambridg, MA: MIT Press.
3. В.Widrow, M.Hoff Adaptive switching circuits.
1960 IRE WESCON Convention Record, part 4, pp. 96-104. New York: Institute of Radio Engineers.
4. В.А.Головко, под ред.проф.А.И.Галушкина «Нейронные сети: обучение, организация и применение», ИПРЖР, Москва 2001
5. С.Короткий «Нейронные сети»
6. Л.Г.Комарцова, А.В. Максимов «Нейрокомпьютеры» Москва, МГТУ им. Н.Э.Баумана, 2002