Top Banner
Umělé neuronové sítě z pohledu rozpoznávání Václav Hlaváč Centrum strojového vnímání Katedra kybernetiky FEL ČVUT [email protected] Poděkování: inspirace a obrázky z přednášek mnoha jiných
41

Umělé neuronové sítě z pohledu rozpoznávání

Feb 04, 2017

Download

Documents

doankhanh
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: Umělé neuronové sítě z pohledu rozpoznávání

Umělé neuronové sítěz pohledu rozpoznáváníVáclav HlaváčCentrum strojového vnímáníKatedra kybernetiky FEL Č[email protected]

Poděkování: inspirace a obrázky z přednášek mnoha jiných

Page 2: Umělé neuronové sítě z pohledu rozpoznávání

2

Motivace (1)

Přispět k porozumění fungování mozku Mozek je složitější než cokoliv jiného,

čemu člověk porozuměl. Mozek je složen z živých buněk

určených ke zpracování informace, ale není navržen jen k tomu. Buňky musí mít řadu dalších chování, aby zůstaly naživu.

Page 3: Umělé neuronové sítě z pohledu rozpoznávání

3

Motivace (2)

Najít jiný přístup k počítání než sekvenční Umělá neuronová síť = mnoho jednoduchých

a navzájem propojených procesorů (umělých neuronů).

Topologie sítě = graf propojení procesorů do značné míry ovlivňuje výpočet.

Hodí se na: rozpoznávání, detekci pohybu, ... Nehodí se na: výpočet 3.46 x 2.54;

zapamatování telefonního seznamu, ...

Page 4: Umělé neuronové sítě z pohledu rozpoznávání

4

Motivace (3)

Použít k řešení složitých praktických úloh Paradigma učení na základě příkladů,

(paradox znalostního inženýrství). Metody učení z příkladů pravděpobně

nevysvětlují, jak se učí mozek.

Důležitý cíl: opřít předchozí tři motivace o přesné matematické modely.

Page 5: Umělé neuronové sítě z pohledu rozpoznávání

5

Charakteriky sítěArchitektura – uspořádání uzlů

a spojení mezi nimi.Algoritmus učení – postup, jakým se

nastavují váhy v jednotlivých spojeních.Aktivační funkce – postup, jakým se ze

vstupů uzlu počítá jeho výstup, např.• synchronní.• asynchronní.

Page 6: Umělé neuronové sítě z pohledu rozpoznávání

6

Biologická motivace

Page 7: Umělé neuronové sítě z pohledu rozpoznávání

7

Biologická motivace (2)

Lidský mozek obsahuje asi 1011 neuronů. Buněčné jádro (soma) má velikost jen 1 až 3

m. Délka dendritu bývá 1 až 3 mm. Bývá jich

100 až 10000. Délka axonů bývá i delší než 1 m. Přenos informace mezi neurony uskutečňují

synapse (elektrochemické vazby, dva typy excitační = vybuzující, inhibiční = tlumící).

Mozek spotřebovává 2030 % energie těla, i když představuje jen asi 2 % váhy.

Page 8: Umělé neuronové sítě z pohledu rozpoznávání

8

Biologická motivace (3)

Snímek neuronu v elektronovém mikroskopu

Page 9: Umělé neuronové sítě z pohledu rozpoznávání

9

Biologická motivace (4)

Synapses, Ca influx, release of neurotransmitter, opening of post-synaptic channels

Page 10: Umělé neuronové sítě z pohledu rozpoznávání

10

Architektura sítě Propojení sítě

• úplné• částečné

Počet vrstev Vazby

• dopředné šíření (feedforward) nebo zpětné šíření, bez zpětné vazby, stabilní, používá se nejčastěji

• zpětnovazební (rekurzivní) síť, problémy se stabilitou

Page 11: Umělé neuronové sítě z pohledu rozpoznávání

11

Srovnání počítač x mozek

Počítač Lidský mozek

Výpočetní jednotka 1 CPU 1011 buněk

Paměť 109 bitů RAM, 1011 bitů na disku

1011 neuronů, 1014 synapsí

Délka cyklu 10-8 sekundy 10-3 sekundy

Šířka pásma 109 bitů za sekundu 1014 bitů za sekundu

Rychlost obnovy 109 výpočetních elementů

1014 neuronů za sekundu

