• Nie Znaleziono Wyników

2014-01-21 M.Czoków,J.Piersa Wstępdosiecineuronowych,wykład14MaszynaBoltzmanna

N/A
N/A
Protected

Academic year: 2021

Share "2014-01-21 M.Czoków,J.Piersa Wstępdosiecineuronowych,wykład14MaszynaBoltzmanna"

Copied!
44
0
0

Pełen tekst

(1)

Wstęp do sieci neuronowych, wykład 14 Maszyna Boltzmanna

M. Czoków, J. Piersa

Faculty of Mathematics and Computer Science, Nicolaus Copernicus University, Toruń, Poland

2014-01-21

(2)

Problemy z siecią Hopfilda

minima logalne

tendencje do oscylacji (dynamika synchroniczna) płytkie baseny atrakcyjne

(3)

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 „najwiekszy wpływ na rozwój i praktyke nauki i techniki w XX wieku” (wg Computing Science and Engineering)

(4)

Algorytm Metropolisa — wersja orginalna

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

Cel: znaleźć stan o minimalnej energii

(5)

Algorytm Metropolisa — wersja orginalna

Algorytm:

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

(6)

Adaptacja algorytmu Metropolisa

Jak dostosować ten algorytm do dziedziny problemów optymalizacyjnych?

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

(7)

Rola „temperatury” T w algorytmie Metropolisa

Rozważmy funkcję g (x ) = e−x/T dla x > 0

T → +∞ wtedy x /T → 0, więc e−x/T → 1 — każde rozwiązanie jest akceptowane

T → 0 wtedy x /T → +∞, więc e−x/T → 0 — akceptowane są tylko lepsze rozwiązania (patrz dynamika Glaudera)

interpretacja: T > 0 — „zakres tolerancji” dla gorszych rozwiazań

(8)

Maszyna Boltzmanna — definicja

Maszyny Boltzmanna to stochastyczna wersja sieci Hopfielda zaproponowana w pracy Ackley, Hinton, Sejnowski, 1985 doi:10.1016/S0364-0213(85)80012-4

Modyfikacja polega na tym, że dynamika zadana jest przez algorytm Metropolisa.

(9)

Dynamika Glaubera — przypomnienie

Dynamika asynchroniczna w temperaturze 0.

wylosuj neuron σi

jeśli spin jest niezgodny z lokalnym polem wypadkowym Mi, zmieniamy go

σi = sign(X

j

wijσj + hi) Przypomnienie - pole wypadkowe Mi =P

jwijσj + hi powtarzamy aż do ustabilizowania się sytuacji

(10)

Maszyna Boltzmanna — podstawowe założenia

Rozważmy sieć rekurencyjną z dynamiką asynchroniczną Przestrzeń konfiguracji tej sieci stanowi przestrzeń stanów łańcucha Markowa

Zadajmy mechanizm przejść zgodny z algorytmem Metropolisa

(11)

Maszyna Boltzmanna — dynamika

wylosuj neuron σi

jeśli spin jest niezgodny z lokalnym polem wypadkowym Mi, zmieniamy go

σi = sign(X

j

wijσj + hi)

jeśli jest zgodny, zmieniamy go z prawdopodobieństwem exp(−2|Mi|/T ), lub pozostawiamy z komplementarnym prawdopodobieństwem

powtarzamy aż do „ustabilizowania się sytuacji”

(12)

Uwagi

Rozważmy dwie konfiguracje ¯σ i ¯σ0 różniące się na i -tym miejscu Niech ¯σ będzie zgodna z lokalnym polem wypadkowym Mi, a ¯σ0 niepożądanym

Wtedy zachodzi:

E (¯σ0) − E (¯σ) = 2|Mi| Zatem zachodzi

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

(13)

Uwagi

Obie strony równania

E (¯σ0) − E (¯σ) = 2|Mi| są dodatnie

Zatem 0 < exp(−2|Mi|/T ) < 1.

(14)

Uwagi

0 2 4 6 8 10

-2 -1 0 1 2 3 4 5

(15)

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.

(16)

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.

(17)

Dowód stacjonarności

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 P

BπBPBA — p-stwo wchodzące do A

(18)

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

(19)

Dowód stacjonarności

Pokażemy teraz, że dla naszego łańcucha zachodzi

A,BBPBA= πAPAB), czym udowodnimy jego stacjonarność.

(20)

Dowód stacjonarności

Rozważmy dwie konfiguracje ¯σ 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 1

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

gdzie N to długość wektora reprezentującego konfigurację sieci.

(21)

Dowód stacjonarności

