Metody Pocítacového Videní (MPV) - Machine learning

Transkript

Metody Pocítacového Videní (MPV) - Machine learning
Metody Počı́tačového Viděnı́ (MPV) - Machine
learning
pokračovánı́
Ing. Zdeněk Krňoul, Ph.D.
Katedra Kybernetiky
Fakulta aplikovaných věd
Západočeská univerzita v Plzni
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
Machine learning II
I
I
I
I
I
I
Bayesovská klasifikace
Rozhodovacı́ strom
Rozhodovacı́ les
Náhodný rozhodovacı́ les
Neuronové sı́tě
Konvolučnı́ neuronové sı́tě
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
1 / 47
Machine learning II
I
Bayesovská klasifikace
I
Rozhodovacı́ strom
I
Rozhodovacı́ les
I
Náhodný rozhodovacı́ les
I
Neuronové sı́tě
I
Konvolučnı́ neuronové sı́tě
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
2 / 47
Bayesovská klasifikace
I
základnı́ statistický přı́stup ke klasifikaci založený na Bayesovu
teorému (Thomas Bayes 1701–1761)
I
patřı́ do množiny tzv. pravděpodobnostnı́ch klasifikátorů, tedy
vyčı́slenı́ kompromisu mezi různými klasifikačnı́mi
rozhodnutı́mi za využitı́ pravděpodobnosti
I
princip je znám od 50-tých a 60-tých let minulého stoletı́, kdy
byl použı́ván na úlohu vyhledávánı́ informacı́ v textu
(information retrieval), kategorizaci textu, vyhodnocenı́
diagnoz v lékařstvı́ aj.
I
stále je považován za alternativu k vı́ce sofistikovanějšı́m
klasifikačnı́m metodám, jako je např. SVM (support vector
machine)
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
3 / 47
I
ze statistického pohledu Bayesův klasifikátor minimalizuje
pravděpodobnost chybné klasifikace,
I
princip založen na podmı́něné distribuci P(Y |X )), kde Y je
konečná množina možných třı́d a X je vstup (měřené
přı́znaky).
I
potom rozhodnutı́ pro nejlepšı́ třı́du pro námi naměřené X je
dáno ŷ = argmax P(Y = y |X )
I
trénovánı́ Bayesova klasifikátoru spadá do množiny tzv. učenı́ s
učitelem (supervised learning) a v mnoha přı́padech je použita
metoda maximálnı́ věrohodnosti (maximum likehood, MLE)
I
pokud jsou proměnné X nezávislé, pak je potřeba určit celkem
málo parametrů, např. x se řı́dı́ normálnı́m (Gausovským)
rozdělenı́m → statistický popis jednotlivých třı́d je střednı́
hodnota a rozptyl (nenı́ potřeba plná kovariančnı́ matice)
y
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
4 / 47
I
ukázka funkce hustot podmı́něných pravděpodobnostı́ pro dvě
třı́dy a dimenzi přı́znaků 1
I
funkce modelujı́ hustotu pravděpodobnosti měřenı́ hodnoty
přı́znaku x za předpokladu, že vzorek náležı́ třı́dě ω1 a ω2
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
5 / 47
I
p(x|ωj ) ... značı́ podmı́něné závislosti vzorku,
I
x ... spojitá náhodná veličina, jejı́ž distribuce závisı́ na
přirozeném stavu
I
dále zavedeme apriornı́ pravděpodobnost, která předurčuje
přı́slušnost vzorku k dané přı́dě ... tedy pro třı́du j označı́me
jako P(ωj ),
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
6 / 47
I
pro dvě třı́dy hledáme p(x|ω1 ) a p(x|ω2 ) pro podmı́něnou
hustotu pravděpodobnosti třı́dy ω1 resp. ω2
I
dále dvě apriornı́ pravděpodobnost P(ω1 ), která předurčuje, že
vzorek patřı́ do třı́dy ω1 , resp. P(ω2 ) pro třı́du ω2 ... neexistujı́
žádné dalšı́ třı́dy, proto P(ω1 ) + P(ω2 ) = 1
I
rozdı́l mezi p(x|ω1 ) a p(x|ω2 ) popisuje rozdı́l mezi
jednotlivými třı́dami
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
7 / 47
Sdružená hustota pravděpodobnosti p(ωj , x)
I
sdružená hustota pravděpodobnosti popisuje, že vzorek patřı́
do třı́dy ωj a má hodnotu přı́znaku x
I
může být zapsáno dvěma způsoby:
p(ωj , x) = P(ωj |x)p(x) = p(x|ωj )P(ωj ),
I
přeuspořádánı́m tohoto vztahu dostaneme Bayesův vztah:
P(ωj |x) =
kde p(x) =
I
P
j
p(x|ωj )P(ωj )
,
p(x)
(1)
p(x|ωj )P(ωj )
jde o Bayesův vztah, který může být vyjádřen slovně jako:
posterior =
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
likelihood × prior
evidence
(2)
8 / 47
Machine learning II
I
Bayesovská klasifikace
I
Rozhodovacı́ strom
I
Rozhodovacı́ les
I
Náhodný rozhodovacı́ les
I
Neuronové sı́tě
I
Konvolučnı́ neuronové sı́tě
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
9 / 47
Rozhodovacı́ strom
I
nelineárnı́ klasifikačnı́ metoda, model je založený na grafu,
resp. orientovaného grafu ve tvaru stromu
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
10 / 47
Rozhodovacı́ strom
I
nelineárnı́ klasifikačnı́ metoda, model je založený na grafu,
resp. orientovaného grafu ve tvaru stromu
I
patřı́ do rodiny přı́stupů jednotně nazývyných jako
Classification And Regression Tree (CART)
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
10 / 47
ω2
ω3
t0 x1 ≤ 14
ANO
NE
0.75
ω1
ω1
t1 x2 ≤ 12
x2
ANO
NE
t2 x1 ≤ 43 t3 x1 ≤ 21
0.5
0.25
ω1
0.25
ω3
0.5
ANO
NE ANO
ω3
ω4 ω2
NE
t4 x2 ≤ 34
ANO
NE
ω1
ω3
ω4
0.75
x1
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
11 / 47
I
metoda použı́vá binárnı́ rozhodovacı́ strom T tvořený uzly →
docházı́ k porovnávánı́ jednotlivých prvků přı́znakového
vektoru označeného jako x ∈ X
ω2
ω3
t0 x1 ≤ 14
ANO
NE
0.75
ω1
ω1
t1 x2 ≤ 12
x2
ANO
NE
t2 x1 ≤ 43 t3 x1 ≤ 21
0.5
0.25
ω1
0.25
ω3
0.5
ANO
NE ANO
ω3
ω4 ω2
NE
t4 x2 ≤ 34
ANO
NE
ω1
ω3
ω4
0.75
x1
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
12 / 47
I
I
metoda použı́vá binárnı́ rozhodovacı́ strom T tvořený uzly →
docházı́ k porovnávánı́ jednotlivých prvků přı́znakového
vektoru označeného jako x ∈ X
strom pak představuje postupné dělenı́ prostoru přı́znaků X na
navzájem se neprolı́najı́cı́ regiony
ω2
ω3
t0 x1 ≤ 14
ANO
NE
0.75
ω1
ω1
t1 x2 ≤ 12
x2
ANO
NE
t2 x1 ≤ 43 t3 x1 ≤ 21
0.5
0.25
ω1
0.25
ω3
0.5
ANO
NE ANO
ω3
ω4 ω2
NE
t4 x2 ≤ 34
ANO
NE
ω1
ω3
ω4
0.75
x1
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
12 / 47
I
každý region pak odpovı́dá právě jedné klasifikačnı́ třı́dě
ω2
ω3
t0 x1 ≤ 14
ANO
NE
0.75
ω1
ω1
t1 x2 ≤ 12
x2
ANO
NE
t2 x1 ≤ 43 t3 x1 ≤ 21
0.5
0.25
ω1
0.25
ω3
0.5
ANO
NE ANO
ω3
ω4 ω2
NE
t4 x2 ≤ 34
ANO
NE
ω1
ω3
ω4
0.75
x1
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
13 / 47
I
každý region pak odpovı́dá právě jedné klasifikačnı́ třı́dě
I
... přı́znakový prostor je rozdělen na ”kvádry”(pro dimenzi 3)
ω2
ω3
t0 x1 ≤ 14
ANO
NE
0.75
ω1
ω1
t1 x2 ≤ 12
x2
ANO
NE
t2 x1 ≤ 43 t3 x1 ≤ 21
0.5
0.25
ω1
0.25
ω3
0.5
ANO
NE ANO
ω3
ω4 ω2
NE
t4 x2 ≤ 34
ANO
NE
ω1
ω3
ω4
0.75
x1
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
13 / 47
I
každý region pak odpovı́dá právě jedné klasifikačnı́ třı́dě
I
... přı́znakový prostor je rozdělen na ”kvádry”(pro dimenzi 3)
I
nerovnost použita v uzlu xi ≤ α je označována jako
rozhodovacı́ pravidlo
ω2
ω3
t0 x1 ≤ 14
ANO
NE
0.75
ω1
ω1
t1 x2 ≤ 12
x2
ANO
NE
t2 x1 ≤ 43 t3 x1 ≤ 21
0.5
0.25
ω1
0.25
ω3
0.5
ANO
NE ANO
ω3
ω4 ω2
NE
t4 x2 ≤ 34
ANO
NE
ω1
ω3
ω4
0.75
x1
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
13 / 47
Učenı́ a klasifikace:
I
klasifikace probı́há opakovaným porovnánı́m neznámého
vektoru a jeho postupným ”propadnutı́m”až do jednoho z listů
stromu ... do jedné z předem daných třı́d
I
metoda je často nastavena (určena) technikou učenı́ s
učitelem (jde tedy o tzv. supervised learning)
I
nejpoužı́vanějšı́ metoda konstrukce stromu → regiony jsou
vytvořeny jednoduchým porovnánı́m postupně v jednotlivých
dimenzı́ch přı́znakového vektoru (práh) xi < p, xi je i-tý prvek
přı́znakového vektoru x a α značı́ zvolený práh
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
14 / 47
Pravidla konstrukce rozhodovacı́ho stromu:
I
pro prvnı́ uzel, tzv. kořen stromu, platı́ Xs = X
I
každý dalšı́ uzel s ... podmnožina Xs ⊂ X daná podle
rozhodovacı́ho pravidla předešlého uzlu
I
rozhodovacı́m pravidlo uzlu s dělı́ Xs na XsA (ANO)a XsN
(NE)
I
XsA v sobě slučuje vektory, které splnily rozhodovacı́ pravidlo
uzlu s a XsN naopak slučuje ty, které pravidlo nesplnily
I
rozdělenı́ musı́ splňovat:
XsA ∩ XsN = ∅,
XsA ∪ XsN = Xs .
I
ze všech možných rozdělenı́ Xs → pouze jedno co nejlépe
splňuje rozdělujı́cı́ kritérium
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
15 / 47
Volba rozhodovacı́ho pravidla
I
rozhodovacı́ pravidlo ve tvaru xi ≤ αi , kde αi je práh αi ∈ R
rozdělujı́cı́ vektory na základě porovnánı́ i-té dimenze
přı́znakového prostoru
I
pomocı́ trénovacı́ množiny X lze vymezit konečnou množinu
hodnot, které je pro zı́skánı́ αi nutné
I
pro i-tou dimenzi, xi , vektoru x, jsou hodnoty všech
přı́znakových vektorů uvnitř trénovacı́ množiny vzestupně
seřazeny a tato řada pak tvořı́ množinu variant určenı́ prahu
I
v daném uzlu pak postupně pro všechny dimenze
xi ,i = 1, 2, . . . , l všech vektorů x ∈ X vznikne několik
možnostı́ rozdělenı́ podmnožiny Xs
I
z této množiny pak je nutné vybrat pouze jeden práh, který
bude ”nejlépe”daný uzel rozdělovat; rozdělenı́ podle metriky
(např. Gini impurity, redukce variance, informačnı́ zisk aj. )
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
16 / 47
Mı́ra rozmanitosti uzlu
I
pokud P (ωi | s) značı́ pravděpodobnost jevu, že vektory
uvnitř podmnožiny Xs , náležı́cı́ uzlu s, patřı́ do třı́dy ωi ,
i = 1, 2, . . . , M. Mı́ra rozmanitosti uzlu je definována jako:
I (s) = −
M
X
P (ωi | s) log2 P (ωi | s) .
(3)
i=1
I
tento vztah představuje mı́ru entropie spojenou s uzlem s;
pozn. entropie v uzlu t nabývá maxima, pokud všechny
1
a rovna nule pokud právě
pravděpodobnosti P (ωi | s) = M
pro jednu třı́du j P (ωj | s) = 1 a ostatnı́ jsou rovny nule
I
pravděpodobnosti P (ωi | s) jsou často odhadovány pomocı́
i
i
s
vztahu N
Ns , kde Ns je počet vektorů v Xs patřı́cı́ch do třı́dy ωi
a Ns je celkový počet vektorů uvnitř podmnožiny Xs
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
17 / 47
I
potom po rozdělenı́ Xs na dvě podmnožiny XsA a XsN , kde
XsA má NsA počet vektorů a XsN má NsN počet vektorů,
dojde k nárůstu rozmanitosti uzlu definovaného jako
∆I (s) = I (s) −
NsN
NsA
I (sA ) −
I (sN ) ,
Ns
Ns
(4)
kde I (sA ), I (sN ) jsou mı́ry rozmanitosti uzlů sA a sN
I
cı́lem trénovánı́ klasifikátoru je nalézt pro každý uzel s takové
rozdělenı́, kdy nárůst rozmanitosti uzlu ∆I (s) je největšı́.
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
18 / 47
Zastavovacı́ podmı́nka
I
zastavovacı́ podmı́nka sloužı́ k zastavenı́ procesu dělenı́ a tak
vytvořenı́ listového uzlu
I
často je zastavovacı́ podmı́nka určena jako minimálnı́ počet
trénovacı́ch vektorů v daném uzlu, pokud je dosažena tato
minimálnı́ hodnota (např. 5) dále se uzel nedělı́
I
zastavovacı́ podmı́nka může také být dána minimálnı́m
přı́růstkem rozmanitosti uzlu (všichni ze stejné třı́dy)
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
19 / 47
Klasifikace - určenı́ třı́dy
I
listu s je přiřazena taková třı́da, která je v Xs nejčastěji
zastoupena
I
... je přiřazena pouze jedna třı́da ωj , kde index j odpovı́dá
j = argmax P (ωi | s) .
(5)
i
Dalšı́ možnosti konstrukce stromu:
Pl
rozhodovacı́ pravidlo může mı́t tvar
I
neurčujı́ se prahy v jedné dimenzi, ale jde o nalezenı́ nadrovin
(přı́mek), dělı́cı́ch jednotlivé prvky přı́znakových vektorů.
I
... pravidlo může v některých přı́pade vhodněji rozdělit prostor
trénovacı́ množiny X
I
... konstrukce stromu je mnohem složitějšı́
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
i=1 ci xi
≤ α.
I
20 / 47
Machine learning II
I
Bayesovská klasifikace
I
Rozhodovacı́ strom
I
Rozhodovacı́ les
I
Náhodný rozhodovacı́ les
I
Neuronové sı́tě
I
Konvolučnı́ neuronové sı́tě
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
21 / 47
Rozhodovacı́ les (decision forest)
I
nevýhoda rozhodovacı́ho stromu je citlivost na trénovacı́ sadu
tzv. špatná generalizace problému
I
malá změna trénovacı́ množiny X → změna celého tvaru
rozhodovacı́ho stromu T → nárůstu chyby klasifikace
I
tento nedostatek je kompenzován zapojenı́m vı́ce než jednoho
rozhodovacı́ho stromu do procesu klasifikace
I
princip: pro jednu trénovacı́ množinou zkonstruujeme několik
”odlišných”stromů
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
22 / 47
Trénovánı́:
I trénovacı́ množina X obsahujı́cı́ N prvků je algoritmem
bootstrap aggregating rozdělena na T množin (počet
stromů), X(t)
Klasifikace:
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
23 / 47
Trénovánı́:
I trénovacı́ množina X obsahujı́cı́ N prvků je algoritmem
bootstrap aggregating rozdělena na T množin (počet
stromů), X(t)
I každá obsahuje N(t) prvků, přičemž N(t) ≤ N (pozn. vzorové
vektory z původnı́ množiny se mohou opakovat)
Klasifikace:
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
23 / 47
Trénovánı́:
I trénovacı́ množina X obsahujı́cı́ N prvků je algoritmem
bootstrap aggregating rozdělena na T množin (počet
stromů), X(t)
I každá obsahuje N(t) prvků, přičemž N(t) ≤ N (pozn. vzorové
vektory z původnı́ množiny se mohou opakovat)
I pro každou množinu X (n) je nezávisle zkonstruován
rozhodovacı́ strom T (n) (jednı́m ze zmı́něných postupů)
Klasifikace:
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
23 / 47
Trénovánı́:
I trénovacı́ množina X obsahujı́cı́ N prvků je algoritmem
bootstrap aggregating rozdělena na T množin (počet
stromů), X(t)
I každá obsahuje N(t) prvků, přičemž N(t) ≤ N (pozn. vzorové
vektory z původnı́ množiny se mohou opakovat)
I pro každou množinu X (n) je nezávisle zkonstruován
rozhodovacı́ strom T (n) (jednı́m ze zmı́něných postupů)
Klasifikace:
I neznámý vektor y je přiveden na vstup všech rozhodovacı́ch
stromů T .
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
23 / 47
Trénovánı́:
I trénovacı́ množina X obsahujı́cı́ N prvků je algoritmem
bootstrap aggregating rozdělena na T množin (počet
stromů), X(t)
I každá obsahuje N(t) prvků, přičemž N(t) ≤ N (pozn. vzorové
vektory z původnı́ množiny se mohou opakovat)
I pro každou množinu X (n) je nezávisle zkonstruován
rozhodovacı́ strom T (n) (jednı́m ze zmı́něných postupů)
Klasifikace:
I neznámý vektor y je přiveden na vstup všech rozhodovacı́ch
stromů T .
I Každý rozhodovacı́ strom nám určı́ přı́slušnost vektoru y do
některé třı́dy ωi , i = 1, 2, . . . , M.
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
23 / 47
Trénovánı́:
I trénovacı́ množina X obsahujı́cı́ N prvků je algoritmem
bootstrap aggregating rozdělena na T množin (počet
stromů), X(t)
I každá obsahuje N(t) prvků, přičemž N(t) ≤ N (pozn. vzorové
vektory z původnı́ množiny se mohou opakovat)
I pro každou množinu X (n) je nezávisle zkonstruován
rozhodovacı́ strom T (n) (jednı́m ze zmı́něných postupů)
Klasifikace:
I neznámý vektor y je přiveden na vstup všech rozhodovacı́ch
stromů T .
I Každý rozhodovacı́ strom nám určı́ přı́slušnost vektoru y do
některé třı́dy ωi , i = 1, 2, . . . , M.
I index třı́dy i, do které vektor patřı́ je vybrán na základě
nejčastějšı́ho výsledku mezi všemi provedenými klasifikacemi,
alternativně můžeme
určit celkovou pravděpodobnost
1 PT
P(ω|x) = T t=1 Pt (ω|x)
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
23 / 47
Náhodný rozhodovacı́ les (Random Decision Forest)
I
I
I
přebı́rá zmı́něný princip rozhodovacı́ho lesa → snı́ženı́ citlivosti
výsledku klasifikace na výběru trénovacı́ množiny a dále
cı́l 1: snı́ženı́ vzájemné korelovanosti vytvořených stromů (v
lese)
cı́l 2: zrychlit trénovánı́ v přı́padě velmi vysoké dimenze
vstupnı́ho vektoru
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
24 / 47
Ukázka realtime klasifikace hloubkový dat z MS Kinect do
jednotlivých částı́ lidského těla (Microsoft Research, 2011):
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
25 / 47
Trénovánı́
1. rozdělenı́ trénovacı́ množiny X na T množin X(t) pomocı́
algoritmu bootstrap aggregating (stejné)
2. dále zvolen parametr m (m l, kde l je dimenze vektoru
x ∈ X)
3. v daném uzlu ← rozhodovacı́ pravidlo určeno jako nejlepšı́
výsledek (rozmanitost) pouze mezi m náhodně vybranými
prvky přı́znakového vektoru (dimenzemi)
Klasifikace
I
neznámý vektor y přiveden na vstup všech stromů v lese
(stejné)
I
index třı́dy i, do které vektor patřı́ je vybrán na základě
nejčastějšı́ho výsledku (stejné)
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
26 / 47
Vliv velikosti lesa:
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
27 / 47
Vliv hloubky stromů, zastavovacı́ podmı́nka:
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
28 / 47
Umělá neuronová sı́t’ - Artifical Neural Network (ANN)
I
I
I
vzorem je chovánı́ odpovı́dajı́cı́ch biologických struktur
primárně navrženy k řešenı́ lineárně neseparovatelných
problémů
řešenı́ je nalezeno pomocı́ transformace problému do prostoru,
ve kterém již existuje adekvátnı́ lineárnı́ řešenı́
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
29 / 47
I
základnı́m prvkem neuronové sı́tě je model neuronu, na jehož
vstup je přiveden vektor x a výstupem je pak jedna hodnota
I
např. 1 (je-li x ∈ ω1 ) či 0 (je-li x ∈ ω2 ) → takovýto model se
pak nazývá perceptron - 1957 Frank Rosenblatt
I
neuronová sı́t’ složena jen z perceptronů, se nazývá
perceptronová sı́t’
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
30 / 47
I
xi jsou vstupy neuronu
I
wi jsou synaptické váhy
I
bi je práh neuronu
I
fi je přenosová (aktivačnı́) funkce neuronu
I
yi je výstup neuronu
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
31 / 47
I
váha wi vyjadřuje uloženı́ zkušenostı́ do neuronu ... čı́m je
vyššı́ hodnota, tı́m je daný vstup důležitějšı́
I
v biologickém neuronu práh bi označuje prahovou hodnotu
aktivace neuronu
I
výstup neuronu je dán přenosovou funkcı́ ... může být vedle
zmı́něného 1/0 (binárnı́ - aktivačnı́) i spojitý
I
výstup jednoho neuronu je vždy dán jako:
y =f(
N
X
(wi xi ) + b)
(6)
i=1
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
32 / 47
Přenosová funkce:
I
Skoková funkce
f (a) =
I
1 pro a > 0
0 pro a < 0
(7)
Sigmoida (nejčastěji použı́vaná)
f (a) =
1
1 + exp (−λa)
(8)
1 + exp (−λa)
1 − exp (−λa)
(9)
kde λ je parametr sklonu.
I
Hyperbolický tangens
f (a) =
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
33 / 47
Vı́cevrstvé sı́tě:
I topologie sı́tě je určena spojenı́m jednotlivých neuronů, tedy
výstupu jednoho neuronu na vstup jiných neuronů
I jsou ověřeny topologie, které toto spojenı́ majı́ v tzv. vrstvách
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
34 / 47
I
I
poslednı́ vrstva, která určuje výstup sı́tě se nazývá výstupnı́
ostatnı́ vrstvy jsou skryté
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
35 / 47
I
napřı́klad dvouvrstvá perceptronová sı́t’ s jednı́m výstupem
může provádět klasifikaci do dvou třı́d
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
36 / 47
I
I
napřı́klad dvouvrstvá perceptronová sı́t’ s jednı́m výstupem
může provádět klasifikaci do dvou třı́d
každý perceptron ve skryté vrstvě představuje jednu
klasifikačnı́ nadrovinu (přı́mku pro dimenzi 2)
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
36 / 47
I
I
I
napřı́klad dvouvrstvá perceptronová sı́t’ s jednı́m výstupem
může provádět klasifikaci do dvou třı́d
každý perceptron ve skryté vrstvě představuje jednu
klasifikačnı́ nadrovinu (přı́mku pro dimenzi 2)
potom ... lineárně neseparovatelné prvky trénovacı́ množiny je
možné bezchybně rozdělit do dvou třı́d
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
36 / 47
Učenı́ neuronové sı́tě:
I
opět nejčastěji jde o učenı́ s učitelem, vycházı́me tedy z nějaké
trénovacı́ množiny
I
trénovacı́ množina obsahuje N dvojic (y (i), x (i)), pro
i = 1, 2, . . . , N
I
x (i) představuje i-tý vektor trénovacı́ množiny a y (i) určuje
jeho přı́slušnost do jedné předem daných třı́d
I
v jednotlivých iteracı́ch se výstup neuronové sı́tě ŷ (i) lišı́ od
požadovaného y (i)
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
37 / 47
I
cı́lem je nastavit synaptické váhy tak, aby rozdı́l mezi
aktuálnı́m výstupem ŷ (i) a požadovaným výstupem y (i) byl
minimálnı́
I
nejčastěji se použı́vá kritérium nejmenšı́ch čtverců
N
E (i) =
1X
(y (i) − ŷ (i))2
2
(10)
i=1
I
existuje mnoho algoritmů pro trénovaná ANN, vždy se jedná o
optimalizačnı́ úlohu, často založenou na principu poklesu
gradientu (Gradient Descent Algorithm)
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
38 / 47
Algoritmus zpětného šı́řenı́ - Backpropagation Algorithm
I
pro nastavenı́ (naučenı́) vı́cevrstvé perceptronové sı́tě
I
princip založen na výpočtu gradientu ztrátové funkce v
závislosti všech vah v sı́ti
I
optimalizačnı́ algoritmus pak postupně upravuje váhy tak, aby
minimalizoval ztrátovou funkci
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
39 / 47
1. náhodné nastavenı́ všech vah a prahů v sı́ti a je zvolena
konstanta učenı́, µ
2. spočtena odezva sı́tě na trénovacı́ množinu ... ŷ
3. zjištěn vliv (∆wijl ) jednotlivých vah a prahů v sı́ti na pokles
chybové funkce
∂J
∆wijl = −µ l ,
(11)
∂wij
wijl je váha spoje od j-tého neuronu v l − 1-té vrstvě sı́tě do
i-tého neuronu v l-té vrstvě, J chybová funkce
vliv spočten zvlášt’ pro neurony ve skrytých vrstvách (zpětná
propagace chyby) a zvlášt’ pro výstupnı́ vrstvu
4. aktualizace váhy
wijl (nova) = wijl (stara) + ∆wijl ,
(12)
Body 2 až 4 se opakujı́ pro všechny trénovacı́ vzorky a sleduje se
pokles chyby E
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
40 / 47
Konvolučnı́ neuronové sı́tě - Convolutional Neural
Networks - CNN
I
I
I
I
I
CNN jsou vhodné pro klasifikaci obrazových dat
topologie a funkcionalita klasifikace je založena na běžných
ANN
princip je v logickém uspořádanı́ vstupnı́ho vektoru,
vstupem jsou přı́mo pixely nějakého obrázku (pevně daný
rozměr)
a dále mechanismus redukce množstvı́ neuronů (tvz.
max-pooling ) → redukce početu spojů (vah) do dalšı́ vrstvy
(tzn. počtu pixelů)
výstupnı́ vrstva má jen málo neuronů - např. počet
odpovı́dajı́cı́ počtu třı́d
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
41 / 47
Architektura konvolučnı́ neuronové sı́tě; velikost konvolučnı́ch jader
je např. 3 × 3, hodnota posunu je nastavena na 1 a klasifikace
probı́há do čtyř třı́d
Vstupní vrstva obraz (29x29 px)
Konvoluční vrstva konv. obrazy (15x15 px)
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
Vrstva max-poolingu mapy (5x5 px)
Konvoluční vrstva - Klasifikační vrstva plně propojená
konv. obrazy (1x1 px)
42 / 47
Konvolučnı́ vrstva
I
počet neuronů v konvolučnı́ vrstvě je dán počtem a velikostı́
tzv. konvolučnı́ch jader (význam konvolučnı́ho jádra je stejný
jako v klasickém ZDO)
I
každé konvolučnı́ jádro produkuje odezvu v daném posunutı́ (v
překladu to jsou výstupy podmnožiny neuronů této vrstvy
formujı́cı́ obrázek po konvoluci)
I
vzniká velmi velká expanze počtu neuronů (vah a prahů) v
této vrstvě
I
... však velikost posunu zmenšuje velikost ”obrázku”odezvy
konvoluce
I
... ale sdı́lenı́ přı́slušných vah jednotlivých konvolučnı́ch jader
pro všechny posuny ve vstupnı́m obrázku značně zmenšuje
počet neznámých parametrů sı́tě
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
43 / 47
Redukce počtu neuronů ve skrytých vrstvách: Max-pooling
I
I
I
I
představuje mechanismus podvzorkovánı́ vstupnı́ho
(konvolučnı́ho) obrazu do dalšı́ vrstvy
urychluje konvergenci sı́tě a vede k nalezenı́ robustnějšı́ch
obrazových přı́znaků
princip založen na detekci maxim v nepřekrývajı́cı́ch se
regionech vstupnı́ho obrazu - velikost regionu rovna velikosti
konvolučnı́ho jádra
do dalšı́ vrstvy tedy postupuje z daného regionu daného
konvolučnı́ho obrazu pouze jedno vybrané maximum
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
44 / 47
Výstupnı́ - klasifikačnı́ vrstva
I
obsahuje přesně tolik neuronů, kolik je klasifikačnı́ch třı́d
I
plně propojená ... na vstup každého jejı́ho neuronu jsou
přivedeny všechny výstupy (konvolučnı́ obrazy) vrstvy předešlé
Učenı́ sı́tě
I
CNN se učı́ obdobným způsobem jako učenı́ klasické
neuronové sı́tě
I
rozdı́l je pouze, že nedocházı́ k aktualizaci vah, ale jsou
upravovány společně (vázaně) váhy jednotlivých konvolučnı́ch
jader
I
princip konvoluce (tedy topologie) předurčuje sı́ti, jak má
vstupnı́ data modelovat (zapamatovat) a podmı́nka současně
umožňuje sı́t’ natrénovat
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
45 / 47
Ukázka klasifikace CNN nad databázı́ ImageNet, 1,2 mil. obrázků a
1000 třı́d, CNN 65 mil. parametrů a 650 tis. neuronů (Krizhevsky a
kol. 2012)
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
46 / 47
Ukázka podobnosti výstupů k trénovacı́m datům:
Metody Počı́tačového Viděnı́ (MPV) - Machine learning
47 / 47

