lect ai 2 nn

54
Основи нейромережевих технологій Лекція 2

Upload: halyna-melnyk

Post on 09-Aug-2015

72 views

Category:

Education


3 download

TRANSCRIPT

Основи нейромережевих технологій

Лекція 2

Література

1. http://masters.donntu.edu.ua/2003/fvti/paukov/library/neurow.htm2. http://victoria.lviv.ua/html/oio/3. Уоссермен Ф. Нейрокомпьютерна техніка. - М.: Світ, 19924. Круглов В. В., Борисов В. В. Искусственные нейронные сети. Теорія и  

практика. – М.: Телеком, 2001. – 382 с.5. Мак-Каллок У. С., Питтс В. Логическое исчисление идей, относящихся к 

нервной активности - М.: Изд-во иностр. лит., 1956.6. http://www.neuroproject.ru/forecasting_tutorial.php#mlp6. http://www.neuroproject.ru/forecasting_tutorial.php#mlp7. Нейронные сети.  Саймон Хайкин. – М.: Вильямс, 2006. – 1103 с.

Історія розвитку штучних нейронних мереж

• 1943 рік — Норберт Вінер разом з співробітниками публікує роботу про кібернетику. Основною ідеєю є представлення складних біологічних процесів математичними моделями.

• 1943 рік — Маккалок та Піттс формалізують поняття нейронної мережі у статті про логічне числення ідей і нервової активності.

• 1949 рік — Хебб пропонує перший алгоритм навчання. • У 1958 році Розенблаттом винайдений перцептрон. Перцептрон набуває

популярності — його використовують для розпізнавання образів, прогнозування погоди і т. д. прогнозування погоди і т. д.

• У 1960 році Уідроу спільно зі своїм студентом Хоффом на основі дельта-правила розробили ADALINE (адаптивний суматор), який відразу почав використовуватися для завдань пророцтва і адаптивного управління. Зараз ADALINE є стандартним елементом багатьох систем обробки сигналів.

• У 1961 році під керівництвом Бонгарда розроблена програма «Кора» : «.завдання Кори — пошук розділяючого правила після того, як знайдені оператори, що дають досить чіткі характеристики об'єкту або його частин».

William McCulloch

4

Історія розвитку штучних нейронних мереж

• У 1969 році Мінський публікує формальний доказ обмеженості перцептронаі показує, що він нездатний вирішувати деякі завдання, пов'язані з інваріантністю представлень. Інтерес до нейронних мереж різко спадає.

• 1974 рік — Пол Дж. Вербос, і А. І. Галушкін одночасно винаходять алгоритм зворотного поширення помилки для навчання багатошарових перцептронів.

• 1975 рік — Фукушима представляє Когнитрон — мережу, що самоорганізовується, призначену для інваріантного розпізнавання образів, але це досягається тільки за допомогою запам'ятовування практично усіх станів образу.

• 1982 рік —Хопфілд показав, що нейронна мережа із зворотними зв'язками • 1982 рік —Хопфілд показав, що нейронна мережа із зворотними зв'язками може бути системою, що мінімізує енергію (так звана мережа Хопфілда). Кохоненом представлені моделі мережі, що навчається без учителя (нейронна мережа Кохонена).

• 1986 рік —Румельхартом, Хінтоном і Вільямсом та незалежно і одночасно Барцевим та Охониним перевідкритий та істотно розвинений метод зворотного поширення помилки. Почався вибух інтересу до навчаних нейронних мереж.

Основи нейромережевих технологій

1. Нейронні мережі: базові поняття

2. Архітектура нейронної мережі

3. Навчання нейронної мережі

1. Нейронні мережі: базові поняття

Усі живі істоти складаються з клітин. Будівельними блоками нервової тканини є нервові клітини — нейрони, що складаються з:

–тіла клітини

–дендритів (входи)

–аксона (вихід)

Біологічний нейрон

 

Нейрон (нервова клітка) складається з тіла клітини –соми (soma, cell body), і двох типів зовнішніх деревоподібних відгалужень: аксона (axon) і дендритів (dendrites). Тіло клітини вміщує ядро (nucleus), що містить інформацію про властивості нейрона, і плазму, яка продукує необхідні для нейрона матеріали. для нейрона матеріали. Нейрон отримує сигнали (імпульси) від інших нейронів через дендрити (приймачі) і передає сигнали, згенеровані тілом клітки, вздовж аксона (передавач), що наприкінці розгалужується на волокна (strands). На закінченнях волокон знаходяться синапси (synapses). Схема біологічного нейрона

