• Nie Znaleziono Wyników

2012-01-17 M.Czoków,J.Piersa Wst¦pdosiecineuronowych,wykªad14MaszynaBoltzmanna

N/A
N/A
Protected

Academic year: 2021

Share "2012-01-17 M.Czoków,J.Piersa Wst¦pdosiecineuronowych,wykªad14MaszynaBoltzmanna"

Copied!
67
0
0

Pełen tekst

(1)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wst¦p do sieci neuronowych, wykªad 14 Maszyna Boltzmanna

M. Czoków, J. Piersa

Wydziaª Matematyki i Informatyki, Uniwersytet Mikoªaja Kopernika w Toruniu

2012-01-17

(2)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wst¦p Idea algorytmu Maszyna Boltzmanna

Stacjonarno±¢ stanów maszyny Boltzmanna

Problemy z sieci¡ Hoplda

Najwi¦ksz¡ przeszkod¡ w osiaganiu przez sieci Hopelda dobrych rozwiaza« zadanych problemów jest podatno±¢ na popadania w minima lokalne. Jest to istotna okoliczno±¢, gdy» okazuje si¦, »e w skomplikowanych problemach sie¢ praktycznie zawsze ko«czy dziaªanie w lepszym lub gorszym minimum lokalnym. Aby temu zaradzi¢ trzeba wprowadzi¢ mechanizm pozwalaj¡cy wyj±¢ z lokalnych basenów atrakcji. Na tym wykªadzie przeanalizujemy stochastyczne metody radzenia sobie z tym problemem.

(3)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wst¦p Idea algorytmu Maszyna Boltzmanna

Stacjonarno±¢ stanów maszyny Boltzmanna

Nicolas Metropolis (1915-1999)

czªonek zespoªu badawczego Projektu Manhattan

wspóªtwórca komputerów MANIAC (1952) i MANIAC II (1957) jeden z autorów metod Monte Carlo (wraz z S. Ulamem i J.

von Neumannem)

algorytm Metropolisa (1953) zaliczony do czoªowych 10 algorytmów, które wywarªy najwi¦kszy wpªyw na rozwój

i praktyk¦ nauki i techniki w XX wieku (wg Computing Science and Engineering)

(4)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wst¦p Idea algorytmu Maszyna Boltzmanna

Stacjonarno±¢ stanów maszyny Boltzmanna

Algorytm Metropolisa  wersja oryginalna

Mamy dany otwarty ukªad termodynamiczny: Ei  energia i-tego stanu.

Problem: znale¹¢ stan o minimalnej energii.

Wykonujemy wielokrotnie: dla danego stanu i-tego wykonujemy statystyczny ruch cz¡stki, otrzymuj¡c stan j-ty. Je»eli

Ej −Ei ≤0, przechodzimy do stanu j-tego bezwarunkowo, w p.p.

przechodzimy do stanu j z prawdopodobie«stwem exp(−(Ej −Ei)

kb·T ),

gdzie kb  staªa Boltzmanna, T  temperatura bezwzgl¦dna.

(5)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wst¦p Idea algorytmu Maszyna Boltzmanna

Stacjonarno±¢ stanów maszyny Boltzmanna

Adaptacja algorytmu Metropolisa

Jak dostosowa¢ ten algorytm do dziedziny problemów

optymalizacyjnych? Wystarczy dokona¢ nast¦puj¡cych uto»samie«:

rozwi¡zanie ↔ stan ukªadu termodynamicznego funkcja oceny ↔ energia ukªadu

przeksztaªcenie lokalne ↔ ruch cz¡stki

optimum globalne ↔ stan o minimalnej energii parametr T ↔ temperatura i staªa Boltzmanna

(6)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wst¦p Idea algorytmu Maszyna Boltzmanna

Stacjonarno±¢ stanów maszyny Boltzmanna

Maszyna Boltzmanna  denicja

Maszyny Boltzmanna to stochastyczna wersja sieci Hopelda zaproponowana przez Hintona i Sejnowskiego w 1985.

Modykacja polega na tym, »e dynamika zadana jest przez algorytm Metropolisa.

(7)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wst¦p Idea algorytmu Maszyna Boltzmanna

Stacjonarno±¢ stanów maszyny Boltzmanna

Dynamika Glaubera  przypomnienie

Dynamika asynchroniczna.

wylosuj neuron σi

je±li spin jest niezgodny z lokalnym polem wypadkowym Mi, zmieniamy go na zgodny z polem wypadkowym Mi

σi =sign(Mi) Przypomnienie  pole wypadkowe Mi =P

jwijσj+hi powtarzamy, a» do ustabilizowania si¦ sytuacji

(8)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wst¦p Idea algorytmu Maszyna Boltzmanna

