Лекция: Теорема о полноте.

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

Таким образом, нейронные сети являются универсальными структурами, позволяющими реализовать любой вычислительный алгоритм.

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

найти оптимальные значения всех переменных весовых коэффициентов (некоторые синаптические связи могут быть постоянными).

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

В процессе функционирования нейронная сеть формирует ыходной сигнал Y в соответствии с входным сигналом X, реализуя некоторую функцию g: Y = g (X). Если архитектура сети задана, то вид функции g определяетсй значениями синаптических весов и

смещений сети. Обозначим через G множество всех возможных функций g, соответствующих заданной архитектуре сети.

Пусть решение некоторой задачи есть функция г. Y = г(X),заданная парами входных-выходных данных (X1, Y1), ..., (Хk, Yk), для которых Yk = г(Xk), k= 1...N. E — функция ошибки (функционал качества), показывающая для каждой из функций g степень близости к г.

Решить поставленную задачу с помощью нейронной сети заданной архитектуры — это значит построить (синтезировать) функцию gÎG, подобрав параметры нейронов (синаптические веса и смещения) таким образом, чтобы функционал качества обращался в оптимум для всех пар (Хk, Yk). Таким образом, задача обучения нейронной сети определятся совокупностью пяти компонентов:

< X, Y, г, G, E>.

Обучение состоит в поиске (синтезе) функции g, оптимальной по Е. Оно требует длительных вычислений и представляет собой итерационную процедуру. Число итераций может составлять от 103 до 108, На каждой итерации происходит уменьшение функции ошибки.Функция Е может иметь произвольный вид. Если выбраны множество обучающих примеров и способ вычисления функции ошибки, обучение нейронной сети превращается в задачу многомерной оптимизации, для решения которой могут быть использозаны следующие методы:

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

• локальной оптимизации с вычислением частных производных первого и второго порядка (метод Ньютона, методы оптимизации с разреженными матрицами Гессе, квазиньютоновские методы, метод Гаусса-Ньютона, метод Левенберга-Маркардта);

• стохастической оптимизации (поиск в случайном направлении, имитация отжига, метод Монте-Карло);

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

Предпочтение следует отдавать тем методам, которые позволяют обучить нейронную сеть за небольшое число шагов и требуют малого числа дополнительных переменных. Пусть нейронная сеть содержит Р изменяемых параметров (синаптических весов и смещений). Существует лишь две группы алгоритмов обучения, которые требуют менее 2Р дополнительных параметров и при этом дают возможность обучать нейронные сети за приемлемое число шагов. Это алгоритмы с вычислением частных производных первого порядка и, возможно, одномерной оптимизации. Хотя указанные алгоритмы дают возможность находить только локальные экстремумы, они могут быть использованы на практике для обучения нейронных сетей с многоэкстремальными целевыми функциями (функциями ошибки), так как экстремумов у целевой функции, как правило, не очень много. Достаточно paз или два вывести сеть из локального минимума с большим значением целевой функции для того, чтобы в результате итераций в соответствии с алгоритмом локальной оптимизации сеть оказалась в локальном минимуме со значением целевой функции, близким к нулю. Если после нескольких попыток вывести сеть из локального минимума нужного эффекта добиться не удается, необходимо увеличить число нейронов во всех слоях с первого по предпоследний и присвоить случайным образом их синаптическим весам и смещениям значения из заданного диапазона. Эксперименты по обучению нейронных сетей показали, что совместное использование алгоритма локальной оптимизации, процедуры вывода сети из локального минимума и процедуры увеличения числа нейронов приводит к успешному обучению нейронных сетей.

 

8.5. Алгоритм «обучение с учителем».

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

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

 

E(w)=0,5å(yj,k(Q)dj,k)2,

 

где yj,k(Q) — реальное выходное состояние нейрона j выходного слоя нейронной сети при подаче на ее входы k-го образа; dj,k — требуемое выходное состояние этого нейрона.

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

¶E

Dwij(q)=-h ,

¶ wij