Page 12: Umělé neuronové sítě z pohledu rozpoznávání

12

Budoucí naděje NN

Kombinovat paralelismus neuronů s rychlostí výpočtu/přepínání počítače.

Page 13: Umělé neuronové sítě z pohledu rozpoznávání

13

Použití NN

Rozpoznávání (klasifikace) přiřazení pozorování třídě.

Regrese (aproximace) funkce. Predikce předpověď nového hodnoty na

základě časové řady.

Všechny tři aplikace lze matematicky formulovat jako aproximaci funkce (tj. optimalizační úlohu) y = f(x, parameters).

Page 14: Umělé neuronové sítě z pohledu rozpoznávání

14

function NEURAL-NETWORK-LEARNING(examples) returns networknetwork a network with randomly assigned weightsrepeat

for each e in examples doO NEURAL-NETWORK-OUTPUT(network, e)T the observed output values from eupdate the weights in network based on e, O, and T

enduntil all examples are correctly predicted or stopping

criterion is reachedreturn network

Obecně o učení z příkladů

Potíž: nebezpečí přeučení (overfitting)

Page 15: Umělé neuronové sítě z pohledu rozpoznávání

15

Perceptron, dvě třídy

Page 16: Umělé neuronové sítě z pohledu rozpoznávání

16

Perceptron a učení

Perceptron: xwy Tout