Podobné dokumenty

4IT420 ZA´ KLADY NEUROVEˇD

4IT420 ZA´ KLADY NEUROVEˇD Jeden ECTS kredit odpovı́dá 26 hodinám studijnı́ zátěže průměrného studenta. (počet hodin přednášek týdně / počet hodin cvičenı́ týdně)

Více

České akustické společnosti ročník 17, číslo 4 prosinec 2011 Obsah

České akustické společnosti ročník 17, číslo 4 prosinec 2011 Obsah (l-ové či r-ové hlásky), jejichž akustické vlastnosti „prosakují“ do okolních hlásek. S nepřesným umístěním hláskové hranice se také často setkáváme při přechodech ze znělé hlásky na neznělou a obr...

Více

1 Kybernetika v historii plzenského vysokého školstv´ı 3 2 Studijn´ı

1 Kybernetika v historii plzenského vysokého školstv´ı 3 2 Studijn´ı Bakalářské studium poskytuje základnı́ stupeň vysokoškolského vzdělánı́ v řı́zenı́ procesů technického i netechnického charakteru, v návrhu řı́dicı́ch systémů a v aplikacı́ch uměl...

Více

Vyuºití evolu£ních technik v léka°°ské diagnostice

Vyuºití evolu£ních technik v léka°°ské diagnostice chybného rozhodnutı́ člověka při určovánı́ diagnózy či vyloučit nákladná vyšetřenı́ dı́ky optimálnı́mu využitı́ dostupných informacı́. Pokročilejšı́ schopnostı́ některých takovy...

