Автор: Пользователь скрыл имя, 10 Марта 2012 в 14:00, курсовая работа
Эта курсовая работа посвящена важному классу нейронных сетей — многослойным сетям прямого распространения. Обычно сеть состоит из множества сенсорных элементов (входных узлов или узлов источника), которые образуют входной слой; одного или нескольких скрытых слоев(hiddenlayer) вычислительных нейронов и одного выходного слоя(outputlayer) нейронов
Введение………………………………………………………………….…..3
Глава 1. Класс нейронных сетей многослойный персептрон……………....5
1.1.Многослойный персептрон…………………………………...5
1.2. Обучение многослойного персептрона …..6
Глава 2.Алгоритмы обучения………………..12
2.1. Улучшение работы алгоритма обратного распространения……12
2.2.Особенности архитектуры многослойный персептрон....................20
Заключение...........................................................................................................23
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 близко к нулю) кривая вход-выход имеет сильный наклон, дающий большое усиление. Когда величина сигнала становится больше, усиление падает. Таким образом, большие сигналы воспринимаются сетью без насыщения, а слабые сигналы проходят по сети без чрезмерного ослабления.
Целью обучения сети алгоритмом обратного распространения ошибки является такая подстройка ее весов, чтобы приложение некоторого множества входов приводило к требуемому множеству выходов. Для краткости эти множества входов и выходов будут называться векторами. При обучении предполагается, что для каждого входного вектора существует парный ему целевой вектор, задающий требуемый выход. Вместе они называются обучающей парой. Сеть обучается на многих парах.