Z drugiej strony, przepływ z ¯σ do ¯σ0 wynosi exp(−2|Mi|/T )

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

exp(−E (¯σ)/T ) Z (T )

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

(22)

Energia a rozkład stacjonarny

-2 -1 0 1 2 3 4

0 0.2 0.4 0.6 0.8 1

energia beta = 0.1 beta = 1.0 beta = 2.0 beta = 5.0 beta = 20.0

(23)

Symulowane wyżarzanie — motywacja

W procesie minimalizacji energii bardzo niepożądanym

zjawiskiem jest nagły skok do stanu o wyższej energii, gdy już było „dość dobrze”.

Na początku działania algorytmu dopuszczalne jest chaotyczne zachowanie, które może pozwolić znaleźć odpowiedni obszar przestrzeni energetycznej (taki o dużym spadku, który sugeruje bliskość minimum globalnego),

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.

(24)
(25)

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

(26)

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 ), lub zostaw

zwiększ k o jeden oraz zaktualizuj wartość temperatury T = cτ (k)

powtarzaj, aż osiągniesz temperaturę równą lub bliską 0 i stan się ustabilizuje

(27)

Schematy chłodzenia

schemat logarytmiczny (Boltzmanna): τ (k) = 1/ log k,

schemat liniowy (Cauchy’ego) τ (k) = 1/k, dla małego k > 0 np.

k = 1/4

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)

(28)

-10 -5

0 5

10 -10 -5

0 5 -2.5 10

-2 -1.5 -1 -0.5 0

(29)

Ewolucja maszyny Boltzmanna w wysokiej temperaturze

click

(30)

Ewolucja maszyny Boltzmanna w niskiej temperaturze

click

(31)

Problem przeszukiwania przestrzeni

Maszyny Boltzmanna są zasadniczo używane do rozwiązywania dwóch różnych obliczeniowych problemów.

przeszukiwanie przestrzeni stanów, w którym wagi dla połączeń są stałe i są wykorzystywane do reprezentacji funkcji kosztu próbkowanie wektorów stanów, które mają małe wartości funkcji kosztu.

(32)

Problem uczenia maszyn Boltzmanna

Dane:

zbiór przykładów, który odzwierciedla „częstość występowania”

(zadaję miarę probabilistyczną (empiryczną) na zbiorze konfiguracji sieci)

Wynik:

wagi połączeń sieci, tak aby generowała te dane z zadanym prawdopodobieństwem.

(33)

Architektura maszyny Boltzmanna

warstwa wejściowa, warstwa wyjściowa i jednostki ukryte.

Konfigurację warstwy wejściowej = αi, warstwy wyjściowej = α0, przez wektor α konfiguracja obu widocznych warstw, (tzn.

„scalone” wektory αi i α0)

Konfiguracja jednostek ukrytych = β.

Jednostki ukryte nie tworzą warstw.

Nie wyróżniamy żadnej konkretnej struktury połączeń między jednostkami.

(34)

Architektura maszyny Boltzmanna

wejście wyjście

i j wij

