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



страница1/3
Дата15.04.2017
Размер489.62 Kb.
  1   2   3
МИНИСТЕРСТВО НА ОБРАЗОВАНИЕТО, МЛАДЕЖТА И НАУКАТА

Минно-Геоложки Университет “Св.Иван Рилски

Минно-електромеханичен факултет

Катедра: Автоматизация на минното производство

Дипломна работа

на Александър Полихронов Полихронов

Ф.N=1028101

Образователно квалификационна степен “магистър”



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

Дипломната работа може да се даде за рецензия :



Научен ръководител:....................................

(доц. д-р Дечева)

Дипломната работа може да се рецензира :

Ръководител катедра:....................................

(доц.д-р. Здр. Илиев)

Дипломната работа се допуска до защита :

Декан на МЕМФ:....................................

(доц. д-р Дечева)

София, 2012



З А Д А Н И Е З А Д И П Л О М Н А Р А Б О Т А

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




Анотация

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

План – програма


  1. Запознаване със същността и архитектурата на изкуствените невронни мрежи и подходите за тяхното обучение.

  2. Запознаване с базовите функции на програмната среда MATLAB, позволяващи, изграждане, обучение и симулиране на работата на изкуствени невронни мрежи.

  3. Разработване на програмни решения на типични задачи от областта на идентификацията и разпознаване на образи с използване на невронни мрежи.

  4. Изследване на поведението на невронните мрежи и влиянието на основни параметри, задавани от потребителя върху качествените характеристики на получените решения.

Графични приложения – схематично представяне на изкуствен неврон, архитектура на невронни мрежи, графики илюстриращи резултатите от изследване на синтезираните невронни мрежи.

Литература

1. Нейронные сети. MATLAB 6 В.С. Медведев, В.Г. Потёмкин, Москва 2002.


2. Размито управление и невронни мрежи – Валери Младенов, Снежана Йорданова, факултет Автоматика, Технически университет – София, 2006

3. Приложение на невронните мрежи в компютърното моделиране – Ганчо Венков, Богдан Гилев, Технически университет – София, 2009.

4. http://www.newweirdscience.com/nevmreji.pdf

Ръководител на проекта:

/доц. д-р Д. Дечева/

Съдържание

I. Въведение.................................................................................................................................................4 II. Невронни мрежи………………………………………………………………………………...…5

2.1. Същност...................................................................................................................................................5

2.2. Биологичен неврон..............................................................................................................................6

2.3. Абстрактен неврон..............................................................................................................................6

2.4. Топология и Архитектури на изкуствените невронни мрежи……………….....………7

2.5 Активационни функции..................................................................................................................10

2.6. Обучение на невронните мрежи……………………………………………………...……….12

2.7. Приложение на невронните мрежи ………………………………………………………..14



III. Типове невронни мрежи …………………………………………………………………....16

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



      1. Неврон на McCulloch-Pitt........................................................................................................16

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

      3. Перцептрон……………………………………………………………………….,……18

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

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

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

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



      1. Невронни мрежи на Hopfield………………………………………………………….……24

      2. Невронни мрежи на Джордан………………………………………………………….…...26

      3. Невронни мрежи на Елман……………………………………………………………….…27

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

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

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


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

      2. Функции за обучение на невронна мрежа..................................................................30

V. Приложение на Matlab за решаване на типични задачи с изпозване на невронни мрежи……………………………………………………………………………………...31

5.1. Използване на невронни мрежи за апроксимация………………………………….……31

5.1.1. Използване на мрежи с радиално базисни функции в задачите за апроксимация...31

5.1.2. Решаване на задачите за апроксимацията с използване на многослойни невронни мрежи с еднопосочно предаване на сигнала, използващи метода за обучение с обратно разпространение на грешката и сравняване на работата им с мрежи с радиално базисни функции………………………………………………………………………,…38

5.1.3. Изследване на степента на промяна на параметрите на обекти върху броя цикли на обучението при многослойни невронни мрежи с еднопосочно предаване на сигнала………42

5.2. Използване на невронни мрежи в задачите за разпознаване на образи……46



VІ. Заключение……………………………………………………………………………………....50

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

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



Целта на настоящата дипломна работа е да бъдат представени и моделирани някои от основните видове невронни мрежи в развойна среда MATLAB, като се очертаят областите на приложението им и проблемите, свързани с тяхното използване.

Решените примерни задачи са така подбрани, че да подпомогнат обучението на студентите в магистърската ОКС. Освен това те дават представа за пътя по който се стига да типови решения, които могат да се ползват от широк кръг специалисти.

