Назад в библиотеку

Нейронные сети : обучение с учителем

Автор: Борисов Е.С.
Источник: Сборник статей по исследованиям психических явлений

Аннотация

Борисов Е.С. Нейронные сети : обучение с учителем. В статье описаны основные методы обучения нейронных сетей «с учителем»: Метод Розенблатта, Метод Видроу-Хоффа, Метод обратного распространения.

Обучение с учителем

1. Технология обучения с учителем НС предполагает наличие двух однотипных множеств:

Элементами этих двух множеств есть пары (X, YI), где

2. Так же определим функцию ошибки E. Обычно это средняя квадратичная ошибка (mean squared error — MSE) [6]

pic1

где

3. Процедура обучения НС сводится к процедуре коррекции весов связей HC. Целью процедуры коррекции весов есть минимизация функции ошибки E.

4. Общая схема обучения с учителем выглядит так:

4.1 Перед началом обучения весовые коэффициенты НС устанавливаются некоторым образом, на пример — случайно.

4.2 На первом этапе на вход НС в определенном порядке подаются учебные примеры. На каждой итерации вычисляется ошибка для учебного примера EL(ошибка обучения) и по определенному алгоритму производится коррекция весов НС. Целью процедуры коррекции весов есть минимизация ошибки EL.

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

5. Если после нескольких итераций алгоритма обучения ошибка обучения EL падает почти до нуля, в то время как ошибка обобщения EG в начале спадает а затем начинает расти, то это признак эффекта переобучения. В этом случае обучение необходимо прекратить.

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

По этому принципу строится алгоритм обучения однослойного персептрона [1].

Метод Розенблатта

Данный метод был предложен Ф.Розенблаттом в 1959 г. для НС, названной персептрон (perceptron) [1]. Персептрон имеет пороговую функцию активации, его схема представлена на рис.1.

Рисунок 1 – Однослойный персептрон

Рисунок 1 – Однослойный персептрон

Процедуру обучения Розенблатта для однослойного персептрона можно представить так [4]:.

pic3

где

Весовые коэффициенты меняются только в том случае, если реальное выходное значение не совпадает идеальным выходным значением.

Полный алгоритм обучения Розенблатта строится следующим образом:

1. Весовые коэффициенты НС инициализируются малыми случайными значениями.

2. Подать на вход НС очередной учебный пример.

3. Если выход НС yj не совпадает с идеальным выходом dj, то происходит модификация весов по (1).

4. Цикл с п.2 пока ∀i:yj=di не или весовые коэф. перестанут меняться.

Метод Видроу-Хоффа

Персептрон Розенблатта ограничивается бинарными выходами. Видроу и Хофф изменили модель Розенблатта. Их первая модель — ADALINE (Adaptive Linear Element) имела один выходной нейрон и непрерывную линейную функцию активации нейронов[3].

pic4

Метод обучения Видроу-Хоффа известен еще как дельта-правило (delta-rule). Этот метод ставит своей целью минимизацию функции ошибки E в пространстве весовых коэффициентов.

pic5

где

Минимизация осуществляется методом градиентного спуска

pic6

где

pic7

Таким образом весовые коэффициенты изменяются по правилу

pic8

Полный алгоритм обучения методом Видроу-Хоффа строится следующим образом:

1. Задать скорость обучения α (0<α≤1); задать минимальную ошибку сети Emin; весовые коэффициенты НС инициализируются малыми случайными значениями..

2. Подать на вход НС очередной учебный пример; рассчитать выход НС.

3. Скорректировать веса по (4)

4. цикл с п.2 пока E > Emin (где — суммарная среднеквадратичная ошибка НС)

Метод обратного распространения

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

Вариант решения этой задачи был предложен Д.Румельхартом с соавторами в 1986 году [2]. Предложенный метод обучения многослойного персептрона, был назван — методом обратного распространения ошибки. Основная идея метода состояла в распространение сигналов ошибки от выходов НС к ее входам, в направлении, обратном прямому распространению сигналов в обычном режиме работы.

Метод обратного распространения ошибки (error back propagation — BP) это итеративный градиентный алгоритм обучения многослойных НС без обратных связей [2][6]. При обучении ставится задача минимизации функции ошибки:

pic9

где

Минимизация E ведется методом градиентного спуска. Подстройка весовых коэффициентов происходит следующим образом:

pic10

где

Здесь

— yj — выход нейрона j;

— sj — взвешенная сумма его входных сигналов, то есть аргумент активационной функции;

— Первый множитель раскладывается следующим образом:

pic12

где k — число нейронов слоя n+1;

— Второй множитель есть производная активационной функции по ее аргументу. Из этого следует, что производная активационной функции должна быть определена на всей оси абсцисс;

— Третий множитель, есть выход i-того нейрона предыдущего слоя.

Введя новую переменную

pic13

мы получим рекурсивную формулу для расчетов величин δ[n]j слоя n из величин δ[n+1]k слоя n+1.

pic14

Для выходного слоя

pic15

Теперь мы можем записать (6) в раскрытом виде:

pic16

Полный алгоритм обучения НС с помощью процедуры обратного распространения ошибки строится следующим образом:

1. Инициализировать случайным образом все весовые коэф. НС.

2. Последовательно подать на вход HC все примеры из учебной выборки. Для каждого входа:

2.1. Фаза прямого распространения сигнала: Вычислить выход каждого нейрона НС.

2.2. Фаза обратного распространения сигнала: Для выходного слоя вычислить изменения весов Δω[N] по (12) и (11); Для всех остальных слоев вычислить Δω[n] по (12) и (10); n = (N-1),...,1.

2.3. Скорректировать все веса НС:

pic17

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