{

i 0

(35)

Architektura maszyny Boltzmanna

Ukryte neurony nie są brane pod uwagę jako część zapamiętanego wzorca w procesie uczenia

Jednostki ukryte pozwalają zwiększyć moc obliczeniową sieci (uwalniając ją od statystyki drugiego rzędu i zapamiętywania wzorców wyłącznie na podstawie korelacji między parami elementów

(36)

Uwagi

pracujemy w kodownaiu 0, 1 lub −1, 1.

nie ma pól zewnetrznych, ale dopuszczamy wagi wii dla kodowania 0, 1

(37)

Założenia ogólne

Q(α) — rozkład empiryczny po zbiorze danych

P(α) — rozkład stacjonarny w maszynie Boltzmanna, zależny tylko od wag i temperatury T (= const w trakcie uczenia) Prawdopodobieństwo konfiguracji widocznych jednostek:

P(α) =X

β

P(α, β) = P

βexp(−Eαβ/T ) Z (T ) , gdzie Eαβ — energia przy zadanych α i β

Z (T ) — jak wcześniej

(38)

Entropia względna

Cel: znalezienie takiego zestawu wag, który minimalizuje entropię względną (rozbieżność Kullbacka-Lieblera) tych dwóch rozkładów:

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

α

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

intuicyjne: „odległość między rozkładami P i Q”

jeżeli P i Q są identyczne, to DKL(Q, P) = 0

(39)

Uczenie maszyny Boltzmanna

gradien descent

uaktualniamy wagi zgodnie ze wzorem:

∆wij = −η∂Dkl

∂wij = ηX

α

Q(α) P(α)

∂P(α)

∂wij , η — współczynnik uczenia

zauważmy że Q jest zadane i nie zależy od wag: ∂Q(α)∂w

ij = 0

(40)

Uczenie maszyny Boltzmanna

∆wij = ηX

α

Q(α) P(α)

∂P(α)

∂wij ,

∂P(α)

∂wij = ∂(

P

βe−Eαβ /T Z (T ) )

∂wij

=

∂(P

βexp−Eαβ /T)

∂wij Z (T ) − ∂(Z (T ))∂w

ij

P

βe−Eαβ/T Z (T )2

=

∂(P

βexp−Eαβ /T)

∂wij

Z (T )

∂(Z (T ))

∂wij

P

βe−Eαβ/T Z (T )2

(41)

Uczenie maszyny Boltzmanna

=

∂(P

βexp−Eαβ /T)

∂wij

Z (T )

∂(Z (T ))

∂wij

P

βe−Eαβ/T Z (T )2

= P

βe−Eαβ/T ∂(−E∂wαβ/T )

ij

Z (T )

∂(P

αβe−Eαβ /T)

∂wij

P

βe−Eαβ/T Z (T )2

= P

βe−Eαβ/T ∂(−(−

1 2

P

i 6=jwijsisj))

∂wij

TZ (T )

∂(P

αβe−Eαβ /T)

∂wij

P

βe−Eαβ/T Z (T )2

P e−E /Tss ∂(

P

αβe−Eαβ /T)P

e−Eαβ/T

(42)

Uczenie maszyny Boltzmanna

= P

βe−Eαβ/Tsisj TZ (T )

∂(P

αβe−Eαβ /T)

∂wij

P

βe−Eαβ/T Z (T )2

= P

βe−Eαβ/Tsisj TZ (T ) − (P

αβe−Eαβ/Tsisj)(P

βe−Eαβ/T) TZ (T )2

= P

βP(α, β)sisj

T −(P

αβP(α, β)sisj)(P

βP(α, β)) T

= 1 T[X

β

sisjP(α, β) − hsisjiP(α)P(α)]

(43)

Uczenie maszyny Boltzmanna

Z wyrażeń:

∆wij = ηX

α

Q(α) P(α)

∂P(α)

∂wij ,

∂P(α)

∂wij

= 1 T[X

β

sisjP(α, β) − P(α)hsisjiP(α)] wynika:

∆wij = η T[X

α

Q(α) P(α)

X

β

sisjP(α, β) −X

α

Q(α)hsisjiP(α)]

= η T[X

αβ

Q(α)P(β|α)sisj−X

α

Q(α)hsisjiP(α)]

(44)

Uczenie maszyny Boltzmanna

Uwagi:

hsisjiQ(α) liczymy bezpośrednio z danych hsisjiP(α) liczymy metodą Monte-Carlo

ten algorytm zawsze zbiega, ponieważ DKL jest funkcją wypukłą

Cytaty

Powiązane dokumenty

Przyporządkuj wymienionym podzespołom odpowiednie numery (UWAGA – nie wszystkie podane elementy są zaznaczone na obrazku):. a) zasilanie

Jak zmieni się fenotyp i przystosowanie, jeśli zmienimy pierwszy bit ch_opt.. A jeśli zmienimy ostatni

Napisz skrypt w perlu, który będzie prostym (by nie rzec: prymitywnym) tłumaczem tekstu z języka polskiego na angielski (lub w drugą stronę, wybór języka jest dowolny, ale

Siatka prostokątna rozprowadzona przez rozszerzony algorytm Kohonena na trzech ścianach (o wspólnym wierzchołku) sześcianu.

Teoretycznie możliwa jest również odwrotna sytuacja, zatem nawet wyniki badań typu self-report, w których zakwestionowany został związek między ubóstwem, bezrobociem

Agnieszka Pattek-Janczyk: JEST NA KRUPNICZEJ TAKI BUDYNEK.... Tablica informacyjna o spotkaniu towarzyskim organizowanym przez magistrantów Katedry Chemii Nieorganicznej UJ -

Na wystawie znajdują się głównie najnowsze pejzaże Michała Jelińskiego, które zrobił w trakcie podróży po różnych krajach Europy - Islandii, Alba- nii, Ukrainie, a także

Zgodnie ze Specyfikacją Istotnych Warunków Zamówienia (SIWZ) kryteriami wyboru oferty najkorzystniejszej były: cena brutto (znaczenie: 0,60), czas reakcji (znaczenie: 0,20) oraz