Ћекции.ќрг


ѕоиск:




 атегории:

јстрономи€
Ѕиологи€
√еографи€
ƒругие €зыки
»нтернет
»нформатика
»стори€
 ультура
Ћитература
Ћогика
ћатематика
ћедицина
ћеханика
ќхрана труда
ѕедагогика
ѕолитика
ѕраво
ѕсихологи€
–елиги€
–иторика
—оциологи€
—порт
—троительство
“ехнологи€
“ранспорт
‘изика
‘илософи€
‘инансы
’ими€
Ёкологи€
Ёкономика
Ёлектроника

 

 

 

 


ќбучение в нейронных сет€х




ƒостоинством »Ќ— €вл€етс€ способность к обучению, в процессе которого синаптические веса сети (или параметры сети) настраиваютс€ с помощью того или иного адаптивного алгоритма с целью наиболее эффективного решени€ поставленной проблемы.

„тобы пон€ть или разработать обучающий процесс, прежде всего необходимо иметь некоторые знани€ о среде функционировани€ »Ќ—. ƒругими словами, нужно знать, кака€ информаци€ доступна в сети.

Ёто так называема€ парадигма обучени€.

—уществует три парадигмы обучени€:

Ј супервизорное (с учителем),

Ј несупервизорное (без учител€),

Ј гибридное.

¬ супервизорном обучении, нейронна€ сеть обеспечиваетс€ правильным (корректным) выходом дл€ заданного множества входных образов (значений).

¬ыбор данных дл€ обучени€ сети и их обработка €вл€етс€ самым сложным этапом решени€ задачи. Ќабор данных дл€ обучени€ должен удовлетвор€ть нескольким критери€м:

Ј –епрезентативность Ч данные должны иллюстрировать истинное положение вещей в предметной области;

Ј Ќепротиворечивость Ч противоречивые данные в обучающей выборке приведут к плохому качеству обучени€ сети.

»сходные данные преобразуютс€ к виду, в котором их можно подать на входы сети. ѕара Ђвход-выходї называетс€ обучающей парой или обучающим вектором.

—упервизорное обучение (обучение с учителем)

Ќа рис. 2.48 показана схема супервизорного обучени€ сети.

–ис. 2.48. —хема супервизорного обучени€ сети

 

ѕри обучении с учителем набор исходных данных дел€т на две части Ч собственно обучающую выборку и тестовые (проверочные) данные; принцип разделени€ может быть произвольным. ќбучающие данные подаютс€ сети дл€ обучени€, а проверочные используютс€ дл€ проверки качества обучени€ сети (проверочные данные дл€ обучени€ сети не примен€ютс€).

¬ процессе обучени€ используетс€ множество обучающих пар Ђвход - желаемый (или целевой) выходї. ѕо обучающему входу сеть вычисл€ет результат, получаемый в данной структуре сети, и сравнивает его с обучающим выходом. ѕосле чего вычисл€етс€ ошибка между обучающим выходом и реальным. ѕросматрива€ обучающую выборку множество раз, сеть оптимизирует свои параметры так, чтобы ошибка была меньше заданной величины. ѕосле чего обучение заканчиваетс€ и обученную сеть можно протестировать на множестве тестовых (проверочных) данных.

≈сли на проверочных данных ошибка не увеличиваетс€, то сеть действительно выполн€ет поставленную задачу. ≈сли ошибка на обучающих данных продолжает уменьшатьс€, а ошибка на тестовых данных увеличиваетс€, значит, сеть перестала выполн€ть свою задачу и просто Ђзапоминаетї обучающие данные. Ёто €вление называетс€ переобучением сети или оверфиттингом. ¬ таких случа€х обучение обычно прекращают.

¬ процессе обучени€ могут про€витьс€ другие проблемы, такие как паралич или попадание сети в локальный минимум поверхности ошибок. Ќевозможно заранее предсказать про€вление той или иной проблемы, равно как и дать однозначные рекомендации к их разрешению.

Ќесупервизорное обучение (обучение без учител€)

¬ обучении без учител€ (рис.2.49) знание Ђобучающего (желаемого) выходаї не требуетс€.

 

–ис. 2.49. —хема несупервизорного обучени€

 

