Многослойный персептрон
9
Содержание:
Введение…………………………………………………………
Глава 1. Класс нейронных сетей многослойный персептрон……………....5
1.1.Многослойный персептрон…………………………………...5
1.2. Обучение многослойного персептрона …..6
Глава 2.Алгоритмы обучения………………..12
2.1. Улучшение работы алгоритма обратного распространения……12
2.2.Особенности архитектуры многослойный персептрон....................
Заключение....................
Введение
Актуальность. Эта курсовая работа посвящена важному классу нейронных сетей — многослойным сетям прямого распространения. Обычно сеть состоит из множества сенсорных элементов (входных узлов или узлов источника), которые образуют входной слой; одного или нескольких скрытых слоев(hiddenlayer) вычислительных нейронов и одного выходного слоя(outputlayer) нейронов. Входной сигнал распространяется по сети в прямом направлении, от слоя к слою. Такие сети обычно называют многослойными персептронами(multilayerpercet
Целью данной работы является изучение многослойного персептрона как класса нейронных сетей.
Поставленная цель решается посредством следующих задач:
- раскрыть понятие и характерные особенности многослойного персептрона;
- охарактеризовать обучение нейронных сетей;
-рассмотреть возможности улучшения деятельности многослойного персептрона.
Объектом работы является многослойные сети прямого распространения.
Предметом исследования является рассмотрение класса нейронных сетей применение, обучение и особенности.
Практическая значимость многослойные персептроны, как тип нейронных сетей, таит большой потенциал, о чем свидетельствует не только все возрастающее из года в год число публикаций по их применению для решения разнообразных задач, но и возникающие архитектуры нейронный сетей ( такие как ассоциативные нейронные сети), включающие многослойные персептроны в качестве составных элементов.
Структура работы. Работа состоит из введения, 2 глав, 4 параграфов,
5 рисунков.
Глава1. Класс нейронных сетей многослойный персептрон
1.1 . Многослойный персептрон
Архитектура сети, многослойный персептрон используется сейчас наиболее часто. Она была предложена в работе Rumelhart, McClelland (1986). Обычно сеть состоит из множества сенсорных элементов (входных узлов), которые образуют входной слой; одного или нескольких скрытых слоев вычислительных нейронов и одного выходного слоя нейронов.
В литературе нет единообразия относительно того, как считать число слоев в многослойных нейронных сетях. Одни предлагают считать число слоев, включая несуммирующий входной слой, другие – считать, только слои, выполняющие суммирование.
Многослойная нейронная сеть может моделировать функцию практически любой степени сложности, причем число слоев и число элементов в каждом слое определяют сложность функции. Определение числа промежуточных слоев и числа элементов в них является важным вопросом при конструировании.
Среди многослойных нейронных сетей можно выделить четыре наиболее значимых и важных класса нейронных сетей:
1. Сети прямого распространения – все связи направлены строго от входных нейронов к выходным. Такие сети еще называют многослойным персептроном, по аналогии с обычным персептроном Розенблатта, в котором только один слой;
2. Реккурентные нейронные сети или сети обратного распространения – сигнал в таких сетях с выходных нейронов или нейронов скрытого слоя частично передается обратно на входы нейронов входного слоя;
3. Радиально базисные функции – вид многослойной нейронной сети, имеющий скрытый слой из радиальных элементов и выходной слой из линейных элементов. Сети этого типа довольно компактны и быстро обучаются. Радиально базисная сеть обладает следующими особенностями: один скрытый слой, только нейроны скрытого слоя имеют нелинейную активационную функцию и синаптические веса входного и скрытого слоев равны единицы;
4. Самоорганизующиеся карты или сеть Кохонена. Такой класс многослойных нейронных сетей, как правило, обучается без учителя и успешно применяется в задачах распознавания. Сети такого класса способны выявлять новизну во входных данных: если после обучения сеть встретится с набором данных, непохожим ни на один из известных образцов, то она не сможет классифицировать такой набор и тем самым выявит его новизну. Сеть Кохонена имеет всего два слоя: входной и выходной, составленный из радиальных элементов..
Многослойные персептроны успешно применяются для решения разнообразных сложных задач и имеют следующих три отличительных признака.
Свойство 1. Каждый нейрон сети имеет нелинейную функцию активации
Важно подчеркнуть, что такая нелинейная функция должна быть гладкой (т.е. всюду дифференцируемой), в отличие от жесткой пороговой функции, используемой в персептроне Розенблатта. Самой популярной формой функции, удовлетворяющей этому требованию, является сигмоидальная. Примером сигмоидальной функции может служить логистическая функция, задаваемая следующим выражением:
где a – параметр наклона сигмоидальной функции. Изменяя этот параметр, можно построить функции с различной крутизной.
Наличие нелинейности играет очень важную роль, так как в противном случае отображение «вход-выход» сети можно свести к обычному однослойному персептрону.
Свойство 2. Несколько скрытых слоев
Многослойный персептрон содержит один или несколько слоев скрытых нейронов, не являющихся частью входа или выхода сети. Эти нейроны позволяют сети обучаться решению сложных задач, последовательно извлекая наиболее важные признаки из входного образа.
Свойство 3. Высокая связность
Многослойный персептрон обладает высокой степенью связности, реализуемой посредством синаптических соединений. Изменение уровня связности сети требует изменения множества синаптических соединений или их весовых коэффициентов.
Комбинация всех этих свойств наряду со способностью к обучению на собственном опыте обеспечивает вычислительную мощность многослойного персептрона. Однако эти же качества являются причиной неполноты современных знаний о поведении такого рода сетей: распределенная форма нелинейности и высокая связность сети существенно усложняют теоретический анализ многослойного персептрона.
Глава 2. Алгоритмы обучения
2.1. Режимы обучения на основе алгоритма обратного распространения ошибки
В процессе обучения многослойного персептрона с применением алгоритма обратного распространения ошибки ему многократно предъявляется предопределенное множество обучающих примеров. Один полный цикл предъявления полного набора примеров обучения называют эпохой. Процесс обучения проводится от эпохи к эпохе, пока синаптические веса и уровни порога не стабилизируются, а среднеквадратическая ошибка на всем обучающем множестве не сойдется к некоторому минимальному значению. Целесообразно случайным образом изменять порядок представления примеров обучения для разных эпох. Такой принцип предъявления образов делает поиск в пространстве весов стохастическим, предотвращая потенциальную возможность появления замкнутых циклов в процессе эволюции синаптических весов.
Алгоритм обратного распространения ошибки можно реализовать двумя способами.
Последовательный режим
Последовательный режим обучения на основе алгоритма обратного распространения ошибки также иногда называют стохастическим или интерактивным. В этом режиме корректировка весов проводится после подачи каждого примера. Это наиболее часто используемый режим. Сети предъявляется первый пример этой эпохи, после чего выполняются прямые и обратные вычисления. Т.е. проводится корректировка синаптических весов сети. После этого сети предъявляется вторая пара в эпохе, повторяются прямой и обратный проходы, приводящие к следующей коррекции синаптических весов.
Этот процесс повторяется, пока сеть не завершит обработку последней обучающей пары данной эпохи
Пакетный режим
В пакетном режиме обучения на основе алгоритма обратного распространения ошибки корректировка весов проводится после подачи в сеть всех обучающих примеров одной эпохи
С точки зрения процессов реального времени, последовательный режим является более предпочтительным, чем пакетный, так как требует меньшего объема внутреннего хранилища для каждой синаптической связи. Более того, предъявляя обучающие примеры в случайном порядке (в процессе последовательной корректировки весов), поиск в пространстве весов можно сделать действительно стохастическим. Это, в свою очередь, сокращает до минимума возможность остановки алгоритма в точке какого-либо локального минимума.
Следует отметить, что стохастическая природа последовательного режима усложняет построение теоретического фундамента для нахождения условий сходимости алгоритма. В противовес этому использование пакетного режима обеспечивает гарантию сходимости алгоритма к локальному минимуму при довольно простых условиях. Стоит отметить, что в доказательстве сходимости алгоритма обратного распространения ошибки используется именно пакетный режим обучения. Помимо всего вышесказанного, в пакетном режиме легче распараллелить вычисления.
Если данные обучения являются избыточными (т.е. содержат по несколько копий одних и тех же примеров), то предпочтительнее использовать последовательный режим, так как примеры все равно подаются по одному. Это преимущество особенно заметно при больших наборах данных с высокой степенью избыточности.
В итоге можно сказать, что, несмотря, на многие недостатки последовательного режима алгоритма обратного распространения ошибки, он остается очень популярным (особенно при решении задач распознавания образов) по двум практическим причинам: этот алгоритм прост в реализации, и он обеспечивает эффективное решение сложных задач.
2.1. Алгоритм обратного распространения ошибки
Алгоритм обратного распространения ошибки является одним из методов обучения многослойных нейронных сетей прямого распространения, называемых также многослойными персептронами. Многослойные персептроны успешно применяются для решения многих сложных задач.
Обучение алгоритмом обратного распространения ошибки предполагает два прохода по всем слоям сети: прямого и обратного. При прямом проходе входной вектор подается на входной слой нейронной сети, после чего распространяется по сети от слоя к слою. В результате генерируется набор выходных сигналов, который и является фактической реакцией сети на данный входной образ. Во время прямого прохода все синаптические веса сети фиксированы. Во время обратного прохода все синаптические веса настраиваются в соответствии с правилом коррекции ошибок, а именно: фактический выход сети вычитается из желаемого, в результате чего формируется сигнал ошибки. Этот сигнал впоследствии распространяется по сети в направлении, обратном направлению синаптических связей. Отсюда и название – алгоритм обратного распространения ошибки. Синаптические веса настраиваются с целью максимального приближения выходного сигнала сети к желаемому.
Рассмотрим работу алгоритма подробней. Допустим необходимо обучить следующую нейронную сеть, применив алгоритм обратного распространения ошибки.
В качестве активационной функции в многослойных персептронах, как правило, используется сигмоидальная активационная функция, в частности логистическая функция активации, представленная формулой (1.1) выше.
Сигмоид сужает диапазон изменения так, что значение лежит между нулем и единицей. Многослойные нейронные сети обладают большей представляющей мощностью, чем однослойные, только в случае присутствия нелинейности. Сжимающая функция обеспечивает требуемую нелинейность. В действительности имеется множество функций, которые могли бы быть использованы. Для алгоритма обратного распространения ошибки требуется лишь, чтобы функция была всюду дифференцируема. Сигмоид удовлетворяет этому требованию. Его дополнительное преимущество состоит в автоматическом контроле усиления. Для слабых сигналов (т.е. когда OUT близко к нулю) кривая вход-выход имеет сильный наклон, дающий большое усиление. Когда величина сигнала становится больше, усиление падает. Таким образом, большие сигналы воспринимаются сетью без насыщения, а слабые сигналы проходят по сети без чрезмерного ослабления.
Целью обучения сети алгоритмом обратного распространения ошибки является такая подстройка ее весов, чтобы приложение некоторого множества входов приводило к требуемому множеству выходов. Для краткости эти множества входов и выходов будут называться векторами. При обучении предполагается, что для каждого входного вектора существует парный ему целевой вектор, задающий требуемый выход. Вместе они называются обучающей парой. Сеть обучается на многих парах.
Алгоритм обратного распространения ошибки следующий:
1. Инициализировать синаптические веса маленькими случайными значениями.
2. Выбрать очередную обучающую пару из обучающего множества; подать входной вектор на вход сети.
3. Вычислить выход сети.
4. Вычислить разность между выходом сети и требуемым выходом (целевым вектором обучающей пары).
5. Подкорректировать веса сети для минимизации ошибки (как см. ниже).
6. Повторять шаги с 2 по 5 для каждого вектора обучающего множества до тех пор, пока ошибка на всем множестве не достигнет приемлемого уровня.
Появление алгоритма обратного распространения ошибки стало знаковым событием в области развития нейронных сетей, так как он реализует вычислительно эффективный метод обучения многослойного персептрона. Будет неправильно утверждать, что алгоритм обратного распространения ошибки предлагает действительно оптимальное решение всех потенциально разрешимым проблем.
2.2. Улучшение работы алгоритма обратного распространения
Часто утверждают, что проектирование нейронных сетей, использующих алгоритм обратного распространения, является скорее искусством, чем наукой. При этом имеют в виду тот факт, что многочисленные параметры этого процесса определяются только на основе личного практического опыта разработчика. В этом утверждении есть доля правды. Тем не менее, приведем некоторые общие методы, улучшающие производительность алгоритма обратного распространения.
1. Режим: последовательный или пакетный (sequentialversusbatchupdate). Последовательный режим обучения методом обратного распространения (использующий последовательное предоставление примеров эпохи с обновлением весов на каждом шаге) в вычислительном смысле оказывается значительно быстрее. Это особенно сказывается тогда, когда обучающее множество является большим и в высокой степени избыточным. (Избыточные данные вызывают вычислительные проблемы при оценке Якобиана, необходимой для пакетного режима.)
2. Максимизация информативности (maximizinginformationcontent)
-Использование примеров, вызывающих наибольшие ошибки обучения.
-Использование примеров, которые радикально отличаются от ранее использованных.
Эти два эвристических правила мотивированы желанием максимально расширить область поиска в пространстве весов.
В задачах классификации, основанных на последовательном обучении методом обратного распространения, обычно применяется метод случайного изменения порядка следования примеров, подаваемых на вход многослойного персептрона, от одной эпохи к другой. В идеале такая рандомизация приводит к тому, что успешно обрабатываемые примеры будут принадлежать к различным классам. Более утонченным приемом является схема акцентирования(emphasizingsche
-Распределение примеров в эпохе, представляемой сети, искажается.
-Наличие исключений или немаркированных примеров может привести к катастрофическим последствиям с точки зрения эффективности алгоритма. Обучение на таких исключениях подвергает риску способность сети к обобщению в наиболее правдоподобных областях пространства входных сигналов.
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. Особенности обучения методом обратного распространения
Обучение методом обратного распространения возникло как стандартный алгоритм обучения многослойного персептрона, по сравнению с которым все…остальные…алгоритмы обучения часто отбраковываются по тем или иным…соображениям. Алгоритм обратного распространения получил свое название и потому, что частные производные функции стоимости (как меры производительности) по свободным параметрам сети (синаптическим весам и порогам) определяются с помощью обратного распространения сигнала ошибки (вычисленного выходными нейронами) по сети, слой за слоем. Таким образом, решается задача присваивания коэффициентов доверия в самой элегантной из возможных форм. Вычислительная мощь этого алгоритма вытекает из двух его характерных особенностей.
• Локальность метода изменения синаптических весов и порогов многослойном персептроне.
• Эффективность метода вычисления всех частных производных функциистоимости по свободным параметрам.
В течение каждой отдельно взятой эпохи данных обучения алгоритм обратногораспространения работает в одном из двух режимов: последовательном…или…пакетном.
…В последовательном режиме все синаптические веса всех нейронов сети перссчитываются при подаче каждого примера обучения. Отсюда следует, что…оценка вектора градиента поверхности ошибок, используемая во всех вычислениях, является стохастической (случайной) по своей природе. Поэтому такой режим (как, в общем, и весь метод) получил название "стохастического обратного распространения". С другой стороны, в пакетном режиме изменение синаптических весов и порогов выполняется один раз за всю эпоху. Это приводит к более точной оценке вектора градиента, используемого при вычислениях. Несмотря на свои недостатки, последовательная (стохастическая) форма обучения методом обратного распространения при создании нейронных сетей используется гораздо чаще, особенно в больших задачах. Для того чтобы добиться наилучшего результата, требуется основательная настройка алгоритма.

- Многостороннее регулирование внешней торговли
- Многостороннее регулирование международной торговли
- Многосторонние межгосударственные организации
- Многосторонняя дипломатия и её применение в современной России
- Многоступенчатый осевой компрессор
- Многотиражная печать как компонент связей с общественностью
- Многотиражная печать как средство PR
- Многопрофильные турагентства
- Многопроцессорные системы
- Многопроцессорные системы (Операционные системы UNIX)
- Многопустотные плиты перекрытия
- Многопустотные плиты перекрытия
- Многопустотные плиты перекрытия
- Многороцессорные системы