Stacjonarno±¢ stanów maszyny Boltzmanna

Maszyna Boltzmanna  podstawowe zaªo»enia

Rozwa»my sie¢ rekurencyjn¡ z dynamik¡ asynchroniczn¡ oraz z mechanizmem przej±¢ zgodnym z algorytmem Metropolisa. Przestrze«

konguracji tej sieci stanowi przestrze« stanów ªa«cucha Markowa.

(9)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wst¦p Idea algorytmu Maszyna Boltzmanna

Stacjonarno±¢ stanów maszyny Boltzmanna

Maszyna Boltzmanna  dynamika

wylosuj neuron σi

je±li spin jest niezgodny z lokalnym polem wypadkowym Mi, zmieniamy go na zgodny z polem wypadkowym Mi

σi =sign(Mi)

je±li jest zgodny, zmieniamy go z prawdopodobie«stwem exp(−(E(¯σ0) −E(¯σ))/T ), lub pozostawiamy

z komplementarnym prawdopodobie«stwem Przypomnienie  E(¯σ) = −12P

i6=jwijσiσj −P

ihiσi

(10)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wst¦p Idea algorytmu Maszyna Boltzmanna

Stacjonarno±¢ stanów maszyny Boltzmanna

Uwagi

Rozwa»my dwie konguracje ¯σ i ¯σ0 ró»ni¡ce si¦ na i-tym miejscu.

Niech ¯σ b¦dzie zgodna z lokalnym polem wypadkowym Mi, a ¯σ0 nie.

Wtedy zachodzi:

E(¯σ0) −E(¯σ) = 2|Mi|.

Zatem: exp(−(E(¯σ0) −E(¯σ))/T ) = exp(−2|Mi|/T ).

(11)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wst¦p Idea algorytmu Maszyna Boltzmanna

Stacjonarno±¢ stanów maszyny Boltzmanna

Uwagi

Obie strony równania:

E(¯σ0) −E(¯σ) = 2|Mi| s¡ dodatnie. Zatem 0 < exp(−2|Mi|/T ) < 1.

(12)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wst¦p Idea algorytmu Maszyna Boltzmanna

Stacjonarno±¢ stanów maszyny Boltzmanna

Uwagi

0.2 0.4 0.6 0.8

1

e

-x

(13)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wst¦p Idea algorytmu Maszyna Boltzmanna

Stacjonarno±¢ stanów maszyny Boltzmanna

Algorytmu Metropolisa  rola temperatury

Jaka jest rola temperatury w algorytmie Metropolisa?

Rozwa»my funkcj¦ g(x) = ex/T dla x > 0:

T → +∞, wtedy x/T → 0, wi¦c ex/T 1  ka»de rozwi¡zanie jest akceptowane,

T → 0, wtedy x/T → +∞, wi¦c ex/T 0  akceptowane s¡

tylko lepsze rozwi¡zania.

Dobieraj¡c warto±¢ parametru T > 0 ustalamy zakres tolerancji

dla rozwi¡za« o wi¦kszej energii ukªady w stosunku do poprzedniego rozwi¡zania.

Algorytm Metropolisa dobrze jest startowa¢ wiele razy, na ko«cu wybiera si¦ najlepsze rozwi¡zanie; dziaªa to jak wzmacniacz

(14)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wst¦p Idea algorytmu Maszyna Boltzmanna

Stacjonarno±¢ stanów maszyny Boltzmanna

Stacjonarno±¢ stanów maszyny Boltzmanna

Twierdzenie. Rozkªad stacjonarny dla ªa«cucha Markowa zadanego przez stany maszyny Boltzmanna ma posta¢:

P(¯σ) = exp(−E(¯σ)/T ) P

¯

σ0exp(−E(¯σ0)/T ) = exp(−E(¯σ)/T ) Z(T ) , gdzie Z(T ) jest czynnikiem normalizuj¡cym znanym jako funkcja rozdziaªu. Dzi¦ki tej funkcji mamy do czynienia z prawdziwym prawdopodobie«stwem. Rozkªad ten jest zwany miar¡ Gibbsa.

(15)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wst¦p Idea algorytmu Maszyna Boltzmanna

Stacjonarno±¢ stanów maszyny Boltzmanna

Dowód stacjonarno±ci

Udowodnijmy stacjonarno±¢ zadanego ªa«cucha Markowa. Niech A i B b¦d¡ dowolnymi stanami nale»¡cymi do tego ªa«cucha. π jest rozkªadem stacjonarnym zadanego ªa«cucha Markowa o macierzy przej±cia P. Wtedy:

PAB  p-stwo przej±cia ze stanu A do B w jednym kroku πA  p-stwo znalezienia si¦ w stanie A