—еть исследует структуру входных данных и организует их в группы. ¬ процессе обучени€ сеть в определенном пор€дке просматривает обучающую выборку. ѕор€док просмотра может быть последовательным, случайным и т. д. Ќекоторые сети, обучающиес€ без учител€, например, сети ’опфилда просматривают выборку только один раз. ƒругие, например, сети  охонена (также как сети, обучающиес€ с учителем), просматривают выборку множество раз, при этом один полный проход по выборке называетс€ эпохой обучени€.

¬ отличие от супервизорного обучени€, в несупервизорном обучении нет знаний о Ђжелаемом выходеї. —еть обучаетс€ на входных данных до тех пор, пока не придет в некоторое Ђстабильноеї состо€ние. ¬ этом смысле, така€ форма обучени€ более близка к естественному механизму в биологических нейронных сет€х.

√ибридное обучение соедин€ет в себе черты двух приведенных выше схем обучени€.

ƒл€ задач интеллектуального управлени€ будем рассматривать супервизорное обучение сети. –ассмотрим типовой метод обучени€, называемый методом обратного распространени€ ошибки.

ѕравило обучени€, основанное на коррекции ошибки (Error-correction rule of learning)

–ассмотрим процесс обучени€ на основе правила коррекции ошибок. Ёто супервизорное обучение, в котором дл€ каждого входного образа имеетс€ желаемое выходное значение . ¬ процессе обучени€ сети реальный выход от нейронной сети не совпадает с заданным желаемым. ќсновным принципом обучени€ на основе правила коррекции ошибок €вл€етс€ использование сигнала (значени€) ошибки дл€ того, чтобы настроить веса сети так, чтобы ошибка была минимальной.

¬ычисление ошибки может происходить несколькими способами:

(текуща€ ошибка);

(среднеквадратична€ ошибка);

(обща€ ошибка),

где - число обучающих пар; - число выходов нейронной сети, и - ошибка дл€ -той обучающей пары.

¬ нейросет€х существует два наиболее попул€рных алгоритма супервизорного обучени€: обучение перцептрона (perceptron learning) и алгоритм обратного распространени€ ошибки (error back propagation based learning)

ќбучение перцептрона (Perceptron Learning)

–ассмотрим алгоритм обучени€ простого перцептрона на основе правила коррекции ошибок. Ќапомним, что простой перцептрон (рис.2.38, 2.39) состоит из одного нейрона с настраиваемыми весами на входах , где и пороговой функцией активации.

јлгоритм обучени€ состоит из следующих шагов:

1) √енерируем начальные веса (j = 0,1. 2,... n) с помощью генератора случайных (малых) чисел.

2) ѕоставл€ем на вход персептрона входной образ:

,

где - пор€дковый номер текущей итерации процесса обучени€.

3) ¬ычисл€ем реальный выход персептрона:

.

4) ¬ычисл€ем ошибку , где - желаемый выход дл€ входного образа .

5) ќбновл€ем значени€ весов следующим образом:

,

где Ц заданный коэффициент обучени€ (число между 0 и 1).

6) ѕовтор€ем шаги 2-5 до тех пор, пока ошибка не станет меньше заданного уровн€ толерантности (заданный уровень).

“еорема сходимости перцептрона, описанна€ и доказанна€ ‘. –озенблаттом, показывает, что элементарный перцептрон, обучаемый по такому алгоритму, независимо от начального состо€ни€ весовых коэффициентов и последовательности по€влени€ стимулов всегда приведет к достижению решени€ за конечный промежуток времени.

јлгоритм обратного распространени€ ошибки (error back propagation-based learning)

јлгоритм обратного распространени€ ошибки примен€етс€ дл€ многослойного перцептрона и сетей с пр€мым распространением сигнала (рис.2.50).

 

–ис. 2.50. —хематическое представление обучени€ на основе алгоритма обратного распространени€ ошибки

 

¬ажное замечание: дл€ возможности применени€ этого метода функци€ активации нейронов должна быть дифференцируема.

ƒл€ обучени€ многослойного перцептрона будем использовать алгоритм обратного распространени€ ошибки дл€ настраивани€ синаптических весов так, чтобы обща€ ошибка E была минимальной.

ƒл€ этого будем реализовывать градиентный спуск, то есть будем подправл€ть веса после каждого обучающего примера и, таким образом, "двигатьс€" в многомерном пространстве весов. „тобы "добратьс€" до минимума ошибки, нам нужно "двигатьс€" в сторону, противоположную градиенту.

“аким образом, будем использовать следующее правило изменени€ весов, которое в общем виде записываетс€ как:

