Neuronové sít a výpočetní inteligence

Transkript

Neuronové sít a výpočetní inteligence
Neuronové sít a výpo etní
inteligence
Úvod do p edm tu
Miroslav Skrbek ©2010
LS2011/12
5.3.2012 verze 1.0
1
Um lá inteligence
Um lá inteligence (UI) je obor informatiky zabývající se tvorbou stroj
vykazujících známky inteligentního chování. Definice pojmu
„inteligentní chování“ je stále p edm tem diskuse, nej ast ji se jako
etalon inteligence užívá lidský rozum.
P evzato z: wikipedia http://cs.wikipedia.org/wiki/Um%C4%9Bl%C3%A1_inteligence
Turing v test (Alan Turing 1950): test, ve kterém za oponou je umíst n
stroj a lov k. Jiný lov k (p ed oponou) s ob ma komunikuje
(verbáln ). Pokud nerozenáme stroj od lov ka, pak o stroji m žeme
hovo it jako o inteligentním stroji.
Klasická um lá inteligence je založena na logice, symbolickém po ítání,
odvozování, ešení problém – bohužel mnohdy tyto metody vedou k vysoké
výpo etní složitosti (prozkoumávání obrovských stavových prostor ).
Programovací jazyky pro AI: prolog, lisp,
P íklad: šachový stroj, expertní systémy
5.3.2012 verze 1.0
2
Výpo etní inteligence
• Je to ást um lé inteligence, která (na
rozdíl od tradi ní um lé inteligence
založené na symbolickém po ítání)
využívá p edevším heuristických algoritm
pro ešení problém
• Výpo etní inteligence zahrnuje
– Neuronové sít (neural networks)
– Fuzzy systémy (fuzzy systems)
– Evolu ní výpo ty (evolutionary computation).
5.3.2012 verze 1.0
3
ešení reálných úloh
Analýza
Matematický
Popis
(lineární rovnice,
diferenciální rovnice,
relace, …)
Úloha
Syntéza
Program pro
po íta
ešení
(aplikace)
Problém: pro adu úloh nelze nalézt matematický popis
P íklady: rozpoznej obli ej, nakresli um lecký obraz,
rozpoznej, co ekl, i bezpe n automobil, …
Pokud p eci jen n jaký matematický popis existuje, nemusí být možné získat
ešení z d vodu vysoké opera ní nebo pam ové složitosti algoritmu.
5.3.2012 verze 1.0
4
Jiné ešení je u it
model, klasifikátor nebo
kontrolér
data
Úloha
Pro r zná data je model,
p ípadn kontrolér
strukturn stejný a provádí
také stejný výpo et. M ní
se pouze jeho parametry.
U ení
Modelu, klasifikátoru,
kontroléru
ešení
(aplikace)
Expert
Model (modeluje daná data), kontrolér realizuje funkci ízení (na základ
vstupních dat generuje ídící signály)
P íklad kontroléru: programové vybavení pro autonomního robota
P íklad modelu: programové vybavení systému, který ur uje závažnost choroby na
základ jejích p íznak (dat z laboratorních m ení nebo vyšet ení)
5.3.2012 verze 1.0
5
P íklad
Napišt program, který bude rozpoznávat ru n psané písmo
(praktická aplikace – t íd ní obálek na pošt )
Okno 4x4
pixely
p edzpracování
32x32 pixel
( ernobílý obr.)
ešení: rozpoznávat písmena po íta
prost nau íme a nebudeme nic
programovat
5.3.2012 verze 1.0
Po et erných
pixel v
odpovídajícím
okn 4x4 v
originálním
obrázku
(bílá 0, erná 16)
{0,0,0,0,5,15,1,0,0,0,0,0,14,16,2,0,0,0,1,12,16,16,
2,0,0,1,13,16,12,16,0,0,0,4,13,2,8,13,0,0,0,0,0,0,9
,13,0,0,0,0,0,0,11,16,0,0,0,0,0,0,4,16,4,0,1}
Zdroj dat: UCI databaze
(http://archive.ics.uci.edu/ml/datasets/Optical+Recognition+of+Handwritten+Digits)
E. Alpaydin, C. Kaynak, Department of Computer Engineering, Bogazici University, 80815
Istanbul Turkey, [email protected], July 1998
6
Zevšeobecn ní (generalizace)
• Zevšeobecn ní je vlastnost správ reagovat na neu ená
(ale u eným dat m podobná) data
– V autoškole se u íme ešit k ižovatky (kreslené); na základ této
u ené znalosti jsme schopni projet reálnou k ižovatku bez
nehody (tedy alespo v tšina z nás)
– V jistém smyslu slova, je možné proložení bod k ivkou chápat
jako jistý druh zevšeobecn ní (získáme hodnoty mezi zadanými
body, které se nebudou p íliš lišit od skute nosti)
Pozn.: na tomto principu ada adaptivních systém pracuje, jen
se jedná o mnohorozm rný prostor, kde se prokládá
hyperrovinami a hyperplochami.
• U ení pozbývá smyslu, pokud u ený systém nemá
vlastnost zevšeobecn ní
– student se nau í fakta, ale látce nerozumí (neumí znalost použít
a nechápe souvislosti)
5.3.2012 verze 1.0
7
Co se obvykle u í ?
Model, klasifikátor, kontrolér, agent
Model reprezentuje ur itou realitu a je schopen o této realit vypovídat a dávat
p edpov di.
(model chování osoby, po así, letadla p i letu, p i nehod , …)
Klasifikátor za azuje data do t íd (skupin) na základ n jakého pozorování.
Vstupním hodnotám p i azuje výstupní kategorii.
(p íznaky-druh nemoci, vlastnosti-zví e (rostlina, …), obrázek-písmeno, zvukpromluva, …)
Kontrolér (regulátor) na základ sensorických vstup generuje ak ní ( ídící)
hodnoty. M že být kompozicí model a klasifikátor .
( ídící ást robota, regulátor ur itého procesu (výrobního, chemického apod., …)
Agent funk ní celek (obvykle program nebo kombinace software/hardware), který
se umí rozhodovat, hledat ešení, interagovat s okolím a kooperovat s ostatními
agenty.
(nyní ve výzkumu, kooperace r zných spot ebi v inteligentní domácnosti, agenti
vyhledávající neobvyklé aktivity v rozsáhlých sí ových nebo ekonomických
prost edích, poskytující ur ité služby, atp.)
5.3.2012 verze 1.0
8
Co znamená u it ?
Model/kontrolér
Vstupy
y = f (x)
wij
wkl
x1
x2
Výstupy
y1
y2
Vstup
x1
x2
Výstup
y1
y2
Vstup
x1
x2
Výstup
y1
y2
0,1
0,8
0,4
0,2
0,8
0,8
0,2
0,1
0,3
???
???
???
0,3
0,2
0,4
5.3.2012 verze 1.0
0,4
0,1
0,8
U ení modelu
0,1
0,8
0,9
Použití (aplikace) modelu
???
???
???
9
Neuronové sít a výpo etní
inteligence
Neuronové sít
Miroslav Skrbek ©2010
LS2011/12
5.3.2012 verze 1.0
1
Biologický neuron
Axon jiného
neuronu
T lo bu ky
(soma)
Ranvier v
zá ez
axon
Myelinová
pochva
Synapse
Dentrity
(výb žky na
t le bu ky)
5.3.2012 verze 1.0
Jádro
(Nucleus)
Axonální
zakon ení
1835 J. E. Purkyn
2
Funkce neuronu
U
Ak ní potenciál zeleného
neuronu
t
+40mV
U
Práh
Silná
excitace
U
Ak ní potenciál erveného
neuronu
-70mV
1ms
t
5.3.2012 verze 1.0
Slabá
excitace
Období, kdy neuron nereaguje
(Refractory period)
3
Synapse
Axon
Dendrit
Uvoln ní
neurotransmiter
pokud neuron “pálí”
Neurotransmitery ovliv ují vlastnosti
membrány t la neuronu a vedou tak k
navýšení (excita ní synapse) nebo snížení
(inhibi ní synapse) vnit ního potenciálu
neuronu.
Synapse vykazují plasticitu, tj. vlastnosti synapse se m ní v ase, mluvíme o
procesu adaptace nebo u ení.
5.3.2012 verze 1.0
4
Model neuronu
McCulloch-Pitts (1943)
Vstupy
Inhibi ní
synapse
Neuron
Výstup
x1
y
x2
x3
Excita ní
synapse
Neuron pracuje na principu všechno nebo nic
(0 – neaktivní (inhibovaný), 1 – aktivní (excitovaný))
Neuron je excitován, pokud více než jeden vstup s excita ní synapsí je aktivní
Jakmile je alespo jedna inhibi ní synapse aktivní, neuron nem že být nikdy excitován.
Struktura zapojení mezi neurony se nem ní
Významné zpožd ní mezi neurony je zpožd ní synapsí
P evzato z: Freeman, J. A.,Skapura D. M.: Neural networks. Algorithms, applications, and programming techniques.
Addison-Wesley Publishing Company. erven 1992. ISBN 0-201-51376-5
5.3.2012 verze 1.0
5
P íklad
Nakreslete neuronovou sí dle McCulloch-Pittse realizující logickou
funkci:
y = ((a ∨ b) ∧ c) ∨ ¬(d ⇔ e)
a
a∨b
(a ∨ b) ∧ c
b
y
y = ((a ∨ b) ∧ c) ∨ ¬(d ⇔ e)
c
( d ∧ ¬e) ∧ (¬d ∧ e) = ¬(d ⇔ e)
d ∧ ¬e
y = ((a ∨ b) ∧ c) ∨ (d ⇔ e)
d
¬d ∧ e
e
5.3.2012 verze 1.0
6
Hebovské u ení
• Je-li bu ka A na pokraji excitace a bu ka B je
opakovan nebo trvale excitovaná, pak se posílí
vazba mezi bu kou A a B (bu ka A se stane
citliv jší na signál bu ky B)
[Donald O. Hebb, Organization of Behavior,
1949]
• Tento princip je jedním ze základních u ících
princip v um lých neuronových sítích
5.3.2012 verze 1.0
7
Spojité um lé neurony
Neuron
Vstupy
x1
Výstup
w1
y
w2
x2
w3
x3
Váhy
Nelineární výstupní
funkce
N
Perceptron
y = S(
(Frank Rosenblatt,
50 léta 20. století)
wi xi + Θ)
Práh
i =1
N
RBF Neuron
( xi − wi ) 2 )
y = G(
i =1
5.3.2012 verze 1.0
8
Výstupní funkce neuronu
Odezva neuronu se dv ma vstupy
Výstupní funkce - Sigmoida
y
Do
kategorie
pat í
1.0
0.8
0.6
Perceptrony
0.4
0.2
5
x2
5
y = S ( x) =
1
1 + e −γ . x
Do
kategorie
nepat í
Pozn.: parametr ur uje
strmost k ivky. Obvykle
konstanta pro všechny
neurony v síti.
x1
y
Výstupní funkce – Gaussova k ivka
1.0
0.8
RBF
neurony
0.6
0.4
x2
0.2
3
2
1
1
2
3
2
−
y = G ( x) = e
5.3.2012 verze 1.0
x
2σ 2
Pozn.: parametr ur uje
strmost k ivky. Obvykle
konstanta pro všechny
neurony v síti.
x1
9
P íklad: spo t te výstup
perceptronu
x1=0,5
w1 =1,7
y
w2 =3,2
x2 =0,8
x3 =1
w3 =-2.5
N
Perceptron
y = S(
wi xi + Θ) =
i =1
5.3.2012 verze 1.0
Θ=1,3
1
1 + e −1,5( 0,5.1,7+0,8.3, 2+1.( −2,5)+1,3)
10
Neuronové sít a výpo etní
inteligence
Neuronové sít
Miroslav Skrbek ©2010
LS2011/12
5.3.2012 verze 1.0
1
Lineární a nelineární separabilita
1 Perceptron
1 Perceptron
Chyby
X2 M
X2
Nelineárn
separabilní
problém
Lineárn
separabilní
problém
M
X1
Data (p íklad)
Kat.
M
M
M
…
x1
x2
0.1
0.1
0.3
0.2
0.1
0.1
X2
X1
4 perceptrony
0.8 0.6
0.7 0.7
0.6. 0.9
…
5.3.2012 verze 1.0
X1
2
Úkol: ur ete, který problém je
lineárn separabilní ?
X2
X2
nelineárn
X1
P íklad neseparovatelných dat: zjišt ní
identity lov ka (jméno a p íjmení) podle
jeho výšky. asto najdeme dva lidi r zného
jména se stejnou výškou.
Pozn.: m íme-li více antropologických dat
(nap . ší ku o í, vzdálenost roviny o í od
nosu, úst a brady, ší ku lebky v rovin o í
apod.) získáme nelineárn separovatelný
problém (viz. biometrická data v cestovním
pasu).
5.3.2012 verze 1.0
lineárn
X2
X1
nelineárn
X1
A co tento ?
Chyták ! Tohle je
neseparovatelný problém
Množiny M a promíchány, nelze je
odd lit jinak, než prvek po prvku nebo po
malých skupinách. astý p ípad, shodná
data reprezentují r zné kategorie.
3
Zevšeobecn ní
Zevšeobecn ní je schopnost neuronové sít reagovat na
neu ená data s minimální chybou.
Výstup
Data z
testovací
množiny
(neu ená)
Data z
trénovací
množiny
Data z
trénovací
množiny
Výstup
vstup
Neuronová sí s dobrou schopností
zevšeobec ovat (=> kvalitní model)
5.3.2012 verze 1.0
Chyba
Vstup
P eu ená neuronová sí , malá chyba
p i u ení, velké chyby p i testování
(=> špatný model)
4
Um lá neuronová sí
• Dle teorie t ívrstvá neuronová sí m že aproximovat
libovolnou funkci, tj. má schopnost modelovat libovolnou
závislost vstup-výstup
• Neuronová sít se u í na základ p íklad (páry vstupvýstup), nepot ebuje p edem analýzu problému (jak je
tomu nap . p i realizaci modelu programem)
• U ení je proces, ve kterém se hledají takové hodnoty
vah neuron sít , pro které bude rozdíl mezi odezvou
neuronové sít a daty minimální
• Jsou-li váhy nalezeny, pak p iložíme vstupní data na
vstupy sít a dostaneme odezvu (modelu), která nap .
napoví jestli hodnota našich akcií poroste (klesne,
p ípadn o kolik), pokud na vstupech byla hodnota akcie
za posledních n kolik dn
5.3.2012 verze 1.0
5
Neuronové sít
Perceptrony
Neuronová sí
wij
x1
x2
Výstupní
vrstva
wkl
y1
x1
y1
x2
Perceptrony
odd lují množiny
dat
y2
RBF neurony
Skrytá
vrstva
y1
x2
5.3.2012 verze 1.0
RBF Neurony
reprezentují
shluky dat
x1
6
Topologie neuronových sítí
• S dop edným ší ením
– Realizuje mapovací funkci y=f(x)
– signál se ší í pouze od vstupu k výstupu
– Jednokrokový výpo et od vstupu k výstupu (každý neuron
po ítán jen jednou)
– realizují funkci, která mapuje vstup na výstup bez ohledu na
po adí hodnot p iložených postupn na vstupy
• Rekurentní
– Má vnit ní stav, mapuje yt+1=f(qt),g(qt+1,xt)=qt
– vhodné pro asové ady
– Krom dop edných spojení mezi neurony existují i zp tné vazby
(signál se ší í sm rem ke vstupu)
– Iterativní (opakovaný) výpo et, n které neurony se po ítají
vícekrát.
5.3.2012 verze 1.0
7
Co ur uje schopnosti neuronové
sít
• Topologie
– Typ
• Dop edná
• Rekurentní
– Hustota propojení
• Úplné propojení
• áste né propojení
– Po et vrstev
– Po et neuron (ve skrytých vrstvách)
• Vlastnosti neuron
– Typ aktiva ní funkce
– Metrika
5.3.2012 verze 1.0
8
Jak velkou neuronovou sí zvolit ?
• Po et neuron ve vstupní a výstupní vrstv je dán
aplikací, volíme pouze po ty skrytých neuron
• Neexistují jednozna ná pravidla
• Platí zásada mén je více
• Za ínáme s jednou skrytou vrstvou, více vrstev p idáme,
pokud jsme nespokojeni s výsledky
• Po et neuron ve skryté vrstv by m l odpovídat
struktu e ( lenitosti) dat (více shluk pot ebuje více
neuron )
snadn jší p eu ení malá generalizace
• Více neuron
horší model
5.3.2012 verze 1.0
9
Po et neuron v skryté vrstv
1 neuron
4 neurony
X2
X2
Perceptrony
2 neurony
X1
X2
X1
X2
7 neuron
RBF neurony
5.3.2012 verze 1.0
X1
X1
10
X
Y
Neuronová sí
-
-
Kódování
Typická úloha - klasifikace
t ída
-
Dekódování 1 z n
X1
x2
x3
x4
0.1 0.2 0.1 -0.2
0.2 -0.8 -0.5 0.4
0.8 -0.1 0.4 0.4
…
0.1 -0.4
0.4
5.3.2012 verze 1.0
0.7
t ída
1
7
3
4
11
Predikce
Predikovaná
hodnota
Neuronová
sí
-
Burzovní index
… 0.3,0.8,0.1,0.1,0.2,0.9,0.8,0.5,0.5,0.4 …
Zp tná
vazba
pro
u ení
Posun o jedno íslo
Historie
Budoucnost
Predikovat lze více budoucích hodnot, nutno po ítat r stem chyby
5.3.2012 verze 1.0
12
Neuronové sít a výpo etní
inteligence
Neuronové sít
Miroslav Skrbek ©2010
15.3.2010 verze 1.0
1
U ení neuronové sít
• U ení je optimaliza ní úloha, která najde pro
danou trénovací množinu dat, takovou
konfiguraci vah, kdy je pr m rná chyba sít p es
celou trénovací množinu menší než požadované
kriterium
• asto používané jsou gradientní metody nebo
p írodou inspirované algoritmy (nap . genetický
algoritmus)
• Požadavek na p íliš nízkou chybu vede k
p eu ení, tj. nízké chyby pro data v trénovací
množin , pro jiná data vysoké chyby.
15.3.2010 verze 1.0
2
Pojmy v u ení
•
Vzor
–
–
Vzor je element datového souboru ur eného pro zpracování neuronovou sítí
Typicky je to pár vstupní vektor a výstupní vektor. Vstupní vektor dat se p ikládá na vstupy neuronové sít , výstupní vektor reprezentuje
požadovanou hodnotu výstup . N které neuronové sít nap . SOM výstupní vektor nepot ebují, pak vzor obsahuje pouze vstupní vektor.
•
Trénovací množina
•
Testovací množina
•
Valida ní množina
•
Vybavení
•
Iterace
•
Epocha
•
U ení
–
–
–
–
–
–
–
–
Množina vzor ur ená pro u ení neuronové sít
Množina vzor ur ená pro testování neuronové sít
Množina vzor ur ená pro testování neuronové sít b hem u ení (používá se pro zabrán ní p eu ení)
P edložení jednoho vzoru neuronové sítí a výpo et výstupu neuronové sít
P edložení jednoho vzoru neuronové sít , provedení vybavení a následn jednoho kroku u ení
Provedení iterace pro všechny vzory z trénovací množiny
Proces výpo tu váhových (p ípadn jiných) koeficient na základ trénovací množiny
U ení se skládá z jedné i více epoch
•
P eu ení
•
Lokální minimum
•
Zevšeobecn ní (generalizace)
•
Hebbovo pravidlo
•
Delta pravidlo
–
–
–
–
–
Nadm rná doba u ení (p íliš mnoho provedených epoch u ení), která zp sobí r st chyby pro netrénovaná data (zhoršení zevšeobecn ní)
Parazitní minimum na energetické (chybové) hyperploše, jehož hodnota je vyšší než chyba o ekávaného globálního minima.
Schopnost reakce správné reakce na neu ená data
Pravidlo pro úpravu vah. Posilování vah mezi neurony, které vykazují podobné reakce na stejné podn ty
Pravidlo pro úpravu vah v u ícím algoritmu Back Propagation
15.3.2010 verze 1.0
3
P íklad u ení v programu
Mathematica
15.3.2010 verze 1.0
4
Matematika: parciální derivace
M jme funkci f(x1, x2, x3, …xn) více prom nných. Tato funkce má v bod
B=(b1,b2, b3,…,bn) parciální derivaci podle xi, pokud existuje limita
∂f ( x1 , x2 ,
∂xi
, xn )
= lim
h →0
f ( x1 + h, x2 ,
, xn ) − f ( x1 , x2 ,
h
, xn )
Pro výpo et parciální derivace využíváme stejná pravidla, jako v p ípad funkce jedné
prom nné, p i emž všechny prom nné vyjma té, podle které derivujeme, považujeme
za konstanty (tj. jejich derivace jsou rovny nule).
P íklad:
f ( x, y, z ) = 5 x 2 − 8 log( y ) + sin(ωz )
∂f ( x, y, z )
∂f ( x, y, z )
1 ∂f ( x, y, z )
= 10 x,
= −8 ,
= ω cos(ωz )
∂x
∂y
y
∂z
15.3.2010 verze 1.0
5
Matematika: gradient
Gradient je diferenciální operátor. Je-li aplikován na funkci f více
prom nných, pak je jeho výsledkem vektor parciálních derivací
podle všech prom nných funkce f.
nabla
∇f ( x1 , x2 ,
∂f ∂f
, xn ) =
,
,
∂x1 ∂x2
∂f
,
∂xn
Gradient má jasnou geometrickou interpretaci. Je to sm r
nejv tšího spádu v daném bod na ploše funkce f.
∇ G ( x , y ) = ∇ (e
15.3.2010 verze 1.0
−( x2 + y 2 )
2σ 2
)= −
x
σ2
e
−( x2 + y2 )
2σ 2
,−
y
σ2
e
−( x2 + y 2 )
2σ 2
6
Matematika: optimalizace
Optimalizace je proces, ve kterém hledáme množinu parametr x1,x2, …,
xn tak, abychom minimalizovali tzv. cenovou (cílovou, ú elovou) funkci.
Lineární regrese: m jme N bod grafu. Cílem je, co nejoptimáln ji tyto
body proložit p ímkou. Cenová funkce je sou et kvadrát chyby mezi
prokládající p ímkou a hodnotami zadaných bod .
Snadno ešitelné metodou nejmenších tverc
Problém batohu: m jme N r zn t žkých p edm t , p i emž každý
p edm t má svoji cenu (v K ) a objem. Nalezn te takový výb r
p edm t , který se ješt vejde do batohu o daném objemu a zárove
má ze všech p ípustných výb r nejv tší cenu. Cenovou funkcí je zde
cena p edm t v batohu vetovaná p ípustným objemem batohu.
T žko ešitelné - NP problém
15.3.2010 verze 1.0
7
Neuronové sít a výpo etní
inteligence
Neuronové sít
Miroslav Skrbek ©2010
12.4.2010 verze 1.0
1
U ení s u itelem
U ení s u itelem je založeno na minimalizaci chyby mezi momentální a
požadovanou odezvou neuronové sít .
Roli u itele zde hraje požadovaná odezva sít , kterou se snažíme
neuronovou sí nau it.
V pr b hu u ení zm nami vah minimalizujeme chybu
1
E=
2
M
N
( y ( j )i −d i( j ) ) 2
j =1 i =1
Kde N je po et výstup neuronové sít a M je po et vzor v trénovací
množin . Pozor ! yi(j) je i-tý výstup j-tého vzoru z trénovací množiny.
Pozn.: pro zobrazovací ú ely a ú ely stop kriteria se výše uvedený vzorec transformuje na st ední
kvadratickou chybu (RMS). RMS= (2E/M/N), která nabývá hodnoty mezi 0 a 2 a je nezávislá na velikosti
neuronové sít (na po tu výstup ) a po tu vzor v trénovací množin .
12.4.2010 verze 1.0
2
Odvození algoritmu
Back Propagation
xj
wij
i-tý neuron
i
Wi(j+1)
Aktiva ní
funkce
yi
di
-
x(j+1)
∂E ∂E ∂yi ∂ϕi
=
.
.
∂wij ∂yi ∂ϕi ∂wij
∂E
= −( d i − yi ). yi (1 − yi ).x j
∂wij
δi
12.4.2010 verze 1.0
x2
od jiných
neuron
i
i
E
Pozn.: y(1-y) je derivace aktiva ní funkce, konkrétn sigmoidy a gamma=1. Pro
tanh bude tato derivace jiná: (1+y)(1-y). Derivace se odvodí z derivace inverzní
funkce (proto je funkcí y a ne x). Ta je totiž jednodušší a lépe se po ítá.
3
Gradientní metoda u ení
algoritmem Back Propagation
Inicializace vah
náhodn ±0.5
E (chyba sít )
Postup v míst nejvyššího
spádu
∆w = −η∇E
Chyba p ipadající na
i-tý neuron
Moment
<0,1)
Alfa
Aktualizace vah (delta pravidlo)
∆wij (t + 1) = η * δ i (t ) x j + α∆wij (t )
Zm na váhy
mezi i-tým a
j-tým
neuronem
12.4.2010 verze 1.0
Rychlost
u ení <0,1>
Eta
j-tý vstup neuronu
4
Zp tná propagace chyb do
vnit ních (skrytých) vrstev
i-tý neuron
wij
xj
δi
Aktiva ní yi
funkce
Wi(j+1)
x(j+1)
k-tý neuron
∂yi
δi =
∂ϕi
∂ϕ k
δk
k =1 ∂yi
N
N
δ i = yi (1 − yi )
wkiδ k
obecn
wki
w(k+1)i
wki
δk
w(k+1)i
Aktiva ní
funkce
(k+1)-ní neuron
δ(k+1)
k =1
12.4.2010 verze 1.0
Konkrétn pro Sigmoidu a
=1 (gamma), N je po et
neuron v následující vrstv ,
tj. vrstv blíže výstup m
yk
Aktiva ní
funkce
yk+1
Pozn.: Delta pravidlo je pro vnit ní vrstvy stejné
5
Algoritmus u ení
1. Náhodn
inicializujeme váhy v neuronové síti
2. Vezmeme pár vstup-výstup z trénovací množiny dat a
ást vstup p iložíme na vstup sít
3. Vypo teme výstupy sít
4. Porovnáme výstup sít s ástí výstup z páru vstupvýstup (vypo teme odchylku)
5. Na základ odchylky upravíme o kousek váhy sít
(získáme o n co lepší ešení)
6. Pokud jsme ješt nevy erpali celou trénovací
množinu pokra ujeme bodem 2
7. Pokud je pr m rná chyba p es celou trénovací
množinu vyšší než požadované kriterium, pokra ujeme
bodem 2
8. Sí
je nau ena, konec
12.4.2010 verze 1.0
6
Parametry u ení (u gradientních
metod)
Rychlost u ení (Eta)
Je koeficient, který ur uje o kolik (relativn k velikosti chyby) se má
upravit váha neuronu (bod 5.). ím je koeficient v tší, tím rychleji se sí
u í (rychleji dosáhne bod 8.). Pozor ! vysoká hodnota, ale m že zp sobit,
že se nenajde optimální ešení a bodu 8 se nikdy nedosáhne. P i vysoké
rychlosti m že docházet k oscilacím. Trp livost se tedy vyplácí a s nižším
koeficientem m žete nalézt ešení spíše než s vysokou hodnotou.
Setrva nost (Alfa)
Je koeficient, který udává, jakou m rou se má do zm ny váhy zapo ítat
její p edchozí zm na. Zm na váhy má dv složky: chybu odezvy sít ,
která se zapo ítává koeficientem rychlosti u ení a p edchozí zm na
váhy. Pokud je zm na váhy malá, dominuje složka chyby sít , v
opa ném p ípad , když do asn chyba sít klesne, je váha stále
upravována ve velikosti p edchozí zm ny (podobn jako auto ve vysoké
rychlosti p ejíždí hrbol). Setrva nost m že pomoci se vymanit z lokálního
minima a nalézt lepší konfiguraci vah s menší chybou.
12.4.2010 verze 1.0
7
Pr b h chyby b hem u ení
E
Sí se nenau ila a
u ení skon ilo v
lokálním minimu.
Sí se nau ila, ale objevily se
b hem u ení oscilace. Typicky
vysoká rychlost u ení (velká
hodnota parametru éta)
Správný pr b h
chyby, sít se nau ila
12.4.2010 verze 1.0
Epocha
8
Uváznutí v lokálním minimu
E
Nežádoucí
lokální
minimum
Kuli ka p edstavuje aktuální hodnoty všech vah
a posouvá se dle gradientu E, tj. dle gradientu se
p i te ke každé váze delta w dle hodnoty
gradientu násobeného parametrem eta (to je
základní princip algoritmu).
Dosp je-li kuli ka do lokálního minima, krok
kterýmkoliv sm rem znamená zvýšení chyby a
za „kopcem“ algoritmus globální minimum nevidí
(z tohoto pohledu je slepý). Algoritmus proto
skon í kon í s chybou lokálního minima.
asté ešení
w
Globální minimum
chybové funkce. Sem
chceme, aby
algoritmus dosp l
12.4.2010 verze 1.0
Zavedeme setrva nost (parametr alpha, viz.
Delta pravidlo), kuli ka získá setrva nost, která jí
udržuje v pohybu nezávisle na gradientu. Zelená
kuli ka se setrva ností se bude chovat jako
reálná kuli ka s ur itou hmotností, která se kutálí
z kopce. Díky setrva nosti vysko í z d lku a
pokra uje do globálního minima. Setrva nost
musí být ale dostate ná, jinak nep ekoná „kopec“
a bude oscilovat v lokálním minimimu do
zastavení.
9
ešení uváznutí v lokálním minimu
•
Správné nastavení parametr eta a alpha
– zvýšení alpha a snížení eta (není to univerzální lék, závisí na úloze, naopak
m že vést k nežádoucím oscilacím, mnohdy pom že specifický (experimentáln
zjišt ný) pom r eta a alpha)
•
Výb r vzor z trénovací množiny v náhodném po adí
– Obvykle se používá sekven ní (postupný) výb r vzor , kdy se po adí vzor
nem ní v pr b hu epochy. Toto n kdy vede „mylným závislostem“, které si
neuronová sít b hem u ení vyvodí a to m že n kdy vést do lokálního minima
(odpovíte stejn rychle na otázku kolik je 6x9 nebo 9x6).
– Výb r vzor se uplatní pouze pokud se váhy aktualizují v každé iteraci, pokud se
aktualizují na konci epochy (Batch verze algoritmu), pak na po adí nezáleží.
•
Strukturou trénovací množiny
– Stejné zastoupení vzor ve všech t ídách
– Vynechání obdobných vzor v rámci kategorie (z ed ní dat)
•
Použitím verze gradientní metody s prom nným krokem
– Díky konstantnímu parametru eta m žeme považovat krok algoritmu za
konstantní (stejn dlouhý), existují druhy algoritm s prom nným krokem.
12.4.2010 verze 1.0
10
P íprava trénovací množiny
• Dostupná data rozd líme na
– Trénovací množinu
– Testovací množinu
• Stejné procentní zastoupení vzor ze všech t íd
– Selektivní výb r vzor
• Nevýhodou je, že neuronová sí se u í jen na zlomku dostupné
informace, než je k dispozici
– Duplikace
• Normalizace vstupních dat
– Zm na m ítka (pozor na dynamicky po ítané m ítko, trénovací
a testovací množina m že mít odlišné hodnoty)
– Transformace p es nelineární funkci (nap . log(x), potla ení
velkých hodnot, zd razn ní malých hodnot)
12.4.2010 verze 1.0
11
Alternativy algoritmu Back Propagation
• Dávkové (Batch) verze
– Základní
• B hem epochy se akumulují w pro každou váhu, k aktualizaci vah
dojde až na konci epochy.
– QuickProp
• Fahlman, 1988
– Quasi-Newton
• Bishop, 1995, Shepherd, 1997
– Conjugate gradient descent,
• Bishop, 1995, Shepherd, 1997
– Levenberg-Marquardt,
• Levenberg, 1944, Marquardt, 1963,
– Delta-bar-Delta
• Jacobs, 1988, Patterson, 1996
12.4.2010 verze 1.0
12
Neuronové sít a výpo etní
inteligence
Neuronové sít
Miroslav Skrbek ©2010
12.4.2010 verze 1.0
1
Asociativní pam ti
• P i azují vstupnímu vektoru výstupní,
typicky binární vektor
• Mají dv varianty
– Heteroasociativní
• Klí p ichází na zvláštní vstupy
– Autoasociativní
• Klí je sou ástí hodnoty a není p esn vymezen
12.4.2010 verze 1.0
2
P íklad heteroasociativní pam ti
Klí (vektor binárních hodnot)
x1-x6
1Vybavení: p iložíme klí a
spo teme vástupní hodnotu
dle vztahu:
N
ϕi =
wij xi
j =0
yi =
1 if ϕi > Θi
jinak
0
12.4.2010 verze 1.0
8
prahování
y1-y8
Hodnota
(vektor binárních hodnot)
U ení: pokud váha je binární hodnota (0/1), pak je
váha rovna jedné pokud pro tuto váhu vzor i
hodnota nabývá hodnoty jedné.
Pro spojité váhy, lze nahradit jednovrstvou
neuronovou sítí a pro nalezení vah použít nap .
gradientní optimaliza ní algoritmus.
3
Hopfieldova sít
•
•
•
•
Je p íkladem autoasociativní pam ti
Klí a hodnota nelze odlišit
Význam má pro rekonstrukci (opravu) dat
Problémem je nízká pam ová kapacita
12.4.2010 verze 1.0
4
Hopfieldova sí
x1
w15
x5
5
Vybavení (jedna iterace):
Výstupy neuron nastavíme
podle vzoru na binární
hodnotu (-1 nebo 1). Nové
hodnoty výstup vypo teme
dle vztahu:
1
w12
w13
w14
4
w43
U ení je jednorázové pro
danou množinu vzor .
2
M
wij =
w53
w54
x2
w23
3
x3
x4
N
xki xkj
k = 0 ∀i , j:i ≠ j
Kde xki (xkj) je i-tá (j-tá)
dimenze k-tého vzoru.
Prom nná k iteruje p es
všechny vzory trénovací
množiny.
N
wij yi(t −1)
ϕi =
j =0
1
yi = y
( t −1)
i
−1
ϕi > 0
ϕi = 0
if ϕi < 0
if
if
12.4.2010 verze 1.0
Iterace provádíme opakovan až do ustálení
výstup .
Pozn: yi(t-1) znamená p edchozí hodnotu yi (tj. pro
i=0 se výstup nem ní)
5
Neuronové sít a výpo etní
inteligence
Neuronové sít
Miroslav Skrbek ©2010
26.4.2010 verze 1.0
1
Shluková analýza
• D ležitá metoda analýzy dat
• eší problém nalezení podobností v
neznámých datech
• Podobná data typicky leží v prostoru
blízko sebe (tvo í shluky)
• Zajímají nás parametry shluku jako je
st ed (težišt ) a velikost (rozptyl). Vzory v
okolí st edu m žeme pomažovat za
reprezentanty shluku (typické hodnoty)
26.4.2010 verze 1.0
2
P íklad
Máme data z vyšet ení od skupiny pacient a máme zjistit, zda existují
takové podskupiny skupiny pacient , kte í mají podobné výsledky
vyšet ení. V dalším kroku pak zkoumáme, zda tyto skupiny náležejí k
zdravým, i nemocným, p ípadn s jakou závažností nemoci, p ípadn
které nemoci.
Data pacient s obdobnými p íznaky nemoci budou podobná a budou tvo it shluky. Pacienti,
ležící ve st edu shluku reprezentují typického pacienta s danou formou nebo závažností nemoci.
O ekáváme, že najdeme vztah mezi výsledky vyšet ení a úsudkem léka e (když to léka pozná
musí takový vztah existovat).
Pokud nenajdeme vztah shluk ke zdraví pacient , pak patrn bude chybná diagnostická
metoda, která dostate n nevypovídá o diagnostikované nemoci. P edpokládáme, že známe
spolehliv stav pacient z úsudku léka e, který používá jinou diagnostickou metodu.
Jiným p íkladem pak bude zkoumání dat o zákaznících mobilních operátor , kde nám m že
nap . tato metoda pomoci nalézt novou cílovou skupinu zákazník . Podobn se m žeme zam it
na uživatele Internetu, e-maily (spam), hledání typického chování hacker , apod.
26.4.2010 verze 1.0
3
P íklad shluk v datech
Shluk
St ed (typický
reprezentant)
26.4.2010 verze 1.0
4
K-means algoritmus
1. Odhadneme po et shluk
2. Náhodn vygenerujeme st edy shluk . Po et st ed je
roven po tu shluk , st ed je reprezentován vektorem s
stejnou dimenzí, jako je dimenze vektor , které tvo í
shlukovaná data.
3. Ur íme, k jakému shluku pat í jaký vektor z dat. Daný
vektor pat í do toho shluku, k jehož st edu je
nejblíže (minimální Euclideovská vzdálenost od daného
st edu)
4. Z dat, která náleží shluku vypo teme nový st ed
(postupn po složkách pr m r p es všechny vektory
shluku) a nahradíme jím p vodní st ed shluku. Toto
provedeme pro všechny shluky
5. Body 3 a 4 opakujeme do ustálení (tj. do doby, kdy se
st edy posunou o mén než je zadaná hodnota)
6. Ukon íme algoritmus
26.4.2010 verze 1.0
5
RadialRBFBasis
Functions
(RBF)
neurony
Výstupní neurony s
lineární výstupní
funkcí
y1
N
( xi − wij ) 2
−
yi (rbf) = e
y1(rbf)
j =1
2σ 2
x1
N
( xi − w ji ) 2
y2
x2
−
y j (rbf) = e
i =1
2σ 2
N
yi =
wij y j (rbf)
j =1
N
( xi − w ji ) 2
−
y j (rbf) = e
i =1
2σ 2
Váhy mezi skrytou a výstupní
vrstvou se po ítají gradientním
algoritmem nebo metodou
nejmenších tverc pro lineární
jednotky.
St edy se po ítají K-means
algoritmem (tj. st edy se umís ují do
st ed shluk ). Parametr se ur í
jako rozptyl shluku.
26.4.2010 verze 1.0
6
Neuronové sít a výpo etní
inteligence
Neuronové sít
Miroslav Skrbek ©2010
17.5.2010 verze 1.0
1
Samoorganizující se mapy (SOM)
• SOM se mnohdy nazývá dle autora
Kohonenova sí
• Reprezentuje neuronovou sít u enou bez
u itele
• Provádí shlukovou analýzu
• Oproti K-means algoritmu není t eba
p edem znát po et shluk
17.5.2010 verze 1.0
2
SOM
N
yi =
( x j − wij )
Fiktivní vazba mezi
neurony zp sobená
funkcí h(i,b)
2
j =1
∆wij = α (t )( x j − wij )h(i, b)
wij
xj
Vybavování:
Na vstupy p edložíme vzor a
vypo teme odezvy. Vít z
(neuron s nejmenší odezvou)
je reprezentantem shluku, kam
vzor pat í.
17.5.2010 verze 1.0
Vít z (reprezentant shluku)
Best matching unit (BMU)
Neuron s nejmenší odezvou
pro daný vstup
(t) ur uje rychlost u ení (je prom nná v
ase – klesá do nuly). h(i,b) je funkce, která
je maximální pokud i je index vít zného
neuronu (i = b), pokud je to jiný neuron, pak
funkce h klesá se vzdáleností od vít ze.
Extrém je 1 pro i=b, 0 jinak.
U ení: na vstupy p edložíme vzor a ur íme
vít ze. Váhy vít ze posuneme o kousek blíže k
u enému vektoru. Krom vít ze upravíme
sousední neurony (typicky ím dále, tím
mén ). Postup opakujeme do ustálení ( (t) =
0).
3
Algoritmus SOM
1. Inicializujeme váhy neuron náhodnými hodnotami a
nastavíme po áte ní hodnotu koeficientu (t).
2. Vybereme vektor z u ící množiny a p iložíme na
vstupy sít
3. Vypo teme výstupy neuron
minulý slide)
(vzorec pro yi, viz.
4. Zjistíme neuron s nejmenší odezvou (to je
reprezentant pro vstupní vektor)
5. Pro každý neuron upravíme váhu o
slide)
wij (viz. minulý
6. Pokud jsme nevy erpali u ící množinu, pokra ujeme
bodem 2
7. Snížíme koeficient (t). Pokud je (t) > 0,
pokra ujeme bodem 2, op t od po átku u ící
množiny.
17.5.2010 verze 1.0
4
Funkce h(i,b)
Funkce h(i,b) jak se budou m nit váhy neuron blízkých vít znému neuronu.
Jinými slovy, jak se budou prototypy reprezentované neurony posouvat
sm rem k u enému vzoru. Nejvíce bude p itahován vít zný neuron, nemén
neuron, který je od n ho nejvíce vzdálen.
Neurony (pozice a vzdálenost)
h(p); p=i-b
Typ
mexický
klobouk
1 2
Zde dochází k
odpuzování
p
-1
-1
p=-2
1
1
p=2
Pokud je funkce h(i,b) záporná, pak jsou nejbližší neurony
naopak odpuzovány, aby se vytvo ily bariery mezi shluky.
P i u ení se za íná s plochou h(i,b), která se postupn s
asem m ní na strm jší (zužuje se).
17.5.2010 verze 1.0
5
Uspo ádání neuron v SOM
Lineární m ížka
tvercová m ížka
Hexagonální m ížka
Toroid m ížka
V hexagonální a lineární m ížce je
vzdálenost mezi sousedními neurony 1 ve
všech sm rech.
Ve tvercové a toroidní je vzdálenost
rovnob žne s osami 1 a uhlop í n dva
(Manhattanská vzdálenost) nebo
odmocnina ze dvou (Eukleidovská).
17.5.2010 verze 1.0
6
U-matice
Shluk
3
Shluk
1
Shluk
2
Slouží k vizualizaci odezvy neuronové sít SOM. Barva neuron v plástu
hexagonální m ížky indikuje pr m rnou vzdálenost vah daného neuronu od jeho
soused .
Sousední neurony s bílou barvou reprezentují shluk (mají podobné váhy, tedy
reprezentují stejná vstupní data), tmavé brázdy vzdálených neuron odd lují
shluky. Z U-matice je proto možno vy íst po et shluk v datech a neurony,
které je reprezentují.
Obrázek p evzat z: http://www.cis.hut.fi/jhollmen/dippa/node24.html
17.5.2010 verze 1.0
7
Neuronové sít zohled ující as
• Jsou to
– rekurentní neuronové sít
• Nau í se chování kone ného automatu
– Time-delay-neural-networks (TDNN)
• Výstup generuje na základ historie dat
• Vhodné pro zpracování asových ad
–
asová ada je posloupnost hodnot xt, kde má
význam t asu. Stanovíme-li n jké t=t0 jako
sou asnost, pak xt=t je sou asná hodnota, xt<t jsou
0
0
minulé hodnoty (historie) a xt>t jsou hodnoty budoucí
0
• Umí se u it sekvence
17.5.2010 verze 1.0
8
Rekurentní neuronové sít
Rekurentní
skrytá vrstva
Elmanova sí
yh1
x1
y1
y2
Vybavení neuronové sít probíhá tak,
že nastavíme hodnoty výstupu
rekurentních neuron na nulu a pak na
vstup p ikládáme postupn vektory a
provedíme výpo et y. Pro hodnoty ve
zp tných vazbách použijeme hodnoty
z p edešlého kroku. Odezva sít tedy
nezávisí jen na vstupech, ale taky na
p edchozím stavu sít , tj. p edchozích
hodnotách ve skryté vrstv .
x2
U ení
yh4
Jordanova sí je modifikovaná
Elmanova sí , která nemá výstupní
vrstvu neuron a výstupy se berou
rovnou z rekurentní vrstvy.
roztrhneme zp tné vazby a u íme algoritmem
back-propagation
yh(t-1)
yh(t)
y(t)
x(t)
17.5.2010 verze 1.0
9
Sí TDNN
y
Dop edná neuronová sí
X
T
T
T
T
Sou asná hodnota a historie
posledních p ti hodnot
17.5.2010 verze 1.0
T
Zpožd ní o
jeden krok
10
Neuronové sít a výpo etní
inteligence
Neuronové sít
Miroslav Skrbek ©2010
17.5.2010 verze 1.0
1
Fuzzy Logika
Fuzzy logika byla odvozena teorie fuzzy množin (Lotfi A. Zadeh, 1965)
Fuzzy množina je rozší ením klasických množin o spojitou hodnotu
p íslušnosti, p i emž prvek množiny m že mít nenulovou p íslušnost
k více fuzzy množinám.
Fuzzy znamená v angli tin neostrý, neur itý, rozmazaný
Klasická množina: prvek
(x) do množiny pat í,
prvek do množiny nepat í
17.5.2010 verze 1.0
Fuzzy množina: prvek do
množiny pat í s mírou
p íslušnosti m (nap . m=0.6).
2
Funkce p íslušnosti
Funkce p íslušnosti je zobrazením množiny prvk do množiny
m r p íslušností k množin . Ozna uje ji (x).
(x)
Pro spojité veli iny
Pro diskrétní veli iny
1
x
x ∈< 0,1 >
0
17.5.2010 verze 1.0
1
x
(x)
A
0,1
B
0,3
C
0,8
D
0,3
3
P íklad funkce p íslušnosti
P edpokládejme veli inu: teplota (myšleno venkovní teplota vzduchu)
Pro tuto veli inu budeme definovat fuzzy množiny:
velká zima, zima, teplo, horko.
(t)
Funkce p íslušnosti
pro jednotlivé
množiny odlišeny v
grafu barevn
-50
17.5.2010 verze 1.0
0
20
50
t (°C)
4
Úloha
M jme t i fuzzy množiny A, B, C a k nim funkce p íslušnosti zadané
analyticky:
−
µ A ( x) = e
x2
0 , 05
−
, µ B ( x) = e
( x −0 , 4 ) 2
0 , 06
−
, µC ( x) = e
( x −1) 2
0 , 08
(x)
1.0
Dopl te prázdná pole
x
0.8
0.6
0.4
0
1
0,3
0,165
0,45
0,017
0,65
B(x)
C(x)
3,7.10-6
0,85
0,35
0,21
0,8
0.2
0.0
0.0
A(x)
0.2
0.4
0.6
0.8
1.0
x
17.5.2010 verze 1.0
5
Fuzzy pravidla
Levá strana pravidla
Pravá strana pravidla
If teplota == horko then topit == vubec and chladit == hodne
If teplota == horko and vitr == silny then topit == vubec
If teplota == teplo then topit == malo
If teplota == zima then topit == stredne
If teplota == zima and vitr == silny then topit == hodne
prom nná
Pravidla tvo í lingvistický model, význam
jednotlivých termín (zima, teplo, malo, …)
vyjad ují funkce p íslušnosti.
17.5.2010 verze 1.0
Fuzzy
množina
6
Pojmy fuzzyfikace, inference a
defuzzyfikace
Fuzzyfikace – p evod hodnot prom nných na míry p íslušnosti
Fuzzy inference – vyhodnocení fuzzy pravidel a získání výstupních fuzzy
množin
Defuzzyfikace – p evod výstupních fuzzy množin na výstupní prom nné
Vstupní prom nné
(teplota, rychlost v tru, …)
Pravidla
Výstupní prom nné
(topení,chlazení)
y1
x1
x2
Fuzzyfikace
Inference
Defuzzyfikace
xn
17.5.2010 verze 1.0
yn
Míry p íslušnosti k
jednotlivým fuzzy
množinám
Výstupní fuzzy
množiny
7
P íklad fuzzyfikace
Vstup 1: Teplota
(konkrétní, nap . 25°C)
Vstup 2: vítr
(konkrétní, nap . 35 m/s)
zima
zima(25)=0
slabý
slabý(35)=0,5
0°C
100 km/hod
teplo(25)=0,5
teplo
silný
0°C
100 km/hod
horko(25)=0,6
horko
silný(35)=0,8
vichr
vichr(35)=0
0°C
100 km/hod
17.5.2010 verze 1.0
8
Inference
If (teplota == teplo) and (vitr == silny) then topit == slab
teplo(25)=0,5
silný(35)=0,8
= min(
teplo(25),
silný(35))
= min(0,5, 0,8)=0,5
Pokud je použita logická spojka or, pak se použije funkce maximum.
Pokud se tatáž výstupní prom nná vyskytuje ve více pravidlech, pak se
fuzzy množiny p ipadající na jednotlivé výskyty této prom nné vyhodnocují
tak, jako by byly spojeny logickou spojkou or (po ítá se maximum).
17.5.2010 verze 1.0
9
Vyhodnocení pravých stran
pravidel
Výsledná míra
p íslušnosti
Pro výstupní
prom nnou
topení
malo
= 0.2
= 0.2
… then topeni == malo
= 0.8
… then topeni ==st edn
1
100%
stredn
= 0.1
… then topeni ==hodn
= 0.8
výsle
dek
100%
hodn
= 0.1
Pozn.: toto je nutno provést pro
všechny výstupní prom nné
17.5.2010 verze 1.0
100%
10
Defuzzyfikace
Defuzzyfikace se provádí nej ast ji výpo tem t žišt dané fuzzy
množiny
Obecný vzorec
xmax
x.µ ( x)dx
xt =
xmin
xmax
µ ( x)dx
xmin
xt1
xt2
xt3
xt4
xt5
xt6 xt7
x
Složitý tvar rozložíme na jednodušší geometrické útvary a
spo teme díl í t žišt . Pak použijeme vztah
N
xtk .mk
xt =
17.5.2010 verze 1.0
k =1
N
mk
k =1
Kde mk je plocha geometrického útvaru,
který odpovídá t žišti xtk
11
P íklad: spo t te hodnotu pro zadanou
fuzzy množinu výstupní veli iny
0,8
0,4
0,2
0
17.5.2010 verze 1.0
40
60
80
100
x
12
P íklad: spo t te hodnotu pro zadanou
fuzzy množinu výstupní veli iny
0,9
0,6
0,2
0,1
0
17.5.2010 verze 1.0
40
60
80
100
x
13
Genetický algoritmus
• Algoritmus inspirovaný evolu ními teoriemi
živo ich
• Robustní heuristický optimaliza ní
algoritmus
• Náro ný na výkon a systémové zdroje
po íta e
17.5.2010 verze 1.0
14
Neuronové sít a výpo etní
inteligence
Neuronové sít
Miroslav Skrbek ©2010
17.5.2010 verze 1.0
1
Základní pojmy
1010001001010010100010
Genom (kódovaný p edpis jak
sestavit jedince)
Operace: mutace, k ížení
Jedinec
Jedinec
Jedinec
Jedinec
Jedinec
17.5.2010 verze 1.0
Populace
jedinc
Operace:
vyhodnocení
cenové funkce
(zdatnost,
fitness), výb r
nejlepších
jedinc
2
Selekce
• Výb r jedinc do další populace
• asto používaná metoda je ruletová selekce
(roulette wheel selection). Jedinci se vybírají do
nové populace náhodn s pravd podobností
danou jejich zdatností (vyšší zdatnost => vyšší
pravd podobnost)
• Jinou metodou je p evzít do nové populace
ur ité procento jedinc s nejv tší zdatností
17.5.2010 verze 1.0
3
Mutace
Mutace je náhodná zm na genomu. Jedná se o unární operaci nad
genomem.
Pro binárn zakódovaný genom je mutace realizována jako zm na
náhodn vybraného bitu (p ípadn bit ) v genomu.
P vodní genom: 01000100101001
Generátor náhodných ísel generuje 5, zm níme tedy pátý bit (bity
po ítáme z leva, nejlev jší je bit 1):
Nový genom: 01001100101001
Mutace m že také nap . prodloužit genom p idáním bitu.
17.5.2010 verze 1.0
4
K ížení
K ížení je rekombinace genetické informace dvou jedinc . Jedná se
o binární operaci.
Genom 1: 0010100011100001
Genom 2: 1110001000101101
Náhodn zvolíme bod k ížení
Genom
: 1110001000100001
Jsou možná i více bodová k ížení (více bod , kde rozd líme
genom)
17.5.2010 verze 1.0
5
Základní algoritmus
1. Náhodn vygenerujeme po áte ní populaci jedinc
2. Vyhodnotíme zdatnost u všech jedinc v populaci
3.
ást jedinc s nejhorší zdatností odstraníme
4. Populaci doplníme o další jedince (k ížení, mutace, reprodukce)
5. Pokra ujeme bodem 2, pokud není spln na podmínka ukon ení
6. Vezmi jedince s nejlepší zdatností jako výsledné ešení
17.5.2010 verze 1.0
6
Problém batohu
Máme následující p edm ty
P íklad genomu:
P edm t
Hmotnost
[kg]
Cena
[K ]
A
2
10
B
1
50
V batohu je B a D
C
5
5
D
4
100
Zdatnost je: cenaB+cenaD
= 50 + 100 = 150
Jaké p edm ty mohu odnést,
unesu-li max. 6 kg
ABCD
Genom:0101
P íklad populace:
Genom 1:0101
Genom 2:1101
Genom 3:1001
zdatnost: 150
zdatnost: 0
zdatnost: 110
Pozn: Genom 2: má zdatnost nula, protože p ekra uje limit 6kg.
17.5.2010 verze 1.0
7
Pojem fenotyp a genotyp
Genotyp je soubor všech genetických informací (pro ú ely GA lze chápat
genotyp = genom jako u jednobun ných živo ich )
Fenotyp je soubor znak chování jedince. Tyto znaky jsou projevem
ur ité podmnožiny gen (vloh) z genomu.
Pokud nap íklad šlechtíme neuronovou sí pro ízení robota, je genotypem informace
popisující, jak neuronovou sít vytvo it (genom typicky popisuje topologii sít ) a
n které parametry.
Fenotypem pak jsou schopnosti neuronové sít (vytvo ené na základ konkrétního
genomu) a ídit robota tak, aby projel p ekážkovou dráhu. Zdatností je v tomto
p ípad úsp šnost projetí dráhy.
17.5.2010 verze 1.0
8
Výhody a nevýhody GA
• Výhody
– Prov uje n kolik ešení
najednou (jedno ešení =
jeden jedinec v populaci)
– Na po átku je celá populace
rozprost ena po prostoru
ešení, tak je velká
pravd podobnost, že n který
padne do blízkosti globálního
minima
– Výb r jedinc do populace se
d je na základ výpo tu
hodnotící funkce bez žádných
specifických požadavk , proto
je vhodný pro širokou škálu
optimaliza ních úloh
– Mezi genotypem a fenotypem
m že být matematicky t žko
popsatelný vztah
17.5.2010 verze 1.0
• Nevýhody
– vysoká pam ová a opera ní
náro nost
– Vyhodnocení zdatnosti je
nutné provést vždy pro
všechny jedince
9
Diverzita populace
• V n kterých p ípadech se m že celá populace brzy
soust edit do oblasti blízké n kterému lokálnímu maximu
fitness funkce a tím zabránit nenalezení globálního
maxima. Tomu se íká p ed asná konvergence. V
tomto p ípad jsou všechny jedinci v tšinou genotypov
podobní
• Tomu lze zabránit zajišt ním diverzity populace
– Nechat p ežít jedince i s nižší zdatností
– Zvýšit mutaci na genotypov podobných jedincích nebo
podobnost s ostatními jedinci zapo ítávat do zdatnosti (v tší
podobnost, menší zdatnost)
– Zavést do populace druhy a nenechat je k ížit mezi sebou nebo
k ížení omezit
17.5.2010 verze 1.0
10
Diferenciální evoluce
• Genetický algoritmu se speciálním typem k ížení jedinc
• Vhodný pro spojitou optimalizaci (genom obsahuje
íselné hodnoty)
• K ížení
– Pro jedince x náhodn vybereme z populace jedince a, b, c.
– Pro náhodn vybranou dimenzi genomu i ur íme xi=ai+k(bi – ci),
kde k je váha diference mezi jedinci
– Tak vytvo íme nového jedince, kterého za adíme do populace je
tehdy, pokud jeho zdatnost je v tší než je zdatnost x.
• Slovn e eno: nového jedince vytvo íme ze základního
jedince x tak, že jeho n které geny zm níme na základ
t í náhodn vybraných jedinc a,b,c tak, že jedinec a
bude tvo it bázi, ke které p i te vážený rozdíl jedinc b,c.
17.5.2010 verze 1.0
11
Genetické programování
Genom
•
•
•
•
Vytvá ení programu nebo dataflow
grafu genetickým algoritmem
Genom obsahuje instrukce
výpo tu
Zdatnost vyjad uje rozdíl mezi
výsledkem programu a
požadovaným výsledkem. Menší
rozdíl v tší zdatnost
Problémem je, že p i mutaci nebo
k ížení m že vzniknout mnoho
nefunk ních ešení => navrhnout
takové operátory k ížení, které
tento negativní jev potla í. Nap .
operujeme nad dataflow grafem
nikoliv p ímo nad sekvencemi
instrukcí.
001 001 010 011
002 011 001 010
002 010 001 011
…
Program
add a=b,c
sub c=a,b
mul b=a,c
…
Liší se výsledek od
požadovaného ?
17.5.2010 verze 1.0
12
P íklad dataflow grafu
Dataflow graf výpo tu výrazu:
y
y = sin(x1*x2+x3(x6-x5))
SIN
+
*
x1
17.5.2010 verze 1.0
*
x2
-
x3
x6
x5
13
Genetický algoritmus pro u ení
neuronových sítí
• Používá se pro šlecht ní topologie neuronové
sít ale i vah
• P i návrhu algoritmu je t eba zohlednit, že
neuronová sí s dobrou topologií, ale špatn
nastavenými vahami, m že mít horší zdatnost,
než neuronová sí s horší topologií, ale dob e
nastavenými vahami.
– Obvykle se šlechtí dvou úrov ov , nejprve topologie,
pak se topologie zmrazí a nechá se as algoritmu
doladit váhy. Potom se teprve rozhodne o vy azení
jedince z populace
– Kombinací algoritm : topologie genetickým
algoritmem, váhy gradientn (Backpropagation)
17.5.2010 verze 1.0
14
Neuronové sít a výpo etní
inteligence
Neuronové sít
Miroslav Skrbek ©2010
24.5.2010 verze 1.0
1
Particle swarm optimization
• P írodou inspirovaný optimaliza ní
algoritmus
• Modeluje chování hejn pták
• Vhodný pro spojitou optimalizaci
• Má adu podobností s genetickým
algoritmem
24.5.2010 verze 1.0
2
Popis algoritmu
•
•
•
•
•
•
Základem je hejno ástic (jedinc , pták )
Každá ástice se pohybuje po spojitém prostoru, kde hledáme ešení. Má
tedy svoji rychlost a sm r
Každá ástice vyhodnocuje fitness svého ešení v každém bod prostoru,
kde se vyskytuje a pamatuje si svoje nejlepší ešení (lbest)
Pro všechny ástice se udržuje nejlepší dosud nalezené ešení (gbest, to
bude potom výsledným ešením po ukon ení algoritmu)
Algoritmus postupuje po krocích, ve kterých se vyhodnocuje nová pozice
ástic dle vztahu
x(t+1)=x(t)+v(t), v(t)= pv(t-1)+ prp(pp-x(t))+ grg(g-x(t)), kde rp a rg jsou
náhodné vektory a p, p, g jsou parametry
Rychlost ástice je ovlivn na vzdáleností ástice od jejího nejlepšího ešení
lbest ( len pp-x(t)) a vzdáleností od globálního ešení gbest ( len g-x(t)).
Jinými slovy ástice je sm rována jak k jejímu lokálnímu, tak ke globálnímu
ešení, p i emž parametry p, g ur ují míru ovlivn ní. Náhodné vektory rp a
rg vnášejí do pohybu náhodnou složku. Parametr p je mírou setrva nosti
ástice
24.5.2010 verze 1.0
3
PSO
Náhodná složka
pohybu
Výsledný
sm r
pohybu
Dosud nejlepší
ešení, které
jejinec našel
Dosud nejlepší
ešení (celkové)
24.5.2010 verze 1.0
4
Optimalizace mraven ími koloniemi
Ant Colony Optimization (ACO)
•
•
•
•
•
•
Algoritmus optimalizace mraven ími koloniemi
Mravenec vytvá í ešení tím, že se v u itých krocích (typicky uzlech grafu)
náhodn rozhoduje, kterou hranou se vydá. P edstavte si paket v síti
(mravenec), který se rozhoduje, kterým portem se vydat k požadovanému
cílovému po íta i.
Pravd podobnost, kterou hranou se vydá je ovlivn na feromonem (t kavá
látka, kterou mravenec klade).
Feromon mravenec klade na hrany grafu, a to pokud našel cíl (tedy na
zpáte ní cest ). Klade ho o to víc kolik potravy našel. V p ípad p íkladu s
paketem by to byla doba, za kterou dosáhl cíle ( ím kratší, tím více
feromonu). Pak budou ostatní pakety chodit po feromonové cest .
Feromon v ase vyprchává, tzn. pokud n který mravenec nanese feromon
a další ho nenásledují, protože našli lepší ešení, pak z cesty, která není
navšt vována feromon vyprchá.
Fermomon je ur itou formou pam ti (akumuluje zkušenost).T kavost
feromonu je ur itou formou zapomínání. To umož uje algoritmu se
pr b žn adaptovat na nové podmínky.
24.5.2010 verze 1.0
5
Mraven í kolonie
Po áte ní
ešení
Cílové
ešení
Ší kou
ervené áry
je vyzna eno
množství
feromonu
24.5.2010 verze 1.0
6
Popis algoritmu
τ iα, jηiβ, j
pi , j =
τ iα, jηiβ, j
τ iα, j ... množství feromonu na hran i, j
η iβ, j ... díl í cena ešení
j
i,j,
i
Aktualizace feromonu
pi,j
j
T kání
feromonu
τ i , j = (1 − ρ )τ i , j + ∆τ i , j
24.5.2010 verze 1.0
P írustek feromonu od
mravence (pokud projde
hranou)
7
Aplikace
• Logistika
• Dopravní systémy
• Sm rování v sítích
• ešení standardní úlohy obchodního
cestujícího (TSP – Travelling Salesman
Problem)
24.5.2010 verze 1.0
8
P íklad
Hodnoty i,j jsou
vzdálenosti mezi m sty
M jme p t m st se
vzdálenostmi (viz. graf)
η1,3 = 11
1
8km
2
η 4, 2 = 13
5km
11km
23km
4km
13km
3
5
9km
3km
V jakém po adí m sta
projít, abychom urazili
minimální vzdálenost ?
24.5.2010 verze 1.0
4
d(1,2,3,4,5)=24km
d(1,4,3,2,5)=41km
d(1,5,4,2,3)=31km
… (n-1)! možností
ešení: pošleme mravence, mravenec nesmí
projít jedno m sto dvakrát
9