Обучение искусственных нейронных сетей icon

Обучение искусственных нейронных сетей




Скачати 191.74 Kb.
НазваОбучение искусственных нейронных сетей
Дата01.07.2012
Розмір191.74 Kb.
ТипДокументи

Обучение искусственных нейронных сетей

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


Когда идет разговор об использовании НС и нейросетевых алгоритмов, почти всегда подразумеваются определенные процедуры их обучения. НС представляет собой адаптивную систему, жизненный цикл которой состо­ит из двух независимых фаз - обучения и работы сети. Обучение считается законченным, когда сеть правильно выполняет преобразование на тестовых примерах и дальнейшее обучение не вызывает значи­тельного изменения настраиваемых весовых коэффициентов. Далее сеть выполняет преобразование ранее неизвестных ей данных на основе сформированной ею в процессе обучения нелинейной модели процесса. Сеть успешно работа­ет до тех пор, пока существенно не изменится реальная модель отображаемого явления (например, в случае возникновения ситуации, информа­ция о которой никогда ни предъявлялась сети при обуче­нии). После этого сеть может быть дообучена с учетом новой информации, причем при дообучении предыдущая информация не теряется, а обобщается с вновь поступившей. При "повреждении" части весовых ко­эффициентов НС ее свойства могут быть полностью восстановлены в процессе дообучения.

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

Существуют три парадигмы обучения: "с учителем", "без учителя" (самообучение) и смешанная.

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

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

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

В многослойных же сетях оптимальные выходные значения нейронов всех слоев, кроме последнего, как правило, не известны, и двух или более слойную НС уже невозможно обучить, руководствуясь только вели­чина­ми ошибок на выходах этой сети. Один из вариантов решения этой про­блемы - разработка наборов выходных сигналов, соответствующих вход­ным, для каждого слоя НС, что, конечно, является очень трудоемкой опе­рацией и не всегда осуществимо. Второй вариант - динамическая подстройка весовых коэффициентов синапсов, в ходе которой выбираются, как правило, наиболее слабые связи, которые изменяются на малую вели­чину в ту или иную сторону. Сохраняются же только те изменения, кото­рые повлекли уменьшение ошибки на выходе всей сети. Очевидно, что данный метод "проб", несмотря на свою кажущуюся простоту, требует громоздких рутинных вычислений. И, наконец, третий, более приемлемый вариант - распространение сигналов ошибки от выходов НС к ее входам, в направлении обратном прямому распространению сигналов в обычном режиме работы. Этот алгоритм обучения НС получил название проце­дуры обратного распространения (back-propagation algorithm) и является наибо­лее широко используемым. Именно он будет более подробно рассмотрен в дальнейшем.

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


, (1.24)


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

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

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


. (1.25)


Здесь - весовой коэффициент синаптическои связи, соединяющей 1-й нейрон слоя (п-1) с j-м нейроном слоя п

- коэффициент скоро­сти обучения, 0 << 1.

. (1.26)

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

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


. (1.27)


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

Что касается первого множителя в (1.26), он легко раскладывается следующим образом:


(1.28)


Здесь суммирование по k выполняется среди нейронов слоя (n +1). Введя новую переменную


, (1.29)


мы получим рекурсивную формулу для расчетов величин слоя п из величин более старшего слоя (п +1).

. (1.30)


(1.29)
(1.31)


(1.32)
Для выходного же слоя


. (1.31)

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


(1.32)

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


(1.33)


где - коэффициент инерционности, t - номер текущей итерации.

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

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

(1.34)


где М - число нейронов в слое (п-1) с учетом нейрона с постоянным выходным состоянием +1, задающего смещение; i-й вход нейрона j слоя п


(1.35)

где f()- сигмоид.

(1.36)

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

  1. Рассчитать для выходного слоя по формуле (1.31).

Рассчитать по формуле (1.32) или (1.33) изменения весов слоя N.

  1. Рассчитать по формулам (1.30) и (1.32) (или (1.30) и (1.33)) соответ­ственно и для всех остальных слоев, п = N-1,...,1.

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


(1.37)


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

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

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


, (1.38)