II. Невронни мрежи

2.1 Същност

Изкуствените невронни мрежи са модели на биологичните невронни мрежи.

Невронната мрежа е система за паралелно обработване на информация, която има свойството за съхранение и използване на експeриментални знания. Тя моделира дейността на своя биологичен еквивалент - мозъка в следните два аспекта:


  • Информацията се натрупва в мрежата в процес на обучение;

  • Силата на връзките между отделните възли (неврони) се моделира с тегла на съответните връзки, които се използват за съхранение на информацията.

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

2.2. Биологичен неврон

Опростен модел на биологичния неврон или нервна клетка е показан на фиг. 2.1. Той се състои от синапси, дендрити, тяло на клетката (сома) и аксон. Дендритите и аксона са израстъци на клетката, чрез които тя е свързана с останалите клетки. Посредством дендритите, клетката получава сигнали от аксоните на другите клетки в мозъка. Синапсите са местата, където се осъществява връзката и се преобразуват сигналите, посредством сложни електрохимични процеси. Сигнaлите от синапсите се предават по дендритите към тялото на клетката, където се агрегират (сумират се сигналите от синапсите свързани с дендритите на дадена клетка). Когато нивото на агрегирания сигнал надхвърли определена граница се генерира сигнал по аксона на клетка, посредством който тя въздейства на останалите нервни клетки. [2]





Фиг. 2 .1. Биологичен неврон

2.3. Абстрактен неврон

Изкуствените невронните мрежи съвсем не са точни и пълни модели на техните биологични аналози. Те са силно опростени и реализират само малък брой от техните добре изучени и изяснени структурни и функционални характеристики. На фиг. 2.2 е представен вида на произволен j-ти изкуствен (абстрактен) неврон.





Фиг. 2.2. Модел на абстрактен неврон
Всеки неврон има много входове, които са модел на дендридите и един изход, който е модел на аксона. На входовете x1, x2,…,xm постъпват сигналите към неврона. Те могат да са външни сигнали или сигнали от изходите на други неврони. С всеки вход е свързано тегло wj, j=1,2,…,m, което понякога се нарича синаптично тегло и моделира силата на връзката при предаване на сигнала посредством синапсиса свързан със съответния дендрит. Агрегирането на входните сигнали в тялото на неврона се моделира със суматор, чийто изходен сигнал се изчислява с формулата :

(2.1)

За удобство с цел по-лесно формиране на праговата активационна функция, при модела на неврона се въвежда и сигнал с постоянна стойност b, наречен отместване (bias).

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

(2.2)
В зависимост от начина на формулиране на активационната функция, изкуствените неврони могат да имат статично и динамично поведение. [2]
2.4. Топология и Архитектури на изкуствените невронни мрежи

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

Броят слоеве и неврони в слой силно зависи от сложността на решаваната задача. Невроните могат да се свързват по различен начин и в зависимост от това формират различно поведение спрямо информационния поток в мрежата. Рядко мрежите се изграждат като частично свързани (когато даден неврон е свързан с малък брой други възли). Обикновено те се проектират като напълносвързани, а след трениране на мрежата несъществените връзки получават нулеви тегла, което е равносилно на отсъствие на връзка.

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





Фиг. 2.3. Топология и Архитектури на изкуствените невронни мрежи

Най-често срещаните архитектури на невронните мрежи са :



  • Еднослойни мрежи с еднопосочно предаване на сигнала (фиг. 2.4.)



Фиг. 2.4. Еднослойна мрежа с еднопосочно предаване на сигнала

  • Многослойни мрежи с еднопосочно предаване на сигнала (фиг. 2.5.)



Фиг. 2.5. Многослойна мрежа с еднопосочно предаване на сигнала

  • Рекурентни мрежи – архитектури с обратни връзки (Фиг 2.6)



Фиг. 2.6. Рекурентниа мрежа

2.5 Активационни функции

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

Най-често използваните активационни функции са :


  • 2.5.1 Линейна функция - едно и биполярна , представени съответно на фиг. 2.7. а) и 2.7 б/ .

а) б)


Фиг. 2.7. Линейна функция

  • Прагова фунцкия - едно и биполярна , представени съответно на фиг. 2.8 а/ и 2.8 б/ .

а) б)


Фиг .2.8. Прагова фунцкия

