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

Lect ai 2 nn

Aug 09, 2015

Download

Education

Halyna Melnyk
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Lect ai 2 nn

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

Лекція 2

Page 2: Lect ai 2 nn

Література

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 с.

Page 3: Lect ai 2 nn

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

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

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

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

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

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

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

Page 4: Lect ai 2 nn

William McCulloch

4

Page 5: Lect ai 2 nn

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

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

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

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

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

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

Page 6: Lect ai 2 nn

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

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

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

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

Page 7: Lect ai 2 nn

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

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

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

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

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

Page 8: Lect ai 2 nn

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

 

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

Page 9: Lect ai 2 nn

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

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

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

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

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

Page 10: Lect ai 2 nn

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

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

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

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

Page 11: Lect ai 2 nn

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

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

bxwSn

iii

1

.

W1 … Wi … Wn

x1

11

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

)(sfy

.

.

....

.

.

.

s yf

b

x1

xn

xi

.

.

.

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

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

Page 12: Lect ai 2 nn

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

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

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

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

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

сигмоїдною:

Page 13: Lect ai 2 nn

Результат!

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

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

функцією

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

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

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

Page 14: Lect ai 2 nn

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

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

Page 15: Lect ai 2 nn

Віа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)

Page 16: Lect ai 2 nn

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

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

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

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

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

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

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

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

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

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

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

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

Page 17: Lect ai 2 nn

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

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

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

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

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

Page 18: Lect ai 2 nn

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

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

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

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

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

Page 19: Lect ai 2 nn

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

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

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

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

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

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

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

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

Page 20: Lect ai 2 nn

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

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

Дано:

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

Потрібно:

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

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

Дано:Дано:

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

Потрібно:

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

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

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

Page 21: Lect ai 2 nn

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

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

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

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

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

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

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

Page 22: Lect ai 2 nn

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

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

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

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

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

W

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

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

... x2

xn

. . .

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

Page 23: Lect ai 2 nn

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

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

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

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

Page 24: Lect ai 2 nn

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

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

Page 25: Lect ai 2 nn

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

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

• Правило Хеба.Правило Хеба. 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)

Page 26: Lect ai 2 nn

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

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

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

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

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

Page 27: Lect ai 2 nn

Модель пер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 підпростори

Page 28: Lect ai 2 nn

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

28

Page 29: Lect ai 2 nn

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

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

N 2(d 1)  2d,

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

29

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

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

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

Page 30: Lect ai 2 nn

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

30

Page 31: Lect ai 2 nn

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

,

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

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 — збільшується, щоб після поточного~

Page 32: Lect ai 2 nn

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

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

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

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

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

Page 33: Lect ai 2 nn

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

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

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

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

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

Page 34: Lect ai 2 nn

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

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

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

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

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

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

Page 35: Lect ai 2 nn

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

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

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

35

Page 36: Lect ai 2 nn

MLP (Multilayer Perceptron) -

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

36

Page 37: Lect ai 2 nn

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

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

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

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

37

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

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

Page 38: Lect ai 2 nn

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

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

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

38

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

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

Page 39: Lect ai 2 nn

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

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

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

39

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

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

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

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

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

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

Page 40: Lect ai 2 nn

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

40

Page 41: Lect ai 2 nn

LISS-III (30 м)

41

Page 42: Lect ai 2 nn

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

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

Landsat-7/ETM+

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

Page 43: Lect ai 2 nn

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

43

Page 44: Lect ai 2 nn

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

44

Page 45: Lect ai 2 nn

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

45

Page 46: Lect ai 2 nn

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

46

Page 47: Lect ai 2 nn

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

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

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

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

47

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

г р а д і є н т

Page 48: Lect ai 2 nn

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

48

Page 49: Lect ai 2 nn

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

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

49

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

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

Page 50: Lect ai 2 nn

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

50

Page 51: Lect ai 2 nn

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

51

Page 52: Lect ai 2 nn

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

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

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

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

Page 53: Lect ai 2 nn

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

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

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

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

53

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

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

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

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

Page 54: Lect ai 2 nn

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”