Рассматриваемый алгоритм обучения НС имеет несколько "узких мест". Во-первых, в процессе обучения может возникнуть ситуация, когда большие положительные или отрицательные значения весовых коэффициентов сместят рабочую точку на сигмоидах многих нейронов в область насыщения. Малые величины производной от логистической функции приведут в соответствие с (1.30) и (1.31) к остановке обучения, что пара­лизует НС. Во-вторых, применение метода градиентного спуска не гарантирует, что будет найден глобальный, а не локальный минимум целевой функции. Эта проблема связана еще с одной, а именно - с выбором вели­чины скорости обучения.

Доказательство сходимости обучения в процессе обратного распространения основано на вычислении производных, то есть приращении весов и, следова­тельно, скорость обучения должна быть бесконечно малой, однако в этом случае обучение будет происходить неприемлемо медленно. С другой стороны, слишком большие коррекции весов могут привести к постоянной неустойчивости процесса обучения. Поэтому в качестве ? обычно выбирается число меньше 1, но не очень маленькое, например 0.1, и оно, в общем случае, может постепенно уменьшаться в процессе обучения, Кроме того, для исключения случайных попаданий в локальные минимумы иногда, после того как значения весовых коэффици­ентов застабилизируются, ? кратковременно сильно увеличивают, чтобы начать градиентный спуск из новой точки. Если повторение этой процедуры несколько раз приведет алгоритм в одно и то же состояние НС, можно более или менее уверенно сказать, что найден глобальный минимум.

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

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

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



Awi-sHa

«

^fr>*•••**«««*««•••«•••«•«
Обучение без учителя


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


(1.39)

-

где - выходное значение i-ro нейрона (п-1)-го слоя, - выходное значение j-го нейрона слоя п, и - весовой коэффициент синапса, соединяющего эти нейроны, на итерациях t и t-1 соoтветственно; - коэффициент скорости обучения. Здесь и далее для общности под п подразумевается произвольный слой сети. При обучении по данному методу усиливаются связи между


("}
возбужденными нейронами.

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


(1.40)


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

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

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

Шаг 2. На входы сети подается входной образ, и сигналы возбуждения распространяются по всем слоям согласно принципам классических прямопоточных (feedforward) сетей, то есть для каждого нейрона рассчитывается взвешенная сумма его входов, к которой затем применяется активационная (передаточная) функция нейрона, в результате чего получается его выходное значение где Мi - число нейронов в слое i; n = 0...(N -1), а N - число слоев в сети.

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

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

На втором шаге цикла попеременно предъявляются все образы из входного набора.



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

Другой алгоритм обучения без учителя - алгоритм Кохонена - преду­сматривает подстройку синапсов на основании их значений от предыду­щей итерации.


(1.41)


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

Полный алгоритм обучения имеет примерно такую же структуру, как в методах Хебба, но на третьем шаге из всего слоя выбирается нейрон, значения си­напсов которого максимально походят на входной образ, и подстройка весов по формуле (1.41) проводится только для него. Эта так называемая аккредитация может сопровождаться затормаживанием всех остальных нейронов слоя и введением выбранного нейрона в насыщение. Выбор такого нейрона может осущест­вляться, например, расчетом скалярного произведения вектора весовых коэффициентов с вектором входных значений. Максимальное произведение дает выигравший нейрон.

Другой вариант - расчет расстояния между этими векторами в p-мерном пространстве


(1.42)

(1.42)

где р- размерность векторов, j - индекс нейрона в слое п, i - индекс суммирования по нейронам (n-l)-ro слоя, Wij - вес синапса, соединяющего нейроны; выходы нейронов (п-1)-го слоя являются входными значениями для слоя п. Корень в формуле (1.42) брать не обязательно, так как важна лишь относительная оценка различных Dj .

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

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


(1.43)


1.43)
где хi - i -я компонента вектора входного образа или вектора весовых коэффициентов, a n- его размерность. Такой подход позволяет сократить длительность процесса обучения.

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


(1.44)


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


(1.45)

где п - размерность вектора весов для нейронов инициализируемого слоя.

