Многослойный персептрон

Автор: Пользователь скрыл имя, 10 Марта 2012 в 14:00, курсовая работа

Описание работы

Эта курсовая работа посвящена важному классу нейронных сетей — многослойным сетям прямого распространения. Обычно сеть состоит из множества сенсорных элементов (входных узлов или узлов источника), которые образуют входной слой; одного или нескольких скрытых слоев(hiddenlayer) вычислительных нейронов и одного выходного слоя(outputlayer) нейронов

Содержание

Введение………………………………………………………………….…..3
Глава 1. Класс нейронных сетей многослойный персептрон……………....5
1.1.Многослойный персептрон…………………………………...5
1.2. Обучение многослойного персептрона …..6
Глава 2.Алгоритмы обучения………………..12
2.1. Улучшение работы алгоритма обратного распространения……12
2.2.Особенности архитектуры многослойный персептрон....................20
Заключение...........................................................................................................23

Работа содержит 1 файл

Введение23.doc

— 489.50 Кб (Скачать)

Алгоритм обратного распространения ошибки следующий:

1.      Инициализировать синаптические веса маленькими случайными значениями.

2.      Выбрать очередную обучающую пару из обучающего множества; подать входной вектор на вход сети.

3.      Вычислить выход сети.

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

5.      Подкорректировать веса сети для минимизации ошибки (как см. ниже).

6.      Повторять шаги с 2 по 5 для каждого вектора обучающего множества до тех пор, пока ошибка на всем множестве не достигнет приемлемого уровня.

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.2.  Улучшение работы алгоритма обратного распространения

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

 

1.              Режим: последовательный или пакетный (sequentialversusbatchupdate). Последовательный режим обучения методом обратного распро­странения (использующий последовательное предоставление примеров эпохи с обновлением весов на каждом шаге) в вычислительном смысле оказывается значительно быстрее. Это особенно сказывается тогда, когда обучающее множество является большим и в высокой степени избыточным. (Избыточные данные вызы­вают вычислительные проблемы при оценке Якобиана, необходимой для пакетного режима.)

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

              -Использование примеров, вызывающих наибольшие ошибки обучения.

              -Использование примеров, которые радикально отличаются от ранее использованных.

Эти два эвристических правила мотивированы желанием максимально расширить область поиска в пространстве весов.

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

              -Распределение примеров в эпохе, представляемой сети, искажается.

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

3.              Функция активации(activationfunction). Многослойный персептрон,

обучаемый по алгоритму обратного распространения, может в принципе

обучаться быстрее (в терминах требуемого для обучения количества

итераций), если сигмоидальная функция активации нейронов сети является

антисимметричной, а не симметрич­ной.

Функция актива­цииназывается антисимметричной (т.е. четной функцией своего аргумента), если

,

что показано на рисунке 3, а. Стандартная логистическая функция не удовлетворяет этому условию (рисунок 3, б).

Известным примером антисимметричной функции активации является сигмои­дальная нелинейная функция гиперболического тангенса(hyperbolictangent)

где а иb — константы. Удобными значениями для констант а и b являются следу­ющие:

а = 1,7159, b = 2/3.

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

                            - (1) = 1 и (-1) = -1.

              -В начале координат тангенс угла наклона (т.е. эффективный угол)    функции активации близок к единице:

(0) = ab= 1,7159 × 2/3 = 1,1424.

-Вторая производнаядостигает своего максимального значения

приv= 1.

4.               Целевые значения (targetvalue). Очень важно, чтобы целевые значения выбирались из области значений сигмоидальной функции активации. Более точно, желаемый отклик нейрона jвыходного слоя многослойного персептрона должен быть сме­щен на некоторую величину ɛ от границы области значений функции активации в сторону ее внутренней части. В противном случае алгоритм обратного распро­странения будет модифицировать свободные параметры сети, устремляя их в бес­конечность, замедляя таким образом процесс обучения и доводя скрытые нейроны до предела насыщения. В качестве примера рассмотрим антисимметричную функ­цию активации, показанную на рисунке 3, а. Для предельного значения +а выберем

Аналогично, для предельного значения -а установим

 

где — соответствующая положительная константа. Для выбранного ранее значе­ния a = 1,7159  установим = 0,7159. В этом случае желаемый отклик будет находиться в диапазоне от —1 до +1 рисунок 3, а).

Рисунок 3.Границы решений, построенные для скрытого ней­рона 1 сети, показанной на рисунке (а); границы решений для скрытого нейрона 2 сети (б) и для всей сети (в)

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

Рисунок 4. Асимметричная (а) и антисимметричная (б) функции активации

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

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

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

На рисунке 5 показан результат трех шагов нормализации: смещения среднего, декорреляции и выравнивания ковариации, примененных в указанном порядке.

Рисунок 5. Результаты трех шагов нормализации: смещения среднего, декорреляции и выравнивания ковариации

6.              Инициализация(initialization). Хороший выбор начальных значений синаптиче­ских весов и пороговых значений (threshold) сети может оказать неоценимую по­мощь в проектировании.

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

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

Предположим, что входные значения, передаваемые нейронам сети, имеют нуле­вое среднее значение и дисперсию, равную единице, т.е.

Далее предположим, что входные сигналы некоррелированны:

 

и синаптические веса выбраны из множества равномерно распределенных чисел с нулевым средним

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

8.               Скорость обучения (learningrates). Все нейроны многослойного персептрона в идеале должны обучаться с одинаковой скоростью. Однако последние слои обыч­но имеют более высокие значения локальных градиентов, чем начальные слои сети. Исходя из этого параметру скорости обучения следует назначать мень­шие значения для последних слоев сети и большие — для первых. Чтобы время обучения для всех нейронов сети было примерно одинаковым, нейроны с боль­шим числом входов должны иметь меньшее значение параметра обучения, чем нейроны с малым количеством входов.

 

 

2.3.  Особенности обучения методом обратного распространения

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

   • Локальность метода изменения синаптических весов и порогов      многослойном персептроне.

   • Эффективность метода вычисления всех частных производных функциистоимости по свободным параметрам.

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

Информация о работе Многослойный персептрон