Поиск по сайту
Проект публикации книги «Познай самого себя»
Узнать, насколько это интересно. Принять участие.

Короткий адрес страницы: fornit.ru/845

Этот материал взят из источника: http://mechanoid.narod.ru/nns/teacher/

Выделения в тексте - мои.
Мои коммнтарии включены синим цветом.
Список основных тематических статей >>
Этот документ использован в разделе: "Cборник статей по исследованиям психических явлений"Распечатать
Добавить в личную закладку.

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

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

Е.С.Борисов

27 октября 2002 г.

 



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

  1. Технология обучения с учителем НС предполагает наличие двух однотипных множеств:
    • множество учебных примеров
      - используется для ''настройки'' НС
    • множество контрольных примеров
      - используется для оценки качества работы НС

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

    • $X$- входной вектор для обучаемой НС;
    • $Y_I$- верный (желаемый) выходной вектор для $X$;
  1. Так же определим функцию ошибки $E$. Обычно это средняя квадратичная ошибка (mean squared error - MSE) [6]

 

\begin{displaymath}E=\frac{1}{P}\sum\limits_{i=1}^{P}(d_i-y_i)^2\end{displaymath}


где

    • $P$- количество обработанных НС примеров;
    • $y_i$- реальный выход НС;
    • $d_i$- желаемый (идеальный) выход НС;
  1. Процедура обучения НС сводится к процедуре коррекции весов связей HC. Целью процедуры коррекции весов есть минимизация функции ошибки $E$.
  2. Общая схема обучения с учителем выглядит так :

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

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

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

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

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

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

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

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

\includegraphics[width=13cm]{pict/Image44.ps}

Рисунок: однослойный персептрон

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

 

\begin{displaymath}
w_{ij}(t+1) = w_{ij}(t) + a x_i d_j
\end{displaymath}

(1)


где

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

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

  1. весовые коэффициенты НС инициализируются малыми случайными значениями.
  2. подать на вход НС очередной учебный пример.
  3. если выход НС $y_j$не совпадает с идеальным выходом $d_j$
    то происходит модификация весов по (1)
  4. цикл с п.2
    пока
    не $\forall i : y_i = d_i$
    или
    весовые коэф. перестанут меняться

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

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

 

\begin{displaymath}
y=\sum\limits^n_{j=1} w_j x_j
\end{displaymath}

(2)


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

 

\begin{displaymath}
E=\sum\limits_{k=1}^{P}E(k)
=\frac{1}{2}\sum\limits_{k=1}^{P}(d^k-y^k)^2
\end{displaymath}

(3)


где

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

\begin{displaymath}
w_j(t+1)=w_j(t) - a \cdot \frac{\partial E(k)}{\partial w_j(t)}
\end{displaymath}


где

\begin{displaymath}
\frac{\partial E(k)}{\partial w_j(t)}=
\frac{\partial E(k)}{...
...}\cdot
\frac{\partial y^k}{\partial w_j}=
(y^k-d^k)\cdot x_j^k
\end{displaymath}


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

\begin{displaymath}
w_j(t+1)=w_j(t) - a \cdot (y^k-d^k)\cdot x_j^k
\end{displaymath}

(4)


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

  1. задать скорость обучения $a$($0 < a \leq 1$)
    задать минимальную ошибку сети $E_{min}$;
    весовые коэффициенты НС инициализируются малыми случайными значениями.
  2. подать на вход НС очередной учебный пример
    рассчитать выход НС
  3. скорректировать веса по (4)
  4. цикл с п.2 пока $E > E_{min}$
    (где $E$- суммарная среднеквадратичная ошибка НС)

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

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

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

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

 

\begin{displaymath}
E=\frac{1}{2}\sum\limits_{j=1}^p(y_j-d_j)^2
\end{displaymath}

(5)


где

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

 

\begin{displaymath}
\Delta w_{ij} =
-h\frac{\partial E}{\partial w_{ij}}
\end{displaymath}

(6)


где

\begin{displaymath}
\frac{\partial E}{\partial w_{ij}} =
\frac{\partial E}{\p...
..._j}{\partial s_j} \cdot
\frac{\partial s_j}{\partial w_{ij}}
\end{displaymath}

