Приложение на matlab при синтез и анализ на поведението на изкуствени невронни мрежи


Еднослойни невронни мрежи с прави връзки (право предаване на сигнала)



страница2/3
Дата15.04.2017
Размер489.62 Kb.
#19208
1   2   3

3.1. Еднослойни невронни мрежи с прави връзки (право предаване на сигнала).
3.1.1. Неврон на McCulloch-Pitt

Невронът на McCulloch-Pitt е предложен през 1943 г. и чрез него за първи път се илюстрира идеята на използването на невронните мрежи за различни изчисления. Той се характеризира с изчислителна универсалност, тъй като всяка логическа функция може да бъда изчислена с мрежа от неврони на McCulloch-Pitt. Той е показан на фиг. 3.1. Същевременно всяка крайна последователност от дискретни действия може да бъде стимулирана с рекурентни невронни мрежи от такива неврони.





Фиг. 3.1. Неврон на McCulloch-Pitt

При него теглата са фиксирани, т.е. не се настройват с обучение. Входните сигнали и изходните сигнали y на невроните са бинарни, т.е. , , като входовете биват два вида – възбудителни и забранителни. Теглата, свързани със възбудителните входове са отрицателни. Всеки ненулев входен сигнал на някой от забранителните входове генерира нулев изходен сигнал. Изходен сигнал 1 се получава, когато сумата от теглата на възбудителните входове, свързани с ненулеви сигнали е по-голяма от предварително зададен праг и няма сигнал на никой от забранителните входове [2]:



(3.1)

За правилната работа на неврона трябва да е изпълнено условието



(3.2.)

3.1.2. Адаптивен линеен елемент - ADAptive LINear Element (ADALINE)

Адаптивният линеен елемент - ADAptive LINear Element (ADALINE) е предложен през 1962 г. от Bernard Widrow. Той представлява единичен неврон (фиг.3.2) с линейна активационна функция и настройващи се тегла. Алгоритъмът на Windrow-Hoff за настройка на теглата се базира на метода на най-малките квадрати и е пример за използване на обучение при настройката. Той е в основа за различни видове адаптивна филтрация използвана при обработка на сигнали.



Фиг. 3.2


За обучението на мрежите от тип ADALINЕ е необходимо да се разпалага с обучаваща извадка с обем р, представляваща набори от входни сигнали и желан (еталонен) изход на мрежата за всяки от тях. При подаване на всеки k-ти комплект входни сигнали, се определя изходът от невронната мрежа и грешката между него и еталонния изход при зададената комбинация на входа . Целта на обучението е да бъдат настроени теглата така, че да бъде минимизирана интегралната грешка за цялата обучаваща съвкупност. В различни варианти на обучаващите алгоритми промяната на теглата се прави след всеки компонент от обучаващата серия или след едно цялостно нейно изчерпване (т.е. след всяка епоха). Във всички случаи промяната на теглата е пропорционална на съответния входен сигнал, грешката и параметър , наречен скорост на обучение.

Мрежите Адалайн принадлежат към общия клас алгоритми, наречени адаптивни линейни филтри. Те намират приложение в много области като например за проектиране на изравняващи филтри при високоскоростни модеми, за адаптивни ехокомпенсатори при телефонни разговори на големи разстояния и сателитни комуникации, както и за предсказване на сигнали. Намират приложение и в медицината например за подтискане на шума от биене на сърцето на майката при ембрионална електрокардиография. [3]



3.1.3. Перцептрон

Перцептронът е предложен през 1957 г. от Frank Rosenblatt. За разлика от адаптивния линеен елемент перцептронът е нелинеен неврон. Той използва релейна активационна функиция ( фиг.3.3)



Фиг. 3.3.

Изходът на суматора се изчислява като

(3.3)

където , а е сигнал с постоянна стойност 1. Изходният сигнал y на перцептрона се определя с формулата :



(3.4.)

където е праг на активация на перцептрона, и ако стойността му не е спомената специално се счита, че е нула .

При перцептрона се използва обучение с учител. При този тип обучение критерият за обучението се задава с комплект примерни входно-изходни последователности за желаната работа на мрежата от типа

(3.5.)

където е образ, подаван на входа на мрежата, а е съответната правилна (желана) стойност на изхода на мрежата при подаване на . С прилагане на входните елементи към мрежата се сравняват получената стойност на изхода на мрежата с желаната стойност, зададена от съответното d. След това се стартира алгоритъм за обучение, посредством който се променят (настройват) теглата и отместванията на мрежата така, че получаваната стойност на изходите на мрежата да се доближават до желаната.

Алгоритъмът, прилаган при обучението на перцептрона е следният :