Як відбувається робота мозку?

• Мозок складається з нейронів, які з’єднуються один з одним в єдину велику мережу.

• Коли нейрон подразнюється, він передає своїм сусідам електричні сигнали певного виду. Ті обробляють сигнали і передають далі.

• Ланцюжок нейронів, які можуть встигнути отримати подразнення перед ухваленням рішення, не може бути довше за декілька сотень.сотень.

Мозок досягає складності та ефективності не за рахунок величезної кількістю послідовних обчислень, як сучасні комп’ютери, а вдалими зв’язками між нейронами, які дозволяють для вирішення кожного конкретного завдання задіювати ланцюжки невеликої глибини.

Означення нейронної мережі

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

• Нейронні мережі не • Нейронні мережі не програмуються у звичному змісті цього слова, вони навчаються. 

• Можливість навчання – одне з головних переваг нейронних мереж перед традиційними алгоритмами. 

Структура штучного нейрона

• Нейрон є складовою частиною нейронної мережі. Він складається з елементів трьох типів: помножувачів (синапсів), суматора і нелінійного перетворювача. • Синапси здійснюють зв’язок між нейронами, множать вхідний сигнал на число, що характеризує силу зв’язку, (вагу синапса). 

bxwSn

iii

1

.

W1 … Wi … Wn

x1

11