πA·PAB  p-stwo wychodz¡ce z A do B πA· (P

BPAB) = πA  p-stwo wychodz¡ce z A PBπBPBA  p-stwo wchodz¡ce do A

(16)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wst¦p Idea algorytmu Maszyna Boltzmanna

Stacjonarno±¢ stanów maszyny Boltzmanna

Dowód stacjonarno±ci

Twierdzenie. Ša«cuch jest stacjonarny ⇔ p-stwo wchodz¡ce = p-stwo wychodz¡ce dla ka»dego stanu, czyli:

A(X

B

πBPBA= πA· (X

B

PAB) = πA)

Powy»sza równo±¢ zachodzi zawsze, je±li speªniony jest warunek:

A,BBPBA= πAPAB), poniewa»:

A(X

B

πBPBA =X

B

πAPAB).

(17)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wst¦p Idea algorytmu Maszyna Boltzmanna

Stacjonarno±¢ stanów maszyny Boltzmanna

Dowód stacjonarno±ci

Poka»emy teraz, »e dla naszego ªa«cucha zachodzi:

A,BBPBA= πAPAB), czym udowodnimy jego stacjonarno±¢.

(18)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wst¦p Idea algorytmu Maszyna Boltzmanna

Stacjonarno±¢ stanów maszyny Boltzmanna

Dowód stacjonarno±ci

Rozwa»my dwie konguracje ¯σ i ¯σ0 ró»ni¡ce si¦ na i-tym miejscu.

Niech ¯σ b¦dzie zgodna z lokalnym polem wypadkowym Mi, a ¯σ0 nie.

Wówczas przepªyw z ¯σ0 do ¯σ wynosi P(¯σ0) · 1

N ·1 = exp(−E(¯σ0)/T ) NZ(T ) ,

gdzie N to dªugo±¢ wektora reprezentuj¡cego konguracj¦ sieci.

(19)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wst¦p Idea algorytmu Maszyna Boltzmanna

Stacjonarno±¢ stanów maszyny Boltzmanna

Dowód stacjonarno±ci

Z drugiej strony, przepªyw z ¯σ do ¯σ0 wynosi:

P(¯σ)·1

N·exp(−2|Mi|/T ) = exp(−E(¯σ)/T ) Z(T )

exp(−(E(¯σ0) −E(¯σ))/T ) N

= exp(−E(¯σ0)/T ) NZ(T )

Zatem przepªyw z ¯σ do ¯σ0 wynosi tyle samo, co przepªyw z ¯σ0 do ¯σ, co ko«czy dowód.

(20)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wst¦p

Algorytm symulowanego wy»arzania

Motywacja

W procesie minimalizacji energii tak jak na pocz¡tku dziaªania algorytmu dopuszczalne jest chaotyczne zachowanie, które mo»e umo»liwi¢ znalezienie odpowiedniego obszaru przestrzeni

energetycznej (takiej o du»ym spadku, która sugeruje blisko±¢

minimum globalnego), tak w okolicach globalnego minimum nie opªaca si¦ ju» skakanie do wy»szych terenów, bo opó¹nia to tylko osi¡gni¦cie owego minimum.

Dla maszyn Boltzmanna stosuje si¦ dwa popularne algorytmy regulacji temperatury - symulowane wy»arzanie (simulated annealing) i symulowane studzenie (simulated tempering).

(21)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wst¦p

Algorytm symulowanego wy»arzania

Wy»arzanie w termodynamice

Wy»arzanie  jest operacj¡ ciepln¡ polegaj¡c¡ na nagrzaniu elementu stalowego (lub szkªa) do odpowiedniej temperatury, przetrzymaniu w tej temperaturze jaki± czas, a nast¦pnie powolnym schªodzeniu.

Ma gªównie ono na celu doprowadzenie stali do równowagi termodynamicznej w stosunku do stanu wyj±ciowego, który jest znacznie odchylony od stanu równowagowego.

(22)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wst¦p

Algorytm symulowanego wy»arzania

Wy»arzanie w termodynamice

W wysokiej temperaturze cz¡steczki cieczy poruszaj¡ si¦

swobodnie, lecz gdy zaczniemy obni»a¢ temperatur¦, cz¡steczki zaczynaj¡ porusza¢ si¦ coraz wolniej tworz¡c stopniowo

uporz¡dkowan¡ struktur¦  krysztaª.

Stan ten cechuj¦ si¦ minimaln¡ mo»liw¡ energi¡ (regularn¡

struktur¡).

Warunkiem koniecznym, aby ciecz utworzyªa struktur¦

krystaliczn¡, jest powolne ochªadzanie ukªadu, w przeciwnym wypadku otrzymamay struktur¦, której energia jest wy»sza.

(23)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wst¦p