ако имаме d=0 и , то тогава ,

ако имаме d=1 и , то тогава ,

ако имаме d=, то тогава ,

където с се означава новата, а с старата стойност на тегловия коефициент от преходната интерация. С x се означава съответната стойност на , подадена на входа, а с d- съответното . Функцията , имаща релеен характер, приема в случая стойности 0 или 1, т.е.

(3.6.)

Ако бъде въведена грешка правилото за обучение може да бъде представено в следния компактен вид : .

Горното правило може да се обобщи за един слой от k на брой перцептрони, използващи едни и същи входни сигнали В този случай формулите за настройка на вектора с теглата и отместване , свързани с i-тия перцептрон, са равни на : ,

където [2]



3.2. Мнгослойни невронни мрежи с прави връзки (право предаване на сигнала).

3.2.1 Многослойни невронни мрежи използващи метода с обратно разпространение на грешката

На практика най-често използваните многослойни мрежи са двуслойни , защото е доказано, че при достатъчно неврони в междинния слой, всяка двуслойна мрежа може да реализира функциите на врежа с повече слоеве. Архитектурата на двуслойна невронна мрежа с еднопосочно предаване на сигнала, използващи метода с обратно разпространение на грешката е показана на фиг 3.4.





Фиг. 3.4. Nевронна мрежа с еднопосочно предаване на сигнала, използващa метода с обратно разпространение на грешката

Всички алгоритми за обучение на многослойните невронни мрежи се основават на алгоритъма с обратно разпространение на грешката, който е известен още като обобщено делта правило. В основата си той представлява градиентен метод, целящ минимизиране на грешката на изхода на мрежата.



Алгоритъм за обучение

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

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

След като всички коефициенти бъдат определени, теглата на всички слоеве на мрежата се обновяват едновременно.

Активационната функция на мрежата с обратно разпространение на грешката трябва да има няколко важни свойства – да бъде непрекъсната, диференцуема и монотонно нарастваща. Освен това, с цел изчислителна ефективност, е желателно производната й да бъде лесна за изчисление. Друго условие е функцията да има крайни максимум и минимум, които да се достигат асимптотично. Най-често използваната функция, отговаряща на горните условия, е сигмоидалната.

Многослойните мрежи, използващи обучение с обратно разпространение на грешката имат няколко съществени предимства :



  • Могат да представят всяка интегрируема функция.

  • Нуждаят се само от подходяща обучаваща извадка.

  • Не изискват предварително познаване на проблемите (т.е способни са да решават лошо структурирани задачи).

  • Устойчиви са на шум и липса на данни от обучаващата извадка.

Наред с това притежават някои недостатъци:

  • Обучението може да бъде продължително.

  • При обучението на мрежата е възможно спиране на алгоритъма в локален минимум вместо достигането до глобалния оптимум.

За преодоляване на последния проблем са предложени редица модификации на обучаващия базов алгоритъм. Един ефективен подход е ново стартиране на обучението с променени начални тегла и/или променен ред на обучаващите комплекти в извадката. [2]

3.2.2. Многослойни неврон мрежи с радиални базисни функции

Идеята при въвеждане на тези мрежи е свързана с изпозването на линейни разделящи правила при класификация на образи. За двумерния пример от фиг. 3.5, двата вида образи са разделими с нелинейна крива (показаната окръжност), но са линейно неразделими, т.е. не съществува права която да ги разделя.





Фиг. 3.5. Двумерен пример

От теоремата на Cover e известно, че образите които са нелинейно разделими в пространство с ниска разделимост, е възможно да бъдат разделени в пространство с по-голяма размерност. Ето защо се търси мрежа, способна да извършва нелинейна трансформация на данни от едно пространство в друго с по-висока размерсност и така да ги направи линейно разделими.

Мрежите способни да се справят с този проблем, са мрежи с радиална базисна функция, който са дадени на фиг. 3.6. Те са двуслойни мрежи, чиито неврони в скрития слой имат нелинейна активационна фунцкия (радиални базисни), а невроните в изходния слой – линейни активационни функции.


Фиг. 3.6. Мрежа с радиални базисни функции

Трите основни параметъра, които влияят на качеството на мрежата с радиални базисни функции, са :

- центрове на радиално-базисни функции.

- ширините на радиално-базисните функции.

- теглата на връзките в изходния слой.

При обучение на тези мрежи обикновено центровете и ширините на радиално-базисните функции се определят „без учител”, а за теглата се използва обучение „с учител”.

Ширината на функциите се изчилсляват по формулата : ,

където е максималното разстояние между два неврона, а m – броят на невроните в скрития слой. Това гарантира, че функцията няма да е твърде плоска или твърде изпъкнала.