Data: ),(),...,,(),,( 22

11

NN yxyxyx

Chybová funkce: 22 ))(())(()( ttT

tout yxtwytytE

Učení:

tj

m

jj

T

tit

tTii

i

ttT

ii

ii

xtwxtw

xyxtwctwtw

wyxtw

ctww

tEctwtw

1

2

)()(

))(()()1(

))(()()()()1(

Perceptron je schopen se naučit lineární rozhodovací funkci.

Page 17: Umělé neuronové sítě z pohledu rozpoznávání

17

Perceptron a XOR

Rozhodnutí nelze aproximovat lineární funkcí.

Marvin Minsky & Seymour Papert (1969). Perceptrons, MIT Press, Cambridge, MA.

Tato autorita zastavila vývoj v NN na 12 až 15 let.

Page 18: Umělé neuronové sítě z pohledu rozpoznávání

18

Znovuzrození NN (konektivismu)

David E. Rumelhart & James L. McClelland (1986). Parallel Distributed Processing, Vols. 1 & 2, MIT Press, Cambridge, MA.

Rumelhart & McClelland sestavili neurony do vrstev. Výsledky výpočtu byly předány další vrstvě.

Tato myšlenka se opírá o dva průlomové nápady …•Skokovou aktivační funkci perceptronu nahradila

spojitá funkce (např. sigmoida)•Byl navržen nový algoritmus učení – metoda

zpětného navracení (backpropagation).

Page 19: Umělé neuronové sítě z pohledu rozpoznávání

19

Vrstvené sítě

Vrstvená síť typu m – k1 – k2 – ... – kr – n• se vstupní vrstvou dimenze m• s výstupní vrstvou dimenze n• s r skrytými vrstvami.

Příklad:síť4-6-6-6-3

Page 20: Umělé neuronové sítě z pohledu rozpoznávání

20

I2

W24= -1

H4

W46 = 1

H6

W67 = 1

I1

W13 = -1

H3W35 = 1

H5

O7

W57 = 1W25 = 1

W16 = 1

Příklad dopředné vrstvené sítě

Page 21: Umělé neuronové sítě z pohledu rozpoznávání

21

Zákl. vlastnost vrstvených sítí

Umějí realizovat libovolné spojité zobrazení z m rozměrného vstupního vektorového do n rozměrného výstupního prostoru s libovolnou přesností.

Lze najít příslušné skryté vrstvy sítě a hodnoty vah.

Stačí dvě skryté vrstvy.

Page 22: Umělé neuronové sítě z pohledu rozpoznávání

22

Hilbertův 13. problém

International congress of mathematicians Paris, 1900.

Německý matematik David Hilbert (1863-1943) formuloval 23 nevyřešených problémů. Např.

Domněnka: kořeny funkce tří proměnných (zde a,b,c) nemohou být nahrazeny konečnou superpozicí funkcí o dvou proměnných.

A.N. Kolmogorov vyvrátil až roce 1954.

Page 23: Umělé neuronové sítě z pohledu rozpoznávání

23

Vyvráceno A.N. Kolmogorovem

První výsledek z 1954. Pro NN je relevantnější je obecnější výsledek z 1957.

Ukázal, že každá spojitá funkce více proměnných (s omezeným definičním oborem) může být vyjádřena jako součet malého počtu funkcí jedné proměnné.

Page 24: Umělé neuronové sítě z pohledu rozpoznávání

24

Poučení pro praxi NN?

Výsledek A.N. Kolmogorova ho nedává.

1. Jednorozměrné funkce nejsou spojité, což vede k nestabilitám sítě v závislosti na datech.

2. Aktivační funkce jsou závislé na funkci, kterou mají aproximovat.

Praktické řešení bylo navrženo mezi 1989-1992 a přispěla k němu Dr. Věra Kůrková z Ústavu informatiky AV ČR

Page 25: Umělé neuronové sítě z pohledu rozpoznávání

25

Výpočet hodnoty, aktivní mód

Cíl najít (přibližnou) hodnotu zobrazení. Vstupní vrstvu ztotožníme se vstupním

vektorem. Vstupní vrstva nepočítá. Hodnoty se propagují vrstvami a ve

výstupní vrstvě se najde výsledek. NN jsou nejsou objevné svým aktivním

módem (výpočtem), ale módem učení. Zde se hledá síť, která výpočet realizuje.

Page 26: Umělé neuronové sítě z pohledu rozpoznávání

26

Učení – gradientní optimalizace

Optimalizační kritérium: energie

N

ttt yWxF

NE

1

2));((1

Pravidlo pro změnu synaptických vah wi

ji

ji

newji

ji

ji

www

WwEcw

,

)(

c je krok učení, obvykle konstanta

Page 27: Umělé neuronové sítě z pohledu rozpoznávání

27

Vícevrstvý perceptronVs

tupn

í uzly

Výstupní uzly

uzly

Skryté

Aktivace: dopředný směr

Chyba se šíří zpětně

Skoková funkce (dovolující jen zapnuto, vypnuto) je nahrazena spojitými sigmoidními funkcemi

1

0 vstup

Page 28: Umělé neuronové sítě z pohledu rozpoznávání

28

Units

Hidden

Vstu

pní u

zlyBackpropagation neformálně

Output Units

Aktivace: dopředný směr

Chyba se šíří zpětně

Output UnitsCílový uzel

δ

Potřebujeme vědět, které váhy nejvíce přispívají k chybě …Chybu můžeme stanovit na výstupu. Potom ji musíme šířit zpět a vyřešit váhy …

δ

δ

Které váhy změnit? O kolik?

?

Page 29: Umělé neuronové sítě z pohledu rozpoznávání

29

Zpětné šíření (backpropagation)1. Inicializuj váhy sítě malými náhodnými čísly 2. Dokud není splněno kritérium pro zastavení 2.1. Pro každý příklad [x, y] z trénovacích dat 2.1.1. Spočítej výstup outu pro každý neuron u v síti

2.1.2. Pro každý neuron v ve výstupní vrstvě spočítej chybu

errorv = outv (1 - outv) (yv - outv)

2.1.3. Pro každý neuron s ve skryté vrstvě spočítej chybu errors = outs (1 - outs) vvýstup (ws,v errorv )

2.1.4. Pro každou vazbu vedoucí od neuronu j do neuronu k modifikuj váhu vazby

wj,k = wj,k + wj,k , kde wj,k = errork xj,k

Page 30: Umělé neuronové sítě z pohledu rozpoznávání

30

Správné třídy

0 pro třídu A

1 pro třídu B

t=50 t=100 t=150 t=200

Kroky učení

Architektura sítě

BA

Backpropagation, ilustrace

Page 31: Umělé neuronové sítě z pohledu rozpoznávání

31

XOR problém - vyřešen

Hidden Units

Output Unit

Input Units

1

11

1

1-1

0.5

1.5

0.5

1 1 0 01

0 1 0 0

110

x ^ yyx

výstupvstupy

Pravdivostní tabulka pro XOR

>

<1

0

> 1

Horní skrytý neuron detekuje případ, kdy je aktivován alespoň jeden vstupní neuron.Dolní skrytý neuron detekuje situaci, kdy jsou aktivovány oba vstupní uzly.Výstupní uzel je aktivován horním skrytým neuronem a vypínán dolním skrytým neuronem…

Přidání skryté vrstvy umožňuje NN vyřešit úlohu XOR.Skryté neurony fungují jako detektory situací.

Page 32: Umělé neuronové sítě z pohledu rozpoznávání

32

Kohonenova samoorganizující síť

Zkratka SON (Self-Organizing Network). Učení bez učitele. Myšlenka poprvé od C. von der Malsburg

(1973), rozvinul T. Kohonen (1982). Metoda shlukování. Podobná vstupní data

aktivují neurony, které jsou blízko sebe. Díky schopnosti projekce se SON používají

pro snížení dimensionality a vizualizaci dat. Biologická opora: mapy aktivity mozku.

Page 33: Umělé neuronové sítě z pohledu rozpoznávání

33

Architektura SON

Výpočetní vrstva je složena z mřížky neuronů. Tím je dána topologie.

2D pole neuronů

Vstupní signály (vektor) (propojeno se všemi vektory v mřížce)

Synapse s váhami

x1 x2 x3 xn...

wj1 wj2 wj3 wjn

jj

Page 34: Umělé neuronové sítě z pohledu rozpoznávání

34

Výpočet v SON

Jednovrstvá topologie (s případnou vstupní a výstupní vrstvou).

Výpočet probíhá na základě kompetice (pro každý vstup je aktivní právě jeden vítězný neuron). Pravidlo vítěz bere vše.

Učení: po zpracování vstupu se upraví váhy neuronu (j), který „vyhrál“v kompetici:wji = wji(t)+q[xi (t-1)- wji(t-1)]

Page 35: Umělé neuronové sítě z pohledu rozpoznávání

35

Algoritmus SON (přehled)

1. Náhodně nastav váhy všech neuronů wj.2. Vyber vstupní vektor x = (x1, x2, x3, … , xn ).3. Najdi vítěze, tj. porovnej x s váhami wj pro každý

neuron j. 4. Uprav vítězný neuron, aby se spolu se svým

okolím v mřížce podobal příkladu x, obvykle wj = wj(t)+q[xi (t-1)- wj(t-1)], kde q je rychlost učení obvykle klesající.

5. Nastav parametry: rychlost učení a funkci zohledňující neurony v okolí.

6. Opakuj od kroku (2) do ustálení vah nebo než uplyne předem zvolený počet kroků samoučení.

Page 36: Umělé neuronové sítě z pohledu rozpoznávání

36

Vztah VQ a SON

U vektorové kvantizace (VQ) nezávisí na pořadí reprezentantů tříd, tj. nezávisí na pořadí.

U SON je pozice reprezentantů (střední hodnota) zaznamenána. Tím je zachována topologie. Zkoumané datum se zobrazí k blízkému reprezentantuovi v mřížce.

Page 37: Umělé neuronové sítě z pohledu rozpoznávání

37

SOM a shlukování k-průměrů

Kompetitivní samoučení lze chápat jako on-line verzi k-průměrů.

SOM navíc přidává mřížku a interakce jen v okolí.

Metoda k-průměrů se hodí pro shlukování. SOM se především hodí pro učení variety menší dimenze než je dimenze dat (např. 2D nebo 3D).

Page 38: Umělé neuronové sítě z pohledu rozpoznávání

38

Aplikace: míra chudoby ve světě

Page 39: Umělé neuronové sítě z pohledu rozpoznávání

39

Aplikace: míra chudoby ve světě (2)

Page 40: Umělé neuronové sítě z pohledu rozpoznávání

40

Příklad: odhad geometrie bodůInputs: coordinates (x,y) of points

drawn from a squareDisplay neuron j at position xj,yj where

its sj is maximum

Random initial positions

100 inputs 200 inputs

x

y From: les réseaux de neurones artificiels » by Blayoand Verleysen, Que sais-je 3042, ed PUF

Page 41: Umělé neuronové sítě z pohledu rozpoznávání

41

Hopfieldova síť Úplná topologie (cyklická) Přípustné pouze binární

vstupy. Používá se:

• jako asociativní paměť • jako klasifikátor• k optimalizaci

Učení: wji =S xkjxik, k{1,…p} Výpočet probíhá do ustálení

stavu (zaručeno).