синапса). • Суматор виконує додавання сигналів, що надходять по синаптичним зв’язках від інших нейронів і зовнішніх вхідних сигналів. • Нелінійний перетворювач реалізує нелінійну функцію одного аргументу –виходу суматора. Ця функція називається функцією активації чи передатною функцією нейрона.

)(sfy

.

.

....

.

.

.

s yf

b

x1

xn

xi

.

.

.

Структура штучного нейрона

Математична модель штучного нейрона:

Математична інтерпретація дії нейрона

Стан нейрона:

Отриманий сумарний імпульс (вхід)

Вихідний сигнал нейрона:Вихідний сигнал нейрона:

Функція f називається активаційною і є, як правило,

сигмоїдною:

Результат!

Сила вихідного сигналу:

Нейрон повністю описується своїми вагами та активаційною

функцією

Отримавши на вході набір чисел – параметри (вектор) – нейрон в

залежності від своїх ваг на виході дасть деяке число

Сумуючий блок, який відповідає тілу біологічного нейрона, складає зважені входи алгебраїчно, створюючи вихід, який ми називатимемо NET.

Активізаційні функції

Сигнал NET далі, як правило, перетворюється активаційною функцією F і дає вихідний нейронний сигнал OUT = F(NET). Активаційна функція F(NET) може бути:

Віаs-нейрон

Нейрон – пороговий елемент

Зазвичай

коефіцієнтів (які зазвичай налаштовуються); — активаційнафункція (нелінійна порогова).

де S j — постсинаптичний потенціал; bj — порогове значення(вагові коефіцієнти зв'язків з Bias-нейроном); Wj — вектор вагових

f

y j f (x,W j )

) (     ( )

j

T Tj j j j j

S

y f W x y W x b

Bias-нейрон — фіктивний нейрон, пов'язаний з усіма нейронами мережі (крім вхідних), вихід якого дорівнює 1. Можливі два види порогових функцій.

— асиметрична,

— симетрична.

Щоб забезпечити можливість використання градієнтних методівоптимізації для налаштовання вагових коефіцієнтів застосовуютьгладку активаційну функцію. Найчастіше використовуються наступніактиваційні функції:

0, x 0

1, x 0f (x)

1, x 0

1, x 0f (x)

Нейронна мережа

Особливості:

• Нейронна мережа – спрощена модель біологічного аналогу.

• Демонструє властивості, що характерні людському мозку, – це

вирішення задач на основі досвіду, узагальнення, отримання

істотних даних з надлишкової інформації.

• Як правило, активаційні функції всіх нейронів в нейронній • Як правило, активаційні функції всіх нейронів в нейронній

мережі фіксовані, а ваги є параметрами нейронної мережі і

можуть змінюватися.

• Робота нейронної мережі полягає в перетворенні вхідного

вектора у вихідний вектор, причому це перетворення задається

вагами нейронної мережі.

2. Архітектура нейронної мережі

• Більшість нейронних мереж містять як мінімум три нормальних типи прошарків – вхідний, прихований та вихідний. • Прошарок вхідних нейронів отримує дані або з вхідних файлів, або безпосередньо з електронних 

Діаграма простої нейронної мережі

або безпосередньо з електронних давачів.  

• Вихідний прошарок пересилає інформацію безпосередньо до зовнішнього середовища. •Входи та виходи кожного з прихованих нейронів просто йдуть до інших нейронів.

Штучна нейронна мережа

ШНМ — багатошарова нейромережева архітектура одного з трьох видів:

– без зворотних зв'язків (feed-forward),

– з зворотними зв'язками

– з латеральним гальмуванням.

Режими функціонування мережі

НМ функціонують у наступних режимах:

– навчання — налагодження всіх коефіцієнтів;

– тестування — перевірка працездатності мережі на незалежній вибірці;

– прогін — використання мережі на невідомих даних.

Існує два режими навчання:Існує два режими навчання:

– з учителем — на вхід мережі подаються вхідні образи, на вихід — цільовий вихід. Вагові коефіцієнти налаштовуються на основі помилки між реальним і бажаним виходом.

– без учителя — на вихід дані не подаються. Мережа сама формує взаємозв'язки між однотипними вхідними даними (кластеризація).

Приклад використання нейромережі

Задача розпізнавання рукописних літер.

Дано:

растрове чорно-біле зображення розміром 30*30 пікселів.

Потрібно:

визначити, яка це літера (в алфавіті 33 літери).

Інтерпретація задачі для нейронної мережі.

Дано:Дано:

дано вхідний вектор із 900 двійкових символів (30*30=900).

Потрібно:

потрібно побудувати нейронну мережу із 900 входами та 33 виходами, які помічені літерами.

Якщо на вході нейронної мережі зображення літери «А», то максимальне значення вихідного сигналу досягається на виході «А».

Аналогічно нейронна мережа працює для всіх 33 літер.

Як побудувати нейромережу?

1. Вибір типу (архітектури) нейронної мережі.

які нейрони ми хочемо використовувати (кількість

входів, активаційні функції);

яким чином слід з’єднати їх між собою;

що взяти за входи і виходи нейронної мережі.

Підбір ваг (навчання) нейронної мережі. 2. Підбір ваг (навчання) нейронної мережі.

Приклади архітектур нейромережі:Перцептрон Розенблата.

Багатошаровий перцептрон.

Мережа Джордана.

Мережа Елмана.

Мережа Хемінга.x1

W

Мережа Хемінга.

Мережа Кохонена

... x2

xn

. . .

S-елементи A-елементи R-елементи

Навчання штучної нейронної мережіІснують три загальні парадигми навчання:

• "з вчителем“ - нейромережа має у своєму розпорядженні правильні відповіді (виходи мережі) на кожен вхідний приклад. 

• "без вчителя" (самонавчання) - не вимагає • "без вчителя" (самонавчання) - не вимагає знання правильних відповідей на кожен приклад навчальної вибірки. 

• змішана - частина ваг визначається за допомогою навчання зі вчителем, у той час як інша визначається за допомогою самонавчання.

Навчання нейромережі

• Основна ідея: корекція коефіцієнтів у випадку, якщо після пред’явлення чергового навчального вектора фактичний вихід не збігається з бажаним. Така корекція може здійснюватися після кожного пред’явлення чергового вектора.

Навчання штучної нейронної мережі

Правила навчання нейромережі:

• Правило Хеба.Правило Хеба. Wij(k)=r xj (k) yi (k), r - коефіцієнт швидкості навчання. • Правило ХопфілдаПравило Хопфілда. Якщо одночасно вихідний та вхідний сигнал нейрона є активними або неактивними, збільшуємо вагу з'єднання оцінкою навчання, інакше зменшуємо вагу оцінкою навчання.• Правило "дельта".Правило "дельта". Wij= xj (di - yi).• Правило "дельта".Правило "дельта". Wij= xj (di - yi).• Правило градієнтного спуску. Правило градієнтного спуску. До кінцевого коефіцієнта зміни, що діє на вагу, додається пропорційна константа, яка пов'язана з оцінкою навчання. •• Навчання методом змагання. Навчання методом змагання. Wij (k+1)= Wij(k)+r [xj Wij (k+1)= Wij(k)+r [xj -- Wij(k)].Wij(k)].

• правило Уїдроу-Хопфа Інша назва - -правило.

• Для нейрона з лінійною функцією активації (ADALINE).

wj:= wj + α(d-y)xj ,

θ:= θ -α(d-y)

Особливості нейромереж:

Конекціонізм – глобальність зв’язків нейронів та їх нелінійна дія.

Локальність і паралелелізм – кожен нейрон реагує лише на локальну інформацію, що поступає до нього в даний момент від пов’язаних з ним таких же нейронів, без звертання до загального стану обчислень. звертання до загального стану обчислень.

Навчання – кожен нейрон змінює синапсичні ваги локально, в залежності від інформації, яка до нього надійшла.

Чорний ящик – нездатність нейромережі пояснити результат. Він є і все!

Модель перcептрона

Найпростіша мережа, що складається з одного нейрона, називаєтьсяперсептроном. Модель персептрона має вигляд, показаний на рис.

1

х yy R , y {1, 1 }

При цьомуx R d , або x {1, 1 }d

,

або .Розглянемовипадок

x R d , y { 1 , 1 }

Функціонування персептрона описується залежністю:

27

dде – деякий поріг.y s i g n (W T x ) ( x ,W ) (1)

Ця модель персептрона — лінійного порогового елемента (LTU — linear thresholdunit) — перша модель нейронної мережі. Вона була запропонована Розенблаттом(Frank Rosenblatt) (рис.).

H {x : W Tx }

H {x : W Tx }

{x : y 1}

{x : y 1}

(2)

з розділяючою гіперплощиною (афінний підпростір розмірності d 1 ): H {x : W T x 0}

(3)

У геометричній інтерпретації рівняння (1) визнач,ає 2 підпростори

Модель перcептрона

28

Максимальний розмір навчальної множини

Розмір навчальної множини не повинен перевищувати

N 2(d 1)  2d,

тобто кожний ваговий коефіцієнт (зв'язок) здатен "запам'ятати" приблизно 2 вхідні образи.

29

приблизно 2 вхідні образи.

Методи лінійного програмування для розв’язання нерівності (5) (симплекс-метод) забезпечують пакетну обробку, що не відображає процес навчання.

Для навчання необхідний інтерак - тивний або on-line алгоритм, що корегує вагові коефіцієнти після пред'явлення мережі кожного образа.

Алгоритм навчання персептрона Розенблатта

30

, аленайчастіше вибирають

,

для нормування множинитори мали одиничну довжину.

1. У базовому алгоритмі навчання персептрона k 1

kzij~

1

F таким чином, щоб усі його век -~

Операції 4 обумовлені пошуком розв’язку W у формі~

, 0 .~z~

W

Алгоритм навчання персептрона Розенблатта

31

Крім того

.

негативного значення на наступному кроці було отриманедодатне (п. 4 виконується тільки у випадку негативного добутку).

, 0 .j

jj i j~zW

zijj zijWj zij

~ 2 ~ ~wj1Wj1 zij ~~ ~ ~

ЗначенняW j — збільшується, щоб після поточного~

Обмеженість простих персептронів Ряд експериментів, в першу чергу - з розпізнавання. Аналіз Мінського і Пейперта: системи, подібні до

персептронів, в принципі не можуть розв’язувати ряд задач.

По суті - алгоритми навчання таких систем еквівалентні знаходженню лінійної розділяючої функції.функції.

Тобто - якщо є лінійне розділення, то алгоритм знайде коефіцієнти лінійної розділяючої функції. Якщо ні - то ні.

Класичний приклад: задача XOR.

Багатошарові нейронні мережі Багатошарові (1986 р.) мережі володіють значно більшими

можливостями, ніж одношарові. Проте багатошарові мережі можуть

привести до збільшення обчислювальної потужності в порівнянні з

одношаровими лише в тому випадку, якщо активаційна функція між

шарами буде нелінійною.

Багатошарові нейронні мережі: загальний опис• Вхідний шар сприймає вхідні дані та розподіляє їх до

наступного шару.• Вихідний шар видає результати.• Між ними - проміжні, або сховані шари.• Вихід кожного нейрону попереднього шару з’єднаний з

входами усіх нейронів наступного шару; wik - зв’язок між i-м нейроном попереднього шару та k-м нейроном наступного.наступного.

• Ключова ідея: багатошарові нейронні мережі можуть здійснювати нелінійне розділення.

• Класичний метод - метод зворотного розповсюдження помилок (back propagation).

• Активаційна функція не повинна бути лінійною. Часто використовуються, зокрема, сигмоїдні активаційні функції.

Багатошарові нейронні мережі прямого розповсюдження

Мережа прямого поширення являє собою багатошарову нейронну мережу без зворотних зв'язків, у якій вихід кожного нейрона шару з'єднаний із входами всіх нейронів наступного шару, а для перетворення сигналу вхідного збудження (постсинаптичного потенціалу) кожного нейрона прихованого і вихідного шару у вихідний сигналприхованого і вихідного шару у вихідний сигналвикористовується нелінійна активаційна функція.

Поріг спрацьовування кожного нейрона реалізується за допомогою використання так званого Bias- нейрона, вихід якого завжди має значення 1, а ваговий коефіцієнт зв'язку цього нейрона з іншими нейронами мережі налаштовується в процесі навчання (рис.).

35

MLP (Multilayer Perceptron) -

багатошарова нейронна мережа без зворотнихзв'язків

36

Вхідні і вихідні дані

Розмірність вхідного шару мережі прямого поширення (рис.) відповідає розмірності вектора вхідних даних задачі.

Розмірність вихідного шару визначається специфікою конкретної задачі.

Вектор, що містить пару векторів (вхідний і цільовий вектори), називається також образом або

37

вектори), називається також образом або елементом навчальної вибірки (навчальної множини).

Множина образів складає епоху — послідовність образів довільної розмірності, що включає в себе образи всіх можливих типів (класів).Кожен вхідний вектор перетворюється мережею у вихідний вектор, розмірність якого визначається типом задачі (класифікація або інтерполяція) і збігається з розмірністю вихідного шару мережі.

Режими роботи

Мережі прямого поширення можуть функціонувати в трьох режимах:

Навчання — настроювання вагових коефіцієнтів.

38

Тестування — перевірки ефективності навчання на незалежних даних.

Прогін — формування вихідних даних на основі перетворення мережею вхідної інформації при налаштованих вагових коефіцієнтах зв'язків між шарами.

Приклад – задача класифікації земного покриву за супутниковими даними

Дано – супутникові знімки різних апаратів (різна кількість каналів) різного розрізнення (Часового та просторового)

Завдання – побудувати “Маску” сільгоспкультур

39

Завдання – побудувати “Маску” сільгоспкультур

Розв’язання задачі:

1.Сформувати навчальну та тестову (незалежну) вибірку

2.Навчити класифікатор

3.Перевірити точність на незалежних тестових даних

5. Використовувати в операційному режимі

Супутникові дані: RapidEye (5 м)

40

LISS-III (30 м)

41

Картографування природного рослинного

покриву (ceреднє розрізнення)Дані

Landsat-7/ETM+

Розрізнення 30 мТочністькласифікаціїдо 88.93% до 88.93%

Режим прогону

43

Режим навчання з вчителем

44

Метод зворотного поширення похибки

45

Оптимізація вагових коефіцієнтів заметодом градієнтного спуску

46

Варіанти методу зворотнього поширення похибки

Існує два основних варіанти методу зворотного поширення похибки:

• on-line (некумулятивний)

• off-line (кумулятивний)

47

Похідна для кожного образу

г р а д і є н т

Варіанти методу зворотнього поширення похибки

48

Кумулятивний та некумулятивний метод навчання мережі

а) кумулятивний метод близький до реального градієнтного спуску

49

б) некумулятивне навчання вносить елемент випадковості