Предимствата на мрежите с радиално базисни функции пред стандартните мрежи, използващи алгоритъм с обратно разпространение на грешката, са в това, че те имат по-бързо обучение и по-сигурно достигане до глобалния минимум в пространството на грешката. Недостатък на тези мрежи е, че много често изискват по-голям брой неврони в скития слой.[2]

3.3. Рекурентни невронни мрежи

При разгледаните до момента невронни мрежи информацията се пренася само в една посока – последователно от входния, през скритите слоеве, ако има такива, до изходния слой. Затова те се наричат с прави връзки. Съществуват такива мрежи при които информация се движи и в обратна посока – към текущия или към предходни слоеве на мрежата. Тези мрежи се наричат рекурентни мрежи. Следователно когато на една рекурентна мрежа се подаде входен вектор, той не продуцира изходен вектор след краен брой стъпки, а предизвиква кръгов процес или “резонанс” на нервната активност в мрежата. В резултат на това едни и същи слоеве се активират многократно. Ако мрежата резонира известно време и след това се установи в устойчиво състояние, тя се нарича собственоустойчива. Целта на тренирането на рекурентните мрежи е да се намерят такива тегла на връзките, които да гарантират собствена устойчивост на мрежата при стабилизирани стойности на изхода, съответстващи с еталонни, зададени за обучаващите входни серии. [1]

Предложени са множество различни архитектури на рекурентни невронин мрежи. Едни от най-разпространените са предложените от Hopfield ,Елман и Джордан.

3.3.1. Невронни мрежи на Hopfield

Невронните мрежи на Hopfield са еднослойни мрежи, всеки неврон от които е свързан с всички останали. Те биват два вида: дискретни и непрекъснати и могат да бъдат използвани не само като асоциaтивни памети, а също така за решаване на сложни комбинаторни задачи. В настоящата дипломна работа ще се бъдат разгледани дискретните мрежи на Hopfield, като те спадат към рекурентните невронни мрежи.

Архитектурата на дискретна мрежа на Hopfield е показана на фиг. 3.7. Теглата и , т.е. матрицата с теглата на мрежата е симетрична с нулеви елементи на главния диагонал. Входните сигнали не са задължителни. В някои случаи входни сигнали може да има, а в други случаи може да няма, като входове за невронната мрежа са началните състояния на изходните сигнали на невроните, а изходи са изходните сигнали на невроните след съответния брой интерации. В тези случаи изходните сигнали на невроните, които определят състоянието на мрежата на всяка интерация, служат съответно за вход и изход на мрежата. Активационните функции на невроните са релейни, като в зависимост от данните (бинарни или биполярни) са в диапазон [0 ,1] или [-1, 1].



Фиг. 3.7. Невронни мрежи на Hopfield

Матрицата с теглата на мрежата обикновено се изчислсява като се използва правилото на Hebb и се нулират диагоналните и елементи.

При биполярни данни :

(3.7.)

а при бинарни данни :



(3.8.)

като в случая при конструиране на матрицата с теглата всеки бинарен вектор се преобразува в биполярен.

Най-важният момент при реализацията на интерациите е асинхронната промяна на изходните сигнали на невроните. Това ознчава, че на всяка стъпка се променя изходният сигнал само за един неврон, който се избирa случайно. Вероятността за всеки от невроните да бъде избран на дадена стъпка трябва да бъде еднаква. Получената нова стойност на изхода на неврона се използва при промяната на изходния сигнал за следващите неврони. Този подход гарантира сходимостта на промяната на изходните сигнали на невроните на мрежата.[2]

3.3.2. Невронни мрежи на Елман

На Фиг. 3.8. е показана архитектурата на мрежата на Елман. Тя е трислойна. Първият слой се състои от две различни групи неврони – външни входни неврони и вътрешни входни неврони, наричани още контекстни възли. На входовете на контекстните възли постъпват изходите от неврони, разположени в скрития слой. Вътрешните входни неврони са известни още и като неврони на паметта, тъй като съхраняват стойността на изхода на неврон от скрития слой в предходен времеви такт. Вторият слой е скрития. На входовете на неговите неврони постъпват изходите на външните и вътрешните входни неврони.





Фиг. 3.8. Невронни мрежи на Елман

Теглата на рекурентните връзки не се променят. Те обикновено се приемат за единица. На настройка подлежат само теглата на правите връзки. При начална инициализация на мрежата на тях се присвояват произволни малки начални стойности, а на изходите от контекстните неврони – стойност 0,5 при използване на сигмоидна функция на активация.