Праговата логическа функция (наричана още релейна, бинарна или сигнум функция) се използва за реализация на прости бинарни мрежови възли. Прилага се в еднополярен вариант (изходът има стойност 0 или 1) и двуполярен вариант (изходът приема има стойност -1 или 1). Мрежите с бинарни неврони са най-лесни за хардуерна реализация, но често са много ограничени спрямо възможностите си за обучение. [4]



  • Сигмоидална и радиално базисна функция.

На фиг. 2.9 а) е представена еднополярна сигмоидална функция , а на Фиг. 2.9. б) - биполярна .

а) б) в)


фиг. 2.9. Сигмоидална и радиално базисна функция

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

Радиалната базисна функция e представена на фиг. 2.10 в) и се описва със следното уравнение:

, (2.3)

където задава центърът на активационната функция за входа i на неврон j, а нейната ширина. За разлика от останалите активационни функции, радиалната базисна функция придобива максималната си стойност единствено когато всички входните сигнали са със стойности близки до определената за тях централна стойност и е практически 0 когато те имат стойности съществено различаващи се от зададената централна. Невронни мрежи с радиално базисни функции се използват успешно в задачите за идентификация и управление на обекти, където се цели “заучаване” на съответствия между непрекъснати функции. [4]



2.6. Обучение на невронните мрежи

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



2.6.1. Обучение с учител (supervised learning). При зададени начални стойности на теглата се подава вектор с входни данни на входа на мрежата. Получената реакция на изхода се сравнява с предварително зададена (еталонна) и се намира грешката. Нейната стойност е критерий за промяна на тегловните коефициенти. Този процес продължава до минимизиране на грешката. Затова обучението с учител е известно и под наименованието обучение с минимизиране на грешката. Прилагането му изисква задаване на образцови серии от входни данни и желани изходни сигнали, които се наричат тренировъчни комплекти. Чрез тях системата се научава да реагира по определен желан начин. При мрежите използващи обучение с учител рязко се разграничават два етапа – на трениране (когато теглата се адаптират за да бъде научено желано поведение) и на опериране (когато намерените на първия етап тегловни коефициенти са фиксирани и мрежата работи с тях при различни входни данни). Този подход за обучение широко се използва при невронни мрежи с прави връзки и някои рекурентни мрежи.

2.6.2. Обучение без учител (unsupervised learning). Теглото на дадена връзка се определя в зависимост от корелацията (съгласуваността) на активациите на свързаните чрез нея два неврона. Затова това обучение е известни и като корелационно. Първият вариант на такова обучение (предложен от Хеб) извършва актуализация на стойността на всеки тегловен коефициент в мрежата чрез добавяне към текущата му стойност на нов член, пропорционален на произведението от стойностите на активация на двата свързани неврона. Характерно за това обучение е, че то не изисква тренировъчни комплекти и не съществува разграничение между етапите на обучение и опериране на мрежата. Обучението без учител намира широко приложение при задачи, които изисква асоциативна памет, т.е. данните да не се извличат от адреси, а по асоциирани с тях значения.

2.6.3. Обучение с поощрение (reinforcement learning). При него подобно на обучението с учител също трябва да има примери с образци от входни данни, но липсва необходимостта заедно с тях да се предоставят образци с желаните реакции (изходни данни). Въвежда се обща мярка за адекватност на получените резултати, която “води” мрежата към желаното поведение. Тя обикновено се нарича усилващ или поощряващ сигнал. Той се подава като обратна връзка в мрежата, за да се поощрят коректните и съответно накажат некоректните поведения. Това става чрез увеличаване на тези тегла, които са допринесли за доброто поведение и намаляване на тези, предизвикали лош резултат. [4]

2.7. Приложение на невронните мрежи

При решаване на различни задачи в компютърните науки се използва т.нар. алгоритмичен подход. При този подход се прави абстрактен модел на разглежданата задача, след като се разработва алгоритъм (прецизна послeдователност от стъпки) за решаването и, и накрая алгоритъмът се реализира с компютърна програма. За разлика от разглеждания подход, използването на невронни мрежи се базира на обучение чрез примери с което се прави опит за моделиране на биологичния им елемент - мозъка.

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

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

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

Невронните мрежи намират широко приложение в почти всички области на науката и живота. Те се използват в :



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

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

  • статистиката като модели за нелинейна регресия и класификация, прогнозиране на временни редове и др.

  • науката за познанието - за описание и моделиране на мисленето и съзнанието.

  • икономиката и финансите за изграждане на сложни икономически модели, за моделиране и прогнозиране на финансови пазари и много други. [2]

III. Типове невронни мрежи
  1   2   3


База данных защищена авторским правом ©obuch.info 2016
отнасят до администрацията

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