(7)

·        Здесь

 

\begin{displaymath}
\frac{\partial E}{\partial y_j}=
\sum\limits_k
\frac{\par...
...\cdot
\frac{\partial y_k}{\partial s_k}\cdot
w_{jk}^{[n+1]}
\end{displaymath}

(8)


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

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

 

\begin{displaymath}
\delta_j^{[n]}=
\frac{\partial E}{\partial y_j}\cdot
\frac{\partial y_j}{\partial s_j}
\end{displaymath}

(9)


мы получим рекурсивную формулу для расчетов величин $\delta_j^{[n]}$слоя $n$из величин $\delta_k^{[n+1]}$слоя $n+1$.

 

\begin{displaymath}
\delta_j^{[n]}=
\frac{d y_j}{d s_j}\cdot
\sum\limits_k \delta_k^{[n+1]} w_{jk}^{[n+1]}
\end{displaymath}

(10)


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

 

\begin{displaymath}
\delta_i^{[N]}=
\frac{d y_i}{d s_i}\cdot
\left(
y_i^{[N]} - d_i
\right)
\end{displaymath}

(11)


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

 

\begin{displaymath}
\Delta w_{ij} = -h\cdot \delta_j^{[n]}\cdot y_i^{[n-1]}
\end{displaymath}

(12)


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

  1. Инициализировать случайным образом все весовые коэф.НС.
  2. Последовательно подать на вход HC все примеры из учебной выборки. Для каждого входа:
    1. Фаза прямого распространения сигнала :
      Вычислить выход каждого нейрона НС.
    2. Фаза обратного распространения сигнала :

Для выходного слоя вычислить изменения весов $\Delta w^{[N]}$
по (12) и (11).

Для всех остальных слоев вычислить $\Delta w^{[n]}$по (12) и (10)
$n= (N-1) , \ldots , 1$

    1. Скорректировать все веса НС : $w_{ij}^{[n]}(t) = w_{ij}^{[n]}(t-1) + \Delta w_{ij}^{[n]}(t)$
  1. Если ошибка НС существенна, перейти на шаг 2,
    иначе - конец работы.

Сноски

... примеров1

либо модификация архитектуры НС

... активации2

функцию единичного скачка

... нейрон3

более поздняя модель - MADALINE имела несколько выходных нейронов

... абсцисс4

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

 


Литература

 

1

F.Rosenblatt ''Principles of Neurodinamics.'' 1962, New York: Spartan Books.
Русский перевод:
Ф.Розенблатт ''Принципы нейродинамики.'' Москва ''Мир'' 1965.

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

С.Короткий ''Нейронные сети'' - http://lii.newmail.ru/

6

Л.Г.Комарцова, А.В. Максимов ''Нейрокомпьютеры''
Москва, МГТУ им. Н.Э.Баумана, 2002


Evgeny S. Borisov
2003-07-18

 

Последнее редактирование: 2014-12-18

Оценить статью можно после того, как в обсуждении будет хотя бы одно сообщение.
Об авторе:
Этот материал взят из источника: http://mechanoid.narod.ru/nns/teacher/



Тест: А не зомбируют ли меня?     Тест: Определение веса ненаучности

Поддержка проекта: Книга по психологии
В предметном указателе: Алгоритмы распознавания | Интеллектуальные механизмы | Нейронные сети | Организация памяти мозга | Психика сознание | Психика человека | Психические процессы | Психические центры | Структура психики | Формирование мышления
Последняя из новостей: О том, как конкретно возможно определять наличие психический явлений у организмов: Скромное очарование этологических теорий разумности.
Все новости

Нейроны и вера: как работает мозг во время молитвы
19 убежденных мормонов ложились в сканер для функциональной МРТ и начинали молиться или читать священные тексты. В это время ученые наблюдали за активностью их мозга в попытке понять, на что похожи религиозные переживания с точки зрения нейрологии. Оказалось, они похожи на чувство, которое испытывает человек, которого похвалили.
Все статьи журнала
 посетителейзаходов
сегодня:22
вчера:55
Всего:72819927

Авторские права сайта Fornit
Яндекс.Метрика