где wij(q) — весовой коэффициент синаптической связи, соединяющей i-й нейрон слоя (q-1) с j-м нейроном слоя q; h — коэффициент скорости обучения, 0 < h <1.

В соответствии с правилом дифференцирования сложной функции:

¶E ¶E dyj ¶sj

= × × ,

¶ wij ¶ yj d sj ¶ wij

 

где sj — взвешенная сумма входных сигналов нейрона j, т. е. аргумент активационной функции. Так как производная активационной функции должна быть определена на всей оси абсцисс, то функция единичного скачка и прочие активационные функции с неоднородностями не подходят для рассматриваемых нейронных сетей. В них применяются такие гладкие функции, как гиперболический тангенс или классический сигмоид с экспонентой. Например, в случае гиперболического тангенса:

Dy

= 1 – s2 .

D s

После несложных преобразований можно получить, что:

Dwij(q)=-h dj(q) × yi(q-1) ,

dyj

где: dj(q) = [ å dr(q+1) wjr(q+1)] d sj .

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

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

ШАГ 2. Рассчитать d(Q) и соответствующее изменение весовDw(Q) для выходного слоя Q.

ШАГ 3. Рассчитать по формулам d(q)и соответственно Dw(q) для всех остальных слоев, q=(Q-1)…1.

ШАГ 4. Скорректировать все веса в нейронной сети:

wij(q)(t) = wij(q)(t-1) + Dwij(q)(t).

ШАГ 5. Если ошибка сети существенна, перейти на шаг 1. В противном случае — конец.

Сети на шаге 1 попеременно в случайном порядке предъявляются все тренировочные образы, чтобы сеть, образно говоря, не забывали одни по мере запоминания других. Рассмотрим вопрос о емкости нейронной сёти, т. е. числа образов, предъявляемых на ее входы, которые она способна научиться распознавать. Для сетей с числом слоев больше двух, этот вопрос остается открытым. Для сетей с двумя слоями, детерминистская емкость сети Cd оценивается следующим образом:

Lw Lw Lw

m < Cd < m log m ,

 

где Lw — число подстраиваемых весов, m — число нейронов в выходном слое.

Рассмотренный алгоритм обратного распространения ошибки подразумевает наличие некоего внешнего звена (dj,k), предоставляющего нейронной сети, кроме входных, целевые выходные образы. Алгоритмы, основанные на подобной концепции, называются

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

 

8.6. Алгоритм «обучение без учителем».

Алгоритм обучения Хебба (обучения без учителя).

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

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

wij(t) = wij(t-1) + ayi(q-1) yj(q) (1.3).

где yi(q-1) — выходное значение нейрона iслоя (q-1), yj(q) – выходное значение нейрона j слоя q; wij(t)и wij(t-1) — весовой коэффициент синапса, соединяющего эти нейроны, на итерациях t и (t-1)соответственно; a — коэффициент скорости обучения. Здесь и далее, для общности, под q подразумевается произвольный слой сети.

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

ШАГ 1. На стадии инициализации всем весовым коэффициентам присваиваются небольшие случайные значения.

ШАГ 2. На входы сети подается входной образ, и сигналы возбуждения распространяются по всем слоям согласно принципам классических сетей прямого распространения (feedforward). При этом для каждого нейрона рассчитывается взвешенная сумма его входов, к которой затем применяется активационная функция нейрона, в результате чего получается его выходное значение yi(q), i=1…Lq, где Lq — число нейронов в слое q, q = 1...Q; Q – число слоёв в сети.

ШАГ 3. На основании полученных выходных значений нейронов по формуле (1.3) проводится изменение весовых коэффициентов.

ШАГ 4. Цикл с шага 2, пока выходные значения сети не стабилизируются с заданной точностью. Применение этого способа определения момента завершения обучения, отличного от использовавшегося для сети обратного распространения, обусловлено тем, что подстраиваемые значения синапсов фактически не ограничены. На шаге 2 цикла попеременно предъявляются все образы из входного набора.

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

 

еще рефераты
Еще работы по информатике