Více

Aplikace softcomputingu

Aplikace softcomputingu 2.1 Fuzzy IF-THEN pravidla . . . . . 2.2 Fuzzy transformace . . . . . . . . 2.3 Takagi-Sugeno pravidla . . . . . . 2.4 Evolučnı́ algoritmy . . . . . . . . 2.4.1 Stochastické algoritmy pro 2.4.2 E...

Více

Support vector machine

Support vector machine optimálnı́ separujı́cı́ nadroviny. • Support vector machines zobecňujı́ přı́stup na lineárně neseparabilnı́, překrývajı́cı́ se třı́dy.

Více

OpenAlt Konvoluční neuronové sítě

OpenAlt Konvoluční neuronové sítě 4. Spočítat derivace vah a biasů z aktivací předešlé vstvy a derivací následující vrstvy

Více

A, P

A, P Může-li jistý prováděný pokus vykázat konečný počet n různých výsledků (hovořı́me o nich jako o elementárnı́ch jevech), které jsou stejně možné a jestliže m z těchto výsledku...

Více

Dynamické obrazy.

Dynamické obrazy. Neformálně: levá strana rovnice optického toku říká, jak se mění obrazová data v čase, zatímco pravá strana jak se tatáž data změní se změnou polohy. Rovnítko ve vztahu reprezentuje intuitivní fakt...

Více

Modelován´ı elastických vln ve vrstevnatém prostˇred´ı

Modelován´ı elastických vln ve vrstevnatém prostˇred´ı tloušt’ka vrstvy) a byl předmětem úsilı́ mnoha výzkumů po dvě desetiletı́. Přı́činou problému je špatná podmı́něnost matice šı́řenı́, která je vyvolána kombinacı́ jak klesajı́cı́ch...

Více