Wprowadzene do Sec Neuronowych Sec rekurencyjne M. Czoków, J. Persa 2010-12-07 1 Powtórzene Konstrukcja autoasocjatora Hopfelda 1.1 Konstrukcja Danych jest m obrazów wzorcowych ξ 1..ξ m, gdze każdy pojedynczy wzorzec ξ µ { 1, +1} n. Autoasocjator składa sę z n (tj. rozmar pojedynczego wejśca) neuronów połączonych wagam w j każdy z każdym. Przyjmujemy, że wag są symetrzyczne w j = w j oraz waga nuronu z samym sobą jest zerowa w = 0. Do tego neuron ma przypsane pola zewnętrzne h. Każdy neuron znajduje sę w swom stane (spne) oznaczonym dalej przez σ 1, +1 (np. +1 kolor bały, 1 kolor czarny). Konfgurację całej sec oznaczmy poprzez σ. Zdefnujmy funkcję energetyczną 1.2 Dynamka dzałana E( σ) = 1 σ σ j w j 2 j h σ (1) Obraz wejścowy jest kopowany do konfguracj sec (σ 1..σ n ). Ze startowego ustawena rozpoczynane jest przeszukwane przestrzen w celu znalezena rozwązana mnmalzującego E. Przykładowa dynamka asynchronczna w temperaturze 0: 1. Powtarzaj welokrotne: (a) Wylosuj jednostkę σ ; (b) Jeżel zmana spnu (σ := σ ) zmnejsza energę E to przypsz σ := σ (c) W przecwnym przypadku ne rób nc Po ustablzowanu sę symulacj zwróć uzyskaną konfgurację sec. UWAGA Równoważne dla punktów 1b 1c jest przypsane σ := sgn( j w j, σ j + h ) Lczene energ może być kosztowne. Jeżel rozważamy autoasocjator grafczny to lość jednostek n skaluje sę kwadratowo z rozmarem obrazu wejścowego. Ilość wag mędzy neuronam w j jest kwadratowa względem n, czyl ma sę jak rozmar obrazu w potędze 4. Zmana energ po zmane neuronu σ zależy tylko od wag w 1, w 2,..., w n czyl jej przelczene ma koszt (tylko) lnowy względem n. 1.3 Nauka sec Dzałane sec wymaga znajomośc wag w j R oraz pól zewnętrznych h R. Oznaczmy: ξ -ty przykład (czyt. ks ), ξ j j-ota współrzędna przykładu ξ, n wymar przykładu, m lość przykładów. Postać wag w autoasocjatorze: Pola zewnętrzne: w j := 1 n m ξ k ξj k (2) k=1 h := 0 (3) Zauważmy, że są to zależnośc zgodne z regułą Hebba, tj. uzystakne tych samych mpulsów zwększa wagę. 1
1.4 Dynamka sec w dodatnej temperaturze Podana wyżej dynamka ne radz sobe z mnmam lokalnym. Problem można obejść stosująć mechanzm symulowanego wyżarzana. Oznaczmy β 0 temperatura odwrotna np. gdze k > 0 stała, T > 0 temperatura. Dynamka sec: 1. Powtarzaj welokrotne β = 1 kt (a) Wylosuj neuron σ (b) Oblcz zmanę energ E jaką spowodowałaby zamana spnu neuronu σ na przecwny (c) Jeżel E < 0 (energa zmalała) to przyjmj zmanę σ = σ (d) W przecwnym wypadku przyjmj zmanę σ = σ z prawdopodobeństwem (e) Co pewen czas zmnejsz temperaturę T. P = exp( β E) Zauważmy, że dla temperatury T malejącej do 0, temperatura odwrotna β zbega do neskonczonosc, a prawdopodobeństwo przyjęca zmany pod górę wykładnczo zanka do 0. Z drugej strony dla T dużego, β zbega do 0 a prawdopodobeństwo do jedynk, każda zmana jest przyjmowana. 2 Zadana Zadana dotyczą lsty pątej (sec rekurencjne). Przy mplementacj zalecane jest dodane do dynamk fluktuacj termcznych. 2.1 Zadane Autoasocjator grafczny Zamplementuj autoasocjator Hopfelda dla obrazów bnarnych. Uwag: Rozmar obrazu może sę okazać wązkm gardłem, obraz 100 100 pkslel ma 10 8 wag 4B (typ float) daje 400MB pamęc! Wag są symetryczne w j = w j, węc przechowane ch w dynamczne alokowanej tablcy zmnejsza wymog pamęcowe o połowę. Kodowane kolorów pownno przyjmować wartośc σ = ±1 zamast {0, 1}. W wypadku wprowadzana symulowanego wyżarzana należy rozpocząć symulację z wysokej wartośc β. Wzorce mogą być nelczne, ale pownny być neskorelowane ze sobą. Mle wdzany podgląd wag (przestrzeń wag ma cztery wymary + wartość wag daje pąty, montor ma tylko dwa zadane do przemyślena) 2.2 Autoasocjator lngwstyczny Zamplementuj autoasocjator lngwstyczny tj. dzałający na cągach lter. Można (wzkazane jest) ogranczene do angelskego alfabetu spacj (podkreślena ) jako końca / początku słowa. Małe welke ltery można utożsamać. Pojedynczy neuron odpowada za parę znaków występujących obok sebe w zdanu np: ala ma kota otrzymujemy pary ( a), (al), (la), (a ), ( m), (ma), (a ), ( k), (ko), (ot), (ta), (a ). Można rozważać seć dla trójek lter, ale ponowne należy lczyć sę z problemam z pamęcą (27 27 27 neuronów tyleż do kwadratu wag). Waga mędzy param lter wskazuje jak bardzo popularne (lub nepopularne w zależnośc od znaku) są słowa zawerające jednocześne obe pary. Intucyjne para ( y)(gh) pownna być nepopularna, gdyż w polskm języku y ne występuje na początku słowa, podobne para spółgłosek (gh). Z kole para (pr)(rz) pochodzć może np. z przedrostków przy-, przez-, przed- ale równeż słowa procarz. Energę słowa defnujemy np. jako: E(v 1..v n ) = <j w vv +1 w vj,v j+1 (4) 2
Jak wdać ne ma preferencj dot pól zewnętrznych To jest suma popularnośc (nepopularnośc w zależnośc od nterpretacj) zawartych w słowe par lter. Popularność będze maksymalzowana, nepopularność mnmalzowana. Dynamka sec pownna na wejścowym słowe dokonywać losowych newelkch przekształceń, które mogą doprowadzć do znalezena lepszego. Punktem wyjśca mogą być najczęścej popełnane błędy podczas psana: 1. wstawene losowej ltery na losowej pozycj, 2. usunęce losowej ltery, 3. zamana losowej ltery na nną losową (np. pochodzącą z empryczne uzyskanego rozkładu lter w tekśce) 4. zamana ltery z sąsedną (błąd czesk) 5. mss-typng: zamana ltery na leżącą nedaleko na klawaturze np. a s (szczególny przypadek punktu trzecego). Dla ambtnych: seć lngwstyczna operująca na trójkach, a ne parach lter. Jeden neuron koduje trzy sąsadujące ltery np: ala ma kota daje: ( al), (ala), (la ), ( ma), (ma ), ( ko), (kot), (ota), (ta ). Zalecane jest pomnęce spacj jako środkowej ltery tj. (a m). Uwaga. Przy takm kodowanu lość neuronów rośne z 27 2 do ok. 27 3, a wag z (27 2 ) 2 /2 na (27 3 ) 2 /2 2 10 8 Z drugej strony wszystke wag wchodzące do neuronu np. (fgs) będą zerowe (chyba, że seć będze uczona na losowym tekśce), a takch newykorzystanych neuronów będze dość dużo. Ilość realne występujących trójek w tekśce ne przekroczy długośc tekstu (plus stała) patrz przykład powyżej. Zamast tablcy sześcowymarowej lepej będze skorzystać z np. tablcy hashowanej, czy choćby 27 3 tablc dynamcznej długośc (lsta nezerowych wag dla każdego z neuronów). 2.3 Dwupodzał grafu Zastosuj omawane powyżej mechanzmy do rozwązywana problemu dwupodzału grafu. Dany nech będze graf G = (V, E) oraz funkcja wag krawędz f : E R +. Należy podzelć graf na dwa równolczne rozłączne podzbory V, U, V U = W, V U =, V U, take że suma wag krawędz pomędzy zboram jest mnmalna f({u, v}) mn (5) u U,v V :{u,v} E Seć składać sę pownna z n = V węzłów. Spn σ = +1 można nterpretować jako w danym rozwązanu werzchołek v U, spn σ = 1 nterpretowany jest jako przeynależene v do W. Postać funkcj energetycznej: ( ) 2 E(σ) = α 1 σ σ j f({v, v j }) + α 2 σ,j Funkcja jest sumą ważoną składnków: optymalzującego tj. opsującego jakość danego rozwązana (m mnejsza wartość tym lepej) porównaj z 5. ogranczajacego tj. jak bardzo zwrócone rozwązane ne spełna kryterów problemu. W tym przkładze jest to różnaca w lczebnośc zborów. Bez tego ogranczena optymalnym rozwązanem byłoby U = V, W = (lub na odwrót), brak krawędz pomędzy U W dawałby mnmalną wartość składnka optymalzującego. Alternatywne, zależnośc na wag oraz na pola zewnętrzne w j = 2 (α 1 f({v, v j }) α 2 ) h = 0 Dobór skalarów α 1, α 2 pownen skutkować porównywalną welkoścą obu składnków. Zbyt małe α 1 spowoduje utknęce w perwszym podzale z poprawnym mocam zborów U W. Zbyt małe α 2 skutkuje przypsanem wszystkch werzchołków do jednego zboru. Dynamka ewolucj przebega poprzez zmanę lozowych spnów na przecwne, tj losowe przenoszene werzchołków pomędzy zboram. Uwaga! bez mechanzmu symulowanego wyżarzana bardzo prawdopodobne jest utknęce w mnmum loklanym. 3
Rysunek 1: Zastosowane sec do rozwązywana problemu dwupodzału. 2.4 Kolorowane grafu Dla danego grafu planarnego G = (V, E) należy znaleść kolorowane werzchołków, tak aby żadne dwa połączone krawędzą ne mały tych samych kolorów. Jeżel graf jest planarny to wystarczą cztery kolory (patrz twerdzene o czterech barwach). Konstrukcja sec rozwązującej problem. Oznaczmy V = n. Seć składa sę z 4n jednostek oznaczonych σ,k gdze = 1..n jest numerem werzchołka w grafe, naromast k = 1..4 jest kolorem werzchołka. Spn σ,k = +1 oznacza zatem, że węzeł v ma przypsany kolor k. UWAGA: w przestrzen stanów stneją konfgureacje, w których werzchołek może meć węcej nż jeden kolor lub ne meć koloru w ogóle! Określamy funkcję energetyczną: E(σ) = c 1 Rysunek 2: Zastosowane sec do kolorowana werzchołków.,j 1 (v,v j) E 1 σ,k =+1 σ j,k =+1 + c 2 ( k k σ,k 1) 2 (6) Perwszy składnk opsuje jakość rozwązana, penalzuje sytuacje gdze dwa sąsadujące werzchołk mają ten sam kolor. Drug ze składnków daje dodatkową karę gdy werzchołek jest pokolorowany loścą kolorów nną nż 1. Dynamka sec polega na losowych zmanach spnów losowych neuronów (dodawane / usuwane koloru z węzła). Opcjonalne można połączyć dwe operacje jedną zamanę koloru na nny. Odnośnk Przykładowe grafy do pokolorowana: 4
http://mat.gsa.cmu.edu/color/nstances.html ftp://dmacs.rutgers.edu/pub/challenge/graph/benchmarks/color/ Uwaga: ne wszystke z nch są planarne, wększość dotyczy raczej zagadnena szacowana lczby kolorów! 2.5 Cykl Hammltona Dany jest graf pełny G = (V, E) oraz funkcja v : E R + wag na krawędzach. Graf nepełny można uzupełnć do pełnego, ustawając wysoke wag na dodanych krawędzach. Należy znaleźć cykl Hammltona o mnmalnej wadze. Konstrukcja sec. Seć lczy n 2 jednostek: σ j, gdze = 1..n jest ndeksem kroku na cylku Hammltona (cykl lczy n kroków), j = 1..n jest ndeksem werzchołka. Spny dla uproszczena rachunków przyjmują wartośc +1 oraz 0. Interpretacja σ,j = +1 oznacza odwedzene węzła v j w kroku. Rysunek 3: Zastosowane sec do rozwązywana problemu cyklu Hammltona. Jak poprzedno należy wprowadzć ogranczena na przyjmowane stany. Każdy werzchołek pownen być odwedzony dokładne jeden raz: j ( σ j 1) = 0 W jednym kroku może być odwedzony dokładne jeden węzeł ( j σ j 1) = 0 Ponadto funkcja energetyczna pownna uwzględnać koszt trasy σ 1,j σ,k f(v, v k ) Podsumowując: E(σ) = c 1 ( j j,k σ j 1) 2 + c 1 ( j σ j 1) 2 + c 2 σ 1,j σ,k f(v, v k ) (7) Lepsze podejśca można znaleźć w P. Paretto, An Introducton to the Modellng of Neural Networks, CUP, rozdzał 10.2 Optmzaton. Strony nternetowe pośwęcone TSP (w tym równeż przykładowe grafy): http://www.wr.un-hedelberg.de/groups/comopt/software/tsplib95/ http://www.tsp.gatech.edu/ 2.6 Inne propozycje zadań 1. symulacja nepokojów społecznych, 2. przydzał zadań, 3.... j,k 5