Algorytm symulowanego wy»arzania

(24)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wst¦p

Algorytm symulowanego wy»arzania

Symulowane wy»arzanie

Poª¡czenie dwóch heurystyk:

algorytm Metropolisa schemat chªodzenia

W istocie symulowane wy»arzanie jest to algorytm Metropolisa ze zmienn¡ temperatur¡.

(25)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wst¦p

Algorytm symulowanego wy»arzania

Dynamika MB z symulowanym wy»arzaniem

przypisz numer bie»¡cej iteracji k = 1 oraz temperatur¦

T = cτ(k), gdzie c jest to dodatni parametr wylosuj neuron σi

je±li spin jest niezgodny z lokalnym polem wypadkowym Mi, zmie« go

σi =sign(X

j

wijσj +hi) je±li jest zgodny, zmie« go z prawdopodobie«stwem exp(−2|Mi|/T )

zwi¦ksz k o jeden oraz zaktualizuj warto±¢ temperatury T = cτ(k)

(26)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wst¦p

Algorytm symulowanego wy»arzania

Schematy chªodzenia

schemat logarytmiczny (Boltzmanna): τ(k) = 1/ log k schemat liniowy (Cauchy'ego) τ(k) = 1/k

schemat geometryczny τ(k) = ak, gdzie 0 < a < 1

schemat logarytmiczny (w przeciwie«stwie do pozostaªych) gwarantuje (przy pewnych naturalnych zaªo»eniach) znalezienie optimum globalnego z prawdopodobie«stwem 1, jednak ±redni czas potrzebny do jego osi¡gni¦cia jest porównywalny

z rozmiarem przestrzeni rozwi¡za«

badania empiryczne sugeruj¡, »e najwi¦ksz¡ przydatno±¢

praktyczn¡ ma schemat geometryczny (najszybszy)

(27)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wst¦p

Algorytm symulowanego wy»arzania

-10 -5

0 0

5 -2.5 10

-2 -1.5 -1 -0.5 0

(28)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wprowadzenie

Algorytm  zaªo»enia ogólne Dywergencja Kullbacka-Leiblera Algorytm

Problem przeszukiwania przestrzeni

Maszyny Boltzmanna s¡ zasadniczo u»ywane do rozwi¡zywania dwóch ró»ni¡cych si¦ obliczeniowo problemów. Pierwszy z nich to problem przeszukiwania przestrzeni stanów, w którym wagi dla poª¡cze« s¡

staªe i s¡ wykorzystywane do reprezentacji energii. Natomiast

stochastyczna dynamika maszyny Botzmanna umo»liwia próbkowanie wektorów stanów, dla których funkcja energetyczna ma maªe warto±ci.

(29)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wprowadzenie

Algorytm  zaªo»enia ogólne Dywergencja Kullbacka-Leiblera Algorytm

Problem uczenia maszyn Boltzmanna

W problemie uczenia maszyny Boltzmanna dany jest zbiór przykªadów, który zadaje miar¦ probabilistyczn¡ (empiryczn¡).

Maszyna Boltzmanna jest uczona tak, »eby rozkªad stacjonarny ªa«cucha Markowa zadanego przez t¦ maszyn¦ byª jak najbardziej zbli»ony do rozkªadu miary empirycznej. W tym celu poszukiwane s¡

odpowiednie wagi poª¡cze«. W trakcie nauki maszyna Boltzmanna wykonuje wiele maªych uaktualnie« swoich wag.

(30)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wprowadzenie

Algorytm  zaªo»enia ogólne Dywergencja Kullbacka-Leiblera Algorytm

Architektura maszyny Boltzmanna

Mamy zadan¡ sie¢ skªadaj¡c¡ si¦ z warstwy wej±ciowej, warstwy wyj±ciowej i jednostek ukrytych.

Konguracj¦ warstwy wej±ciowej opisujemy za pomoc¡ wektora αi, warstwy wyj±ciowej za pomoc¡ wektora α0, przez wektor α b¦dziemy opisywa¢ konguracj¦ obu widocznych warstw, tzn.

wektor α powstaje w wyniku scalenia wektorów αi i α0.

Konguracj¦ jednostek ukrytych opisujemy za pomoc¡ wektora β.

(31)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wprowadzenie

Algorytm  zaªo»enia ogólne Dywergencja Kullbacka-Leiblera Algorytm

Architektura maszyny Boltzmanna

Tak jak w sieci Hopelda mo»emy mie¢ do czynienia ze

struktur¡, w której ka»da para jednostek jest ze sob¡ poª¡czona.

Niestety uczenie sieci o takiej strukturze poª¡cze« jest bardzo czasochªonne. Dlatego struktury z mniejsz¡ ilo±ci¡ poª¡cze« s¡

po»¡dane.

Nie wyró»niamy »adnej konkretnej struktury poª¡cze« mi¦dzy jednostkami, ró»ne problemy ró»ne struktury.

(32)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wprowadzenie

Algorytm  zaªo»enia ogólne Dywergencja Kullbacka-Leiblera Algorytm

Architektura maszyny Boltzmanna

wyjście

i j wij

{ {

i 0

Maszyna Boltzmanna z dowoln¡ struktur¡

poª¡cze«.

(33)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wprowadzenie

Algorytm  zaªo»enia ogólne Dywergencja Kullbacka-Leiblera Algorytm

Ograniczona maszyna Boltzmanna

Ograniczona maszyna Boltzmanna jest to wersja maszyny Boltzmanna, w której:

ka»da jednostka, ukryta jest poª¡czona z ka»d¡ jednostk¡

widoczn¡

nie ma poª¡cze« mi¦dzy jednostkami widocznymi nie ma poª¡cze« mi¦dzy jednostkami ukrytymi

(34)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wprowadzenie

Algorytm  zaªo»enia ogólne Dywergencja Kullbacka-Leiblera Algorytm

Ograniczona maszyna Boltzmanna

wyjście

i 0

{

Architektura

ograniczonej maszyna Boltzmanna.

(35)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wprowadzenie

Algorytm  zaªo»enia ogólne Dywergencja Kullbacka-Leiblera Algorytm

Architektura maszyny Boltzmanna

Ukryte neurony s¡ to jednostki, których stan nie jest brany pod uwag¦

jako cz¦±¢ wzorca zapami¦tywanego w procesie uczenia. Jednostki ukryte pozwalaj¡ zwi¦kszy¢ moc obliczeniow¡ sieci.

(36)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wprowadzenie

Algorytm  zaªo»enia ogólne Dywergencja Kullbacka-Leiblera Algorytm

Zaªo»enia ogólne

Niech Q(α) oznacza rozkªad empiryczny po zbiorze danych, a P(α) rozkªad stacjonarny w maszynie Boltzmanna zale»ny jedynie od wag i temperatury T (temperatura jest staªa w trakcie uczenia).

Prawdopodobie«stwo konguracji widocznych jednostek jest to suma po wszystkich konguracjach ukrytych jednostek:

P(α) =X

β

P(α, β) = P

βexp(−Eαβ/T )

Z(T ) ,

gdzie Eαβ jest to energia systemu w konguracji zdeniowanej przez widoczne i ukryte jednostki, natomiast Z(T ) tak jak poprzednio jest to funkcja rozdziaªu.

(37)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wprowadzenie

Algorytm  zaªo»enia ogólne Dywergencja Kullbacka-Leiblera Algorytm

Denicja

Dywergencja Kullbacka-Leiblera (rozbie»no±¢ Kullbacka-Lieblera, entropia wzgl¦dna) jest miar¡ stosowan¡ w statystyce i teorii informacji do okre±lenia rozbie»no±ci mi¦dzy dwoma rozkªadami prawdopodobie«stwa p i q. Czasem zwana jest te» odlegªo±ci¡

Kullbacka-Leiblera, w rzeczywisto±ci nie jest to jednak prawdziwa metryka, gdy» nie jest symetryczna ani nie speªnia nierówno±ci trójk¡ta. Entropia wzgl¦dna przyjmuje zawsze warto±ci nieujemne, przy czym 0 wtedy i tylko wtedy, gdy porównywane rozkªady s¡

identyczne.

(38)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wprowadzenie

Algorytm  zaªo»enia ogólne Dywergencja Kullbacka-Leiblera Algorytm

Denicja

Dywergencja Kullbacka-Leiblera dla rozkªadów dyskretnych dana jest wzorem:

DKL(q, p) =X

i

q(i) log2 q(i) p(i)

W powy»szej denicji przyjmuje si¦, »e q reprezentuje dane rzeczywiste, za± p teoretyczny model.

(39)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wprowadzenie

Algorytm  zaªo»enia ogólne Dywergencja Kullbacka-Leiblera Algorytm

Dywergencja Kullbacka-Leiblera

Naszym celem jest znalezienie takiego zestawu wag, który

minimalizuje rozbie»no±¢ Kullbacka-Lieblera rozkªadów Q(α) i P(α):

DKL(Q(α), P(α)) =X

α

Q(α)logQ(α) P(α).

(40)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wprowadzenie

Algorytm  zaªo»enia ogólne Dywergencja Kullbacka-Leiblera Algorytm

Uczenie maszyny Boltzmanna

Uczenie opiera si¦ na metodzie spadku gradientowego. Dla zbioru wzorców ucz¡cych Q(α) poszukujemy wag takich, »e w pewnej temperaturze T aktualny rozkªad P(α) (rozkªad stacjonarny ªa«cucha Markowa generowanego przez kolejne stany maszyny Boltzmanna) pasuje do Q(α) tak bardzo, jak to jest tylko mo»liwe.

(41)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wprowadzenie

Algorytm  zaªo»enia ogólne Dywergencja Kullbacka-Leiblera Algorytm

Uwagi

Pracujemy w kodowaniu {0, 1} lub {−1, 1}. Entropia wzgl¦dna dla kodowa« binarnych jest funkcj¡ wypukª¡, zatem posiada dokªadnie jedno minimum, do którego w wyniku dziaªania metody spadku gradientowego zbiega.

Nie dopuszczamy pól zewn¦trznych, ale za to dopuszczamy wagi wychodz¡ce i wchodz¡ce do tej samej jednostki wii.

(42)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wprowadzenie

Algorytm  zaªo»enia ogólne Dywergencja Kullbacka-Leiblera Algorytm

Uczenie maszyny Boltzmanna

Wagi s¡ modykowane za pomoc¡ wyra»enia:

∆wij = −η∂Dkl

∂wij = −η ∂

∂wij(X

α

Q(α)logQ(α) P(α))

= −ηX

α

(∂Q(α)

∂wij logQ(α)

P(α) +Q(α) ∂

∂wij(logQ(α) P(α)))

= −ηX

α

Q(α)(∂logQ(α)

∂wij −∂logP(α)

∂wij )

= ηX

α

Q(α) 1 P(α)ln2

∂P(α)

∂wij = ηX

α

Q(α) P(α)

∂P(α)

∂wij ,

(43)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wprowadzenie

Algorytm  zaªo»enia ogólne Dywergencja Kullbacka-Leiblera Algorytm

Uczenie maszyny Boltzmanna

Prawdopodobie«stwo Q(·) nie zale»y od wag zatem ∂Q(α)/∂wij =0.

W powy»szym wzorze na aktualizacj¦ wag wyra»enie, w którym

∂Q(α)/∂wij =0 byªo czynnikiem zostaªo ju» pomini¦te.

(44)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wprowadzenie

Algorytm  zaªo»enia ogólne Dywergencja Kullbacka-Leiblera Algorytm

Uczenie maszyny Boltzmanna

∆wij = ηX

α

Q(α) P(α)

∂P(α)

∂wij ,

∂P(α)

∂wij = ∂(

P

βeEαβ/T Z(T ) )

∂wij

=

∂(P

βeEαβ/T)

wij Z(T ) −∂(Z(T ))wij P

βeEαβ/T Z(T )2

=

∂(P

βeEαβ/T)

∂wij

Z(T ) −

∂(Z(T ))

∂wij

P

βeEαβ/T Z(T )2

(45)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wprowadzenie

Algorytm  zaªo»enia ogólne Dywergencja Kullbacka-Leiblera Algorytm

Uczenie maszyny Boltzmanna

=

∂(P

βeEαβ/T)

wij

Z(T ) −

∂(Z(T ))

wij

P

βeEαβ/T Z(T )2

= P

βeEαβ/T ∂(−Ewαβij/T )

Z(T ) −

∂(P

αβeEαβ/T)

wij

P

βeEαβ/T Z(T )2

= P

βeEαβ/T ∂(−(−12Pwi,jijwijσiσj))

TZ(T ) −

∂(P

αβeEαβ/T)

wij

P

βeEαβ/T Z(T )2

(46)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wprowadzenie

Algorytm  zaªo»enia ogólne Dywergencja Kullbacka-Leiblera Algorytm

Uczenie maszyny Boltzmanna

= P

βeEαβ/Tσiσj TZ(T ) − (P

αβeEαβ/Tσiσj)(P

βeEαβ/T) TZ(T )2

= P

βP(α, β)σiσj

T −(P

αβP(α, β)σiσj)(P

βP(α, β)) T

= 1 T[X

β

σiσjP(α, β) − hσiσjiPP(α)]

(47)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wprowadzenie

Algorytm  zaªo»enia ogólne Dywergencja Kullbacka-Leiblera Algorytm

Uczenie maszyny Boltzmanna

Z wyra»e«:

∆wij = ηX

α

Q(α) P(α)

∂P(α)

∂wij ,

∂P(α)

∂wij = 1 T(X

β

σiσjP(α, β) − P(α)hσiσjiP] wynika:

∆wij = η T[X

α

Q(α) P(α)(X

β

σiσjP(α, β) − P(α)hσiσjiP)]

= η T[X

Q(α)P(β|α)σiσj−X

Q(α)hσiσjiP]

(48)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wprowadzenie

Algorytm  zaªo»enia ogólne Dywergencja Kullbacka-Leiblera Algorytm

Modykacja wag

∆wij = [hσiσjiQ− hσiσjiP], gdzie:

iσjiQ =X

αβ

Q(α)P(β|α)σiσj

iσjiP =X

αβ

P(α, β)σiσj

(49)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wprowadzenie

Algorytm  zaªo»enia ogólne Dywergencja Kullbacka-Leiblera Algorytm

Obliczanie hσ

i

σ

j

i

Q

metod¡ Monte-Carlo

iσjiQ =X

αβ

Q(α)P(β|α)σiσj

1iσjiQ =0.

2 Dla ka»dego α wykonujemy:

1 Spiny jednostek ukrytych ustawiamy w sposób losowy.

2 Po kolei ustawiamy jednostki widoczne zgodnie z warto±ci¡ α.

3 Jednostki widocznie zamra»amy (w wyniku dynamiki maszyny Boltzmanna swoje spiny mog¡ zmienia¢ tylko jednostki ukryte).

4 Symulujemy dynamik¦ maszyny Boltzmanna.

Próbkujemy σ .

(50)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wprowadzenie

Algorytm  zaªo»enia ogólne Dywergencja Kullbacka-Leiblera Algorytm

Obliczanie hσ

i

σ

j

i

P

metod¡ Monte-Carlo

iσjiP =X

αβ

P(α, β)σiσj

1iσjiP =0.

2 Wykonujemy k-krotnie:

1 Spiny wszystkich jednostek ustawiamy w sposób losowy.

2 Symulujemy dynamik¦ maszyny Boltzmanna.

3 Próbkujemy σiσj.

4 iσjiP = hσiσjiP + σiσj.

3iσjiP = 1kiσjiP.

(51)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wprowadzenie

Algorytm  zaªo»enia ogólne Dywergencja Kullbacka-Leiblera Algorytm

Modykacja wag

Je±li mamy do czynienia z funkcj¡ bez jednostek ukrytych, wtedy:

∆wij = [hσiσjiQ− hσiσjiP], gdzie:

iσjiQ =X

α

Q(α)σiσj

iσjiP =X

α

P(α)σiσj

iσjiQ liczymy bezpo±rednio z danych

(52)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Wprowadzenie

Algorytm  zaªo»enia ogólne Dywergencja Kullbacka-Leiblera Algorytm

Tryb odtwarzania wzorca

Gdy sie¢ zostanie ju» nauczona i dla danego wektora wej±¢ chcemy znale¹¢ odpowiadaj¡cy mu wektor wyj±¢, jednostki wej±ciowe ustawiamy zgodnie z warto±ciami wektora wej±ciowego, nast¦pnie je zamra»amy. Pozostaªe jednostki modykujemy zgodnie z dynamik¡

symulowanego wy»arzania.

(53)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Algorytm Wyniki

Specykacja problemu

Niech ¯y = [y1,y2, ...,yn]b¦dzie zaszumionym obrazem, który chcemy odszumi¢ przy pomocy maszyny Boltzmanna.

Niech ¯x = [x1,x2, ...,xn]b¦dzie obrazem reprezentowanym przez bie»¡cy stan sieci.

Przed odszumianiam obrazu przez maszyn¦ Boltzmanna, stany neuronów/jednostek wej±ciowych musz¡ by¢ zdeterminowane przez obraz zaszumiony ¯x = ¯y.

Po zako«czeniu dziaªania maszyny Boltzmana zwracany jest stan

¯x, który reprezentuje obraz odszumiony.

(54)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Algorytm Wyniki

Hamiltonian

Okre±lamy hamiltonian (funkcj¦ energetyczn¡):

H(¯x|¯y) = βX

i∼j

(xi−xj)2+ 1 2σ2

X

i

(xi−yi)2.

Znak ∼ oznacza relacj¦ s¡siedztwa pikseli. Pierwszy wyraz

hamiltonianu karze za niegªadko±¢ obrazu, drugi za± za odlegªo±¢ od danych wej±ciowych (reprezentuj¡cych obraz zaszumiony).

(55)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Algorytm Wyniki

S¡siedztwo

Piksel ma za s¡siadów piksele, Piksel ma za s¡siadów piksele, które stykaj¡ si¦ z nim bokiem lub

(56)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Algorytm Wyniki

Likidacja niegªadko±ci

Piksel zielony ró»ni si¦ od swoich s¡siadów. W wyniku dziaªania pierwszego wyrazu hamiltonianu zostanie mu przypisany taki kolor, jaki maj¡ jego s¡siedzi.

(57)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Algorytm Wyniki

Hamiltonian

Powy»sza posta¢ hamiltonianu niszczy du»e kontrasty! By temu zapobiec modykujemy jej pierwszy wyraz:

H(¯x|¯y) = βX

i∼j

ψ(xi −xj) + 1 2σ2

X

i

(xi −yi)2, gdzie na przykªad:

ψ(u) = −1

1 + |u|/σ, ψ(u) = −1 1 + (|u|/σ)2.

(58)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Algorytm Wyniki

Hamiltonian

-1 -0.5 0 0.5 1

0 0.2 0.4 0.6 0.8 1

x*x -1/(1+x) -1/(1+x*x)

(59)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Algorytm Wyniki

Hamiltonian

-0.9 -0.8 -0.7 -0.6 -0.5 -0.4

-1/(1+x*x) -1/(1+x*x/4) -1/(1+x*x/9) -1

-0.9 -0.8 -0.7 -0.6 -0.5 -0.4

0 0.2 0.4 0.6 0.8 1

-1/(1+x) -1/(1+x/2) -1/(1+x/3)

(60)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Algorytm Wyniki

Algorytm

zapami¦tujemy wej±ciowy obraz ¯x = ¯y, wektor ¯x b¦dzie reprezentowaª stan ukªadu ↔ b¦dzie podlegaª modykacjom poni»sze kroki wykonujemy wielokrotnie

wylosuj piksel do zmiany wylosuj zmian¦

je±li w wyniku zastosowania zmiany zmniejszy si¦ energia, przejd¹ od ¯x do ¯x0

je±li si¦ nie zmniejszy, to te» przejd¹ ale z prawdopodobie«stwem exp(−(H(¯x0y) − H(¯x|¯y)))

(61)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Algorytm Wyniki

Uwagi do algorytmu

parametry σ oraz β s¡ to dodanie staªe, które nale»y dobra¢

eksperymentalnie

licz¡c hamiltonian w danej iteracji algorytmu bierzemy pod uwag¦ tylko warto±ci wylosowanego piksela oraz jego s¡siadów mo»na zastosowa¢ symulowane wy»arzanie

(62)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Algorytm Wyniki

Uwagi do algorytmu

mo»na zastosowa¢ inn¡ posta¢ hamiltonianu np. dla wyrazu karz¡cego niegªadko±¢ obrazu:

βX

i∼j

|xi−xj|,

lub dla wyrazu karz¡cego za odlegªo±¢ od danych wej±ciowych:

1 2σ2

X

i

|xi −yi|

(63)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Algorytm Wyniki

Pierwszy przykªad

Obraz oryginalny.

Obraz zaszumiony.

(64)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Algorytm Wyniki

Pierwszy przykªad

Obraz oryginalny.

Obraz odszumiony

 pierwszy przykªad.

(65)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Algorytm Wyniki

Pierwszy przykªad

Obraz oryginalny.

Obraz odszumiony

 drugi przykªad.

(66)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Algorytm Wyniki

Drugi przykªad

(67)

Algorytm Metropolisa Symulowane wy»arzanie Uczenie maszyn Boltzmanna Maszyna Boltzmanna w analizie obrazów

Algorytm Wyniki

Drugi przykªad

Cytaty

Powiązane dokumenty

Generalizacja jest zdolno±ci¡ sieci do porawnej klasykacji danych, na których sie¢ nie byªa uczona... Generalizacja Walidacja jako±ci uczenia Bª¦dy klasykacji

3 Przyjmuje si¦, »e dla danych o zerowej warto±ci ±redniej pierwsza skªadowa gªówna le»y wzdªu» kierunku maksymalnej wariancji. Druga skªadowa gªówna jest ograniczona

Maszyny Boltzmanna to stochastyczna wersja sieci Hopelda zaproponowana przez Hintona i Sejnowskiego w 1985.. Modykacja polega na tym, »e dynamika zadana jest przez

Reguªa, w której modykuje si¦ nie tylko wagi zwyci¦zcy, ale równie» jego s¡siadów, jest zwana reguª¡ WTM (Winer Takes

Nast¦pnie przykªady wstawia si¦ do kategorii o najbli»szym ±rodku ci¦»ko±ci, za ka»dym razem aktualizuj¡c ±rodek ci¦»ko±ci powi¦kszanej kategorii. Ale czy to jest

funkcje boolowskie nieseparowalne za pomoc¡ funkcji liniowej nie mog¡ by¢ odwzorowane przez klasyczny perceptron.. liczba funkcji boolowskich separowalnych liniowo jest bardzo maªa

Przeprowadź kilka (maksymalnie 3) kroków algorytmu uczącego (może być SPLA).. • (**) Zapoznaj się z modelem biologicznym

(E) Czy podany łańcuch Markowa zadany przez graf jest nieprzywiedlny / aperiodyczny