на -ой итерации алгоритма добавл€ть к каждому весу его поправку

= , (2.18)

где 0 < η < 1 - множитель, задающий скорость "движени€".

–ассмотрим многослойный перцептрон с множеством выходных вершин (рис.2.50), обозначим через - число его выходов. ¬ качестве общей (глобальной) ошибки возьмем общую средне-квадратичную ошибку дл€ заданного множества обучающей выборки:

, и ,

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

¬ернемс€ к формуле (2.18). ак считать представленную в ней производную?

ƒве наиболее распространенные формулы приведены ниже.

ѕравило ƒельты (Delta rule):

(2.19)

ќбобщенное правило ƒельты (Generalized delta rule):

(2.20)

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

ќбозначим функцию активации -той (любой, не только выходной) вершины как .

“огда .

Ќапример, рассмотрим следующую логистическую функцию активации: .

“огда

(2.21)

»спользу€ (2.21) можем написать

(2.22)

¬ результате формула (2.20) может быть переписана как:

(2.23)

ќбсудим теперь, как вычисл€ть ошибку ?

≈сли -та€ вершина Ц выходна€, то мы можем ее вычислить как , но как быть с ошибкой в скрытых сло€х сети.

–ассмотрим две версии алгоритма обратного распространени€ ошибки.

јлгоритм обучени€ состоит из двух фаз: (1) фаза пр€мого распространени€ сигнала (a forward pass) и (2) фаза обратного распространени€ сигнала (a backward pass).

¬ первой фазе входные обучающие сигналы подаютс€ в сеть и вычисл€ютс€ выходные значени€ и выходна€ ошибка.

¬о второй фазе процесс вычислени€ идет в обратную сторону Ц от выходной ошибки к внутренним сло€м сети, в результате чего настраиваютс€ новые значени€ синаптических узлов.

јлгоритм обратного распространени€ ошибки 1

‘аза пр€мого распространени€ сигнала:

1) √енерируем начальные веса (j = 0,1. 2,... n) с помощью генератора случайных (малых) чисел.

2) —лучайным образом выбираем входной образ из заданного множества обучающих пар.

3) –аспростран€ем сигнал через сеть и вычисл€ем результат.

4) ƒл€ каждого -го выходного нейрона (слой ) вычисл€ем ошибку

= .

‘аза обратного распространени€ сигнала:

1) ќбновл€ем веса между -тыми нейронами сло€ и -м выходным нейроном (сло€ ) следующей поправкой:

,

где - параметр, называемый Ђмоментомї (momentum),

- текуща€ итераци€ процесса обучени€,

- его предыдуща€ итераци€.

2) ¬ычисл€ем ошибку дл€ -тых нейронов сло€ как:

.

3) –аспростран€ем процесс вычислени€ назад по сети к -тым нейронам промежуточных слоев :

и .

4) ѕереходим к шагу 2 и повтор€ем процесс до тех пор, пока ошибка не станет меньше заданного уровн€ толерантности:

.

јлгоритм обратного распространени€ ошибки 2

1) √енерируем начальные веса (j = 0,1. 2,...n) с помощью генератора случайных (малых) чисел.

2) —лучайным образом выбираем входной образ из заданного множества обучающих пар.

3) –аспростран€ем сигнал через сеть и вычисл€ем результат.

4) ¬ычисл€ем ошибку -ой вершины выходного сло€ ( = L) как:

,

где Ц производна€ функции активации -ой вершины,

Ц net- вход дл€ -той вершины.

5) ¬ычисл€ем ошибку в промежуточных сло€х , распростран€€ ошибку назад (с выходного сло€ Ц к входному слою) следующим образом:

дл€

6) ќбновл€ем веса

for

7) ѕереходим к шагу 2 и повтор€ем процесс до тех пор, пока ошибка не станет меньше заданного уровн€ толерантности или по истечению заданного числа итераций.





ѕоделитьс€ с друзь€ми:


ƒата добавлени€: 2016-12-05; ћы поможем в написании ваших работ!; просмотров: 1638 | Ќарушение авторских прав


ѕоиск на сайте:

Ћучшие изречени€:

ƒаже страх см€гчаетс€ привычкой. © Ќеизвестно
==> читать все изречени€...

719 - | 582 -


© 2015-2023 lektsii.org -  онтакты - ѕоследнее добавление

√ен: 0.04 с.