За да може да бъде тренирана рекурентната мрежа чрез стандартния алгоритъм с обратно разпространение на грешката са въведени обратни връзки при контекстните неврони. Изходният сигнал на j-тия контекстен неврон се определя по зависимостта: , където и са изходните сигнали съответно от j-тия контекстен с x-тия неврон от скрития слой, а е тегловният коефициент на автообратната връзка. Обикновено стойността на е една и съща за всички автообратни връзки и не се променя от обучаващия алгоритъм. Обикновено се избира между 0 и 1.

3.3.3. Невронни мрежи на Джордан

Мрежата на Джордан (фиг. 3.9.) също е трислойна и с автообратни връзки при контекстните неврони, но обратните връзки са от изходния към контекстния слой. Наличието на обратни връзки и от скрития слой, подобно на мрежата на Елман позволяват чрез нея да се си моделират произволни динамични системи.





Фиг. 3.9 Невронни мрежи на Джордан

Мрежите на Джордан могат да бъдат тренирани чрез стандартния алгоритъм с обратно разпространение на грешката, като стойностите на теглата на обратните връзки са фиксирани. [4]



IV. Функции в MATLAB позволяващи синтез и изследване на невронни мрежи

4.1. Предимства на MATLAB

MATLAB e удобна среда за проектиране и изследване на невронин мрежи, тъй като:



  • Притежава набор вградени функции за работа с тях;

  • Има голям брой toolbox-ове позволяващи решаване на многообразни задачи от различни предметни области;

  • Дава възможност да конвертиране на програмите към С.

  • Предлага апарат, позволяващ лесно обединяване на множество приложения в едно цяло

  • Широко е използван за решаване на различни задачи от областта на управлението

4.2. Функции в MATLAB, позволяващи работа с невронни мрежи

4.2.1. Основните функции за създаване на невронин мрежи

Основните функции за създаване на невронин мрежи с различна архитектура са представени в Таблица 4.1. Таблица 4.1



Име на функцията

Параметри на функцията

Предназначение

newp

PR - Задава границите (диапазона) в който могат да се изменят стойностите на входните сигнали

S - Брой на невроните

TF - Aктивационна функция

LF - Обучаваща функция



Създава перцептронен слой

newlin

PR - Задава границите (диапазона) в който могат да се изменят стойностите на входните сигнали

S - Брой на елементите във вектора на изхода ( брой на изходите)

ID - Времезакъснение между входните вектори, по подразбиране – 0

LR – Скорост на обучение, по-подразбиране - 0.01



създава невронен слой с линейна активационна функция

newff

PR - Задава границите (диапазона) в който могат да се изменят стойностите на входните данни.
Si – Брой на невроните в слой i.

TFi – Активационна функция за i – тия слой.

BTF – Обучаваща функция използвана при фукция train.

PF – Оценяваща функция, по подразбиране – mse



създава едно-слойна или многослойна невронна мрежа с право разпос-транение на сигнала.

newrb

GOAL – максимална средноквадратичната грешка

SPREAD - ширина на радиално базисната функция.

MN – максимален брой на невроните


Създава и едновременно с това обучава мрежа с радиални - базисни функции

newrbe

SPREAD - задава ширината на радиално базисната функция

Създава и едновременно с това обучава една мрежа с радиално - базисни функции с минимална грешка

newpnn

SPREAD - задава ширината на радиално базисната функция

Генерира и обу-чава вероятностни мрежи. Работи аналогично на функцията newbr и newbre .

newelm

PR - Задава границите (диапазона) в който могат да се изменят стойностите на входните данни.
Si – Брой на невроните в слой i.

TFi – Активационна функция за i – тия слой.

BTF – Обучаваща функция използвана при фукция train.

PF – Оценяваща функция, по подразбиране – mse



 Създава мрежа на Елман

Каталог: 2013
2013 -> Временно класиране „В”-1” рг мъже – Югоизточна България
2013 -> Конкурс за заемане на академичната длъжност „Доцент в професионално направление Растителна защита; научна специалност Растителна защита
2013 -> Задание за техническа поддръжка на информационни дейности, свързани с държавните зрелостни изпити (дзи) – учебна година 2012/2013
2013 -> 1. Нужда от антитерористични мерки Тероризъм и световната икономика
2013 -> Тест за проверка на математическите знания и умения на учениците в началото на четвърти клас
2013 -> Днес университетът е мястото, в което паметта се предава
2013 -> Отчет за научноизследователската, учебната и финансовата дейност на националния природонаучен музей при бан през 2013 г
2013 -> Програма за развитие на туризма в община елхово за 2013 г


Сподели с приятели:
1   2   3




©obuch.info 2024
отнасят до администрацията

    Начална страница