Состояние и перспективы развития нейрокомпьютерных систем

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



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

Согласно методу наименьших квадратов минимизируемой целевой функцией ошибки нейронной сети является

(4)

где - реальное выходное состояние нейрона j выходного слоя n нейронной сети при подаче на ее входы p-го образа;

- идеальное (желаемое) выходное состояние этого нейрона.

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

(5)

Где - весовой коэффициент синаптической связи, соединяющей i-й нейрон слоя n-1 с j-м нейроном слоя n, h - коэффициент скорости обучения, 0 < h < 1.

(6)

где под yj, подразумевается выход нейрона j, а под sj - взвешенная сумма его входных сигналов, т.е. аргумент активационной функции.

Так как множитель dyj/dsj является производной этой функции по ее аргументу, следовательно, производная активационной функции должна быть определена на всей оси абiисс. Поэтому функция единичного скачка и прочие активационные функции с неоднородностями не подходят для рассматриваемых нейронных сетей. Как правило, применяются такие гладкие функции, как гиперболический тангенс или классическая сигмоидальная функция с экспонентой. В случае гиперболического тангенса

(7)

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

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

(8)

где суммирование по k выполняется среди нейронов слоя n+1.

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

(9)

Тогда получим рекурсивную формулу для расчетов величин слоя n

из величин более старшего слоя n+1.

(10)

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

(11)

Запишем (5) в развернутом виде:

(12)

Для придания процессу коррекции весов инерционности,

сглаживающей резкие скачки при перемещении по поверхности целевой функции, (12) дополняется значением изменения веса на предыдущей итерации:

(13)

- коэффициент инерционности, t - номер текущей итерации. Таким образом, полный алгоритм обучения нейронной сети с помощью процедуры обратного распространения строится так:

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

(14)

где f - сигмоидальная функция;

(15)

- q-я компонента вектора входного образа.

Рассчитать для выходного слоя по формуле (11), а также по формуле (12) или (13) изменения весов слоя n.

Рассчитать по формулам (10) и (13) (или (11) и (13))

Соответственно и для всех остальных слоев, n=N-1,.1.

Скорректировать все веса в нейронной сети

(16)

Если ошибка сети существенна, перейти на шаг 1. В противном случае - завершение обучения.

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

Эффективность обучения заметно снижается когда выходное значение в (12) стремится к нулю. При двоичных входных векторах в среднем половина весовых коэффициентов не будет корректироваться, поэтому область возможных значений выходов нейронов [0; 1] желательно сдвинуть в пределы [-0,5; +0,5], что достигается простыми модификациями активационных функций, например: сигмоидальная функция с экспонентой преобразуется к виду

(17)

Рассмотрим вопрос о числе образов, предъявляемых на входы нейронной сети, которые она способна научиться распознавать (емкость нейронной сети). Для нейронной сети с одним скрытым слоем, детерминистская емкость нейронной сети Cd оценивается как

(18)

где Nw - число подстраиваемых весов, Ny - число нейронов в выходном слое.

Следует отметить, что данное выражение получено с учетом некоторых ограничений. Во-первых, число входов Nx и нейронов в скрытом слое Nh должно удовлетворять неравенству Nx+Nh > Ny.

Во-вторых, Nw/Ny >1000. Однако вышеприведенная оценка выполнялась для нейронных сетей с активационными функциями нейронов в виде порога, а емкость сетей с гладкими активационными функциями, обычно больше. Кроме того, фигурирующее в названии емкости прилагательное "детерминистский" означает, что полученная оценка емкости подходит абсолютно для всех возможных входных образов, которые могут быть представлены Nx входами. Распределение входных образов, как правило, обладает некоторой регулярностью, что позволяет нейронной сети проводить обобщение и, таким образом, увеличивать реальную емкость. Так как распределение образов, в общем случае, заранее не известно, можно говорить о такой емкости только предположительно, но обычно она раза в два превышает емкость детерминистскую.

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

Рис.16 Диаграмма сигналов при обучении нейронной сети по алг