Главная » Все файлы » Просмотр файлов из архивов » Документы » Методические указания к лабораторной работе №2

Методические указания к лабораторной работе №2

2017-06-07СтудИзба

Описание файла

Документ из архива "Методические указания к лабораторной работе №2", который расположен в категории "". Всё это находится в предмете "нейрокомпьютерные сети" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "нейрокомпьютерные сети" в общих файлах.

Онлайн просмотр документа "Методические указания к лабораторной работе №2"

Текст из документа "Методические указания к лабораторной работе №2"

Лабораторная работа №2. Моделирование и исследование сетей обратного распространения.

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

Общие сведения

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

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

W1

OUT

o

w2

1

o

wn

2

o n

NET

NET = o1w1 + o2w2+. . . +onwn =  oiwi

OUT = F(NET)

Рис.1. Искусственный нейрон с активационной функцией.



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

OUT = 1/(1+ e-NET) (1)

Рис. 2

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

 OUT/OUTOUT

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

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





Входной

слой i

Скрытый слой j

Выходной слой k



OUT1

Желаемый

сигнал1

w11

w12

X1



OUT2

Ошибка1

Желаемый сигнал2

X2



Ошибка2



OUTn

Желаемый сигналn

w2m

Xn



w3m



Ошибкаn



Рис.3. Двухслойная сеть обратного распространения.



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

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

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

Алгоритм обучения:

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

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

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

На шаги 1 и 2 можно смотреть как на «проход вперед», так как сигнал распространяется по сети от входа к выходу.



  1. Подкорректировать веса сети так, чтобы минимизировать ошибку.

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

Шаги 3, 4 составляют «обратный проход», вычисляемый сигнал ошибки распространяется обратно по сети и используется для подстройки весов.



Проход вперед.

Шаги 1 и 2 могут быть выражены в векторной форме следующим образом: подается входной вектор Х и на выходе получается вектор Y. Векторная пара вход-цель, Х и Т, берется из обучающего множества. Вычисления проводятся над вектором Х, чтобы получить выходной вектор Y.

Вычисления в многослойных сетях выполняются слой за слоем, начиная с ближнего ко входу слоя. Величина NET каждого нейрона первого слоя вычисляется как взвешенная сумма входов нейрона. Затем активационная функция F “сжимает” NET и дает OUT для каждого нейрона в этом слое. Когда множество выходов слоя получено, оно является входным множеством для следующего слоя. Процесс повторяется слой за слоем, пока не будет получено заключительное множество выходов сети.

Этот процесс может быть выражен в векторной форме. Рассмотрим веса между нейронами как матрицу W. Например, вес от нейрона 8 в слое 2 к нейрону 5 в слое 3 обозначается как w8,5. Тогда NET- вектор слоя N может быть выражен как произведение X и W. В векторном обозначении: N=X*W. Покомпонентным применением функции F к NET- вектору получается выходной вектор О.

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

O=F(X*W) (3)

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

Обратный проход.

Так как для каждого нейрона выходного слоя задано целевое значение, то подстройка весов легко осуществляется с использованием модифицированного дельта-правила (-разность между целевым и реальным выходом). Внутренние слои назовем “скрытыми слоями”. Для их выходов не имеется целевых значений для сравнения. Поэтому обучение усложняется.

На рис. 4 показан процесс обучения для одного веса от нейрона р в скрытом слое j к нейрону q в выходном слое k.

Рис.4. Настройка веса в выходном слое.



Выход нейрона слоя k, вычитаемый из целевого значения (Target), дает сигнал ошибки. Он умножается на производную сжимающей функции [OUT*(1-OUT)], вычисленную для этого нейрона слоя k, давая, таким образом, величину q,k

q,kOUT*(1-OUT)*(Target-OUT). (4)

Затем q,kумножается на величину OUT нейрона j, из которого выходит рассматриваемый вес. Это произведение, в свою очередь, умножается на коэффициент скорости обучения (обычно от 0.01 до 1), и результат прибавляется к весу. Такая же процедура выполняется для каждого веса от нейрона скрытого слоя к нейрону в выходном слое.

Следующие уравнения иллюстрируют это вычисление:

wpq,k=q,kOUTp,j, (5)

wpq,k(n+1)= wpq,k(n)+wpq,k , (6)

где

wpq,k(n) - величина веса от нейрона р в скрытом слое к нейрону q в выходном слое на шаге n (до коррекции). Отметим, что индекс k относится к слою, в котором заканчивается данный вес, то есть с которым он объединен;

wpq,k(n+1) - величина веса на шаге n+1(после коррекции);

q,k - величина длянейронаq в выходном слое k;

OUTp,j - величина OUT для нейрона p в скрытом слое j.

Подстройка весов скрытого слоя.

Рассмотрим один нейрон в скрытом слое, предшествующем выходному слою. При проходе вперед этот нейрон передает входной сигнал нейронам в выходном слое через соединяющие их веса. Во время обучения эти веса функционируют в обратном порядке, пропуская величину от выходного слоя назад к скрытому слою. Каждый из этих весов умножается на величину  нейрона, к которому он присоединен в выходном слое. Величина , необходимая для нейрона скрытого слоя, получается суммированием всех таких произведений и умножением на производную сжимающей функции (см. рис. 5):

p,j=OUTp,j(1- OUTp,j)[ qq,kwpq,k] (7)

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

Рис. 5. Настройка веса в скрытом слое.



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

Добавление нейронного смещения.

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

Трудности обучения

Паралич сети

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

Локальные минимумы

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

Размер шага

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5120
Авторов
на СтудИзбе
444
Средний доход
с одного платного файла
Обучение Подробнее