На основе рассмотренного выше метода строятся нейронные сети особого типа - так называемые самоорганизующиеся структуры - self-organizing feature maps. Однако речь идет не об изменении структуры сети, а только о подстройке синапсов. Для них после выбора из слоя п j –го нейрона с минимальным расстоянием D, обучается по формуле (1.41) не только этот нейрон, но и его соседи, расположенные в окрестности R. Величина R на первых итерациях очень большая, так что обучаются все нейроны, но с тече­нием времени она уменьшается до нуля. Таким образом, чем ближе конец обучения, тем точнее определяется группа нейронов, отвечающих каждому классу образов.

Другим распространенным методом обучения "без учителя" является обучение методом соревнования. В отличие от правила обучения Хебба, в котором множество выходных нейронов могут возбуждаться одновременно, при сорев­новательном обучении выходные нейроны соревнуются между собой за активизацию. Это явление известно как правило "победитель берет все". Подобное обуче­ние имеет место в биологических нейронных сетях. Обучение посредством соревнования позволяет кластеризовать входные данные: подобные примеры группируются сетью в соответствии с корреляцией и представляются одним элементом.

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

^ Кроме рассмотренных, следует упомянуть некоторые другие алгорит­мы: Adaline и Madaline, линейный дискриминантный анализ, проекции Сам­мона, анализ главных компонентов.

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

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

Схожі:

Обучение искусственных нейронных сетей iconОсновы теории искусственных сетей
Актуальность исследований искусственных нейронных сетей подтверждается многообразием их возможных применений. Теория нс является...
Обучение искусственных нейронных сетей iconИнструкция по настройке и использованию комплекса Fcomplex | \ / Fcomplex
Давление", "Влажность" и "Скорость ветра" с дальностью 1,3,6 и 9 часов. Помимо этого, Fcomplex позволяет проводить вычислительные...
Обучение искусственных нейронных сетей iconДокументи
1. /ИНТЕЛЛЕКТУАЛЬНЫЕ ОБУЧАЮЩИЕ СИСТЕМЫ НА ОСНОВЕ НЕЙРОННЫХ СЕТЕЙ.doc
Обучение искусственных нейронных сетей iconУдк 004. 822 Анализ методов извлечения знаний из нейронных сетей
В связи с этим актуальной становится задача извлечения из нейронной сети логической зависимости между её входными и выходными параметрами,...
Обучение искусственных нейронных сетей iconСтипендии в университетах Швеции
Стипендии на обучение в шведских институтах направлены на высококвалифицированных студентов. Около 45 стипендий выделено на обучение...
Обучение искусственных нейронных сетей iconНациональный аэрокосмический университет им. Н. Е. Жуковского «Харьковский авиационный институт» Кафедра компьютерных систем и сетей Научно-технический центр
На кафедре компьютерных систем и сетей c 31 мая 2001 года работает постоянно действующий Всеукраинский научно-технический семинар...
Обучение искусственных нейронных сетей iconНациональный аэрокосмический университет им. Н. Е. Жуковского «Харьковский авиационный институт» Кафедра компьютерных систем и сетей Научно-технический центр
На кафедре компьютерных систем и сетей c 31 мая 2001 года работает постоянно действующий Всеукраинский научно-технический семинар...
Обучение искусственных нейронных сетей iconДокументи
1. /Дистанционное(заочное ) и последипломное обучение/ДИСТАНЦИОННОЕ/Положення Проект.doc
Обучение искусственных нейронных сетей iconБухбиндер В. А основи методики преподавания иностранных языков
Скалкин В. Л. Обучение диалогической речи. К.: Рад школа, 1989. 157 с. 12. Скалкин В. Л. Обучение монологическому высказыванию. К.:...
Обучение искусственных нейронных сетей iconОбщие положения по подготовке дипломной работы
Дипломная работа является обязательной на заключительном этапе обучения студентов для присвоения квалификации "специалист". Дипломная...
Додайте кнопку на своєму сайті:
Документи


База даних захищена авторським правом ©zavantag.com 2000-2013
При копіюванні матеріалу обов'язкове зазначення активного посилання відкритою для індексації.
звернутися до адміністрації
Документи