на главную ] 

Основные модели и методы теории искусственных нейронных сетей.

Е.С.Борисов

среда, 19 октября 2005 г.


1 Введение

Математическая теория искусственных нейронных сетей многие идеи берёт из нейробиологической теории, согласно которой нервная система человека состоит из двух типов клеток -- нейронов и нейроглии.

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

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

Рисунок 1: нервная клетка
\includegraphics[height=3cm]{pict/bioneuron.ps}

Составные части нейрона :

Возбуждение нейрона начинается в дендритах (или соме) и распространяется вдоль по аксону, вызывая в итоге возбуждение в других нейронах. Таким образом нейроны образуют сеть.

2 Искусственная нейронная сеть

Искусственная нейронная сеть это совокупность нейронных элементов и связей между ними [1].

Рисунок 2: математическая модель нейрона
\includegraphics[width=10cm]{pict/Image39.ps}

Основу каждой искусственной нейронной сети составляют относительно простые, в большинстве случаев - однотипные, элементы (ячейки), имитирующие работу нейронов мозга (рис.2), далее под нейроном мы будем подразумевать искусственный нейрон, ячейку искусственной нейронной сети.

Рисунок 3: различные виды функции активации
a) пороговая
б) линейная ограниченная
в) биполярный сигмоид

Множество всех нейронов искусственной нейронной сети можно разделить на подмножества - т.н. слои. Взаимодействие нейронов происходит послойно.

Слой искусственной нейронной сети это множество нейронов на которые в каждый такт времени параллельно поступают сигналы от других нейронов данной сети [1].

Выбор архитектуры искусственной нейронной сети определяется задачей. Для некоторых классов задач уже существуют оптимальные конфигурации. Если же задача не может быть сведена ни к одному из известных классов, разработчику приходится решать задачу синтеза новой конфигурации. Проблема синтеза искусственной нейронной сети сильно зависит от задачи, дать общие подробные рекомендации затруднительно. В большинстве случаев оптимальный вариант искусственной нейронной сети получается опытным путем[2].

Искусственные нейронные сети могут быть программного и аппаратного исполнения. Реализация аппаратная обычно представляет собой параллельный вычислитель, состоящий из множества простых процессоров [3].

Важной особенностью искусственной нейронной сети есть возможность её обучения. Обычно процесс обучения сводится к корректировке весовых коэффициентов. Алгоритмы обучения искусственных нейронных сетей можно разделить на два класса:

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

Технология обучения ''с учителем'' искусственной нейронной сети обычно предполагает наличие двух однотипных множеств:

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

Так же определяется функция ошибки E. Обычно это средняя квадратичная ошибка [3]:


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

где

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

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

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

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

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

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

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

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

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


wij(t+1) = wij(t) + a * xi * dj (1)

где

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

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

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


\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}

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

wj(t+1)=wj(t) - a * (yk-dk)* xjk (4)

На рис.4 изображён пример результатов работы линейного классификатора на основе ADALINE.
 
Рисунок 4: результат работы ADALINE
adaline result
 
Реализация ADALINE в системе Octave здесь  ].
 

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

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

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

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


\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}
\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)

4 Обучение без учителя

Для методов обучения ''без учителя'', так же как и методов обучения ''с учителем'', требуется множество учебных примеров. Процесс обучения, как и в случае обучения ''с учителем'', сводится к подстраиванию весовых коэффициентов. Но в отличии от обучения ''с учителем'', здесь нет эталонных выходов и веса изменяются по алгоритму, учитывающему только входные и производные от них сигналы.

4.1 Метод Хебба

Метод Хебба основывается на биологическом феномене обучения путем повторения и привыкания. Этот феномен еще известен как эффект проторения[7].

При обучении искусственной нейронной сети сигнальным методом Хебба[8] усиливаются связи между возбужденными нейронами, в данном случае веса изменяются по следующему правилу:


wij(t+1)=wij(t)+a * yi[n-1] * yj[n] (13)

где

Существует также дифференциальный метод обучения Хебба.


wij(t+1)=wij(t) + a * ( yi[n-1](t) - yi[n-1](t-1) ) * ( yj[n](t) - yj[n](t-1) ) (14)

Здесь

Как видно из (14), сильнее всего обучаются синапсы, соединяющие те нейроны, выходы которых наиболее динамично изменились в сторону увеличения.


Литература

1
В.А.Головко, под ред.проф.А.И.Галушкина Нейронные сети: обучение, организация и применение. - Москва : ИПРЖР, 2001

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

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

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

5
D.E.Rumelhart, G.E.Hinton, R.J.Williams Learning internal representations by error propagation. // In Parallel distributed processing, vol. 1, pp. 318-62. Cambridg, MA: MIT Press, 1986.

6
В.Widrow, M.Hoff Adaptive switching circuits. // IRE WESCON Convention Record, part 4, pp. 96-104. New York: Institute of Radio Engineers, 1960.

7
Ю.И.Петунин Приложение теории случайных процессов в биологии и медицине. - Киев : Наукова Думка, 1981.

8
D.O.Hebb Organization of behavior. - New York: Science Editions, 1949.


Evgeny S. Borisov
2005-10-19
При использовании материалов этого сайта, пожалуйста вставляйте в свой текст ссылку на мою статью.