Процес зміни вагових коефіцієнтів при кумулятивному та некумулятивному способі навчання

Сигнал похибки

50

Обчислення сигналу похибки

51

Обчислення похідних

Повертаючись до

з врахуванням та

Wij

SkE

Wij

E p

N0

k1 Sk

i yS

52

з врахуванням та

маємо

i y jWi j

S

ij

i y j .W

E p

ikii

yk

S y S

E E p p

Алгоритм зворотного поширення похибки

1. На вхід мережі подається вхідний вектор з навчальної вибірки.

2. Виконується прогін мережі (прямий прохід), і обчислюється реальний вихід, що відповідає даному входу (відповідно до приведених вище формул).

3. Отриманий вихід порівнюється з цільовим виходом для даного вхідного вектора й обчислюється похибка на

53

даного вхідного вектора й обчислюється похибка на виході мережі.

4. Обчислюється похідна функції помилки по кожному з вагових коефіцієнтів мережі.

5. Вагові коефіцієнти налаштовуються таким чином, щоб мінімізувати похибку на виході мережі.

6. Здійснюється перехід до п. 1. Процедура повторюється доти, доки похибка не потрапить у припустимі межі або доки не буде досягнуто задане число ітерацій.

And Finally….

“If the brain were so simple that we could understand it that we could understand it then we’d be so simple that

we couldn’t”