Projekt pn. Wzmocnene potencjału dydaktycznego UMK w Torunu w dzedznach matematyczno-przyrodnczych realzowany w ramach Poddzałana 4.1.1 Programu Operacyjnego Kaptał Ludzk Wprowadzene do Sec Neuronowych Laboratorum 12 Sec rekurencyjne Maja Czoków, Jarosław Persa 2013-01-09 1 Powtórzene Konstrukcja autoasocjatora Hopfelda 1.1 Konstrukcja n Danych jest m obrazów wzorcowych ξ 1..ξ m, gdze każdy pojedynczy wzorzec ξ µ { 1, +1}. Autoasocjator składa sę z n (tj. rozmar pojedynczego wejśca) neuronów połączonych wagam wj każdy z każdym. Przyjmujemy, że wag są symetryczne wj = wj oraz waga neuronu 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ą E(σ ) = 1 σ σj wj h σ 2 (1) 6=j 1.2 Dynamka dzałana 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( wj, σj + h ) j6= 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 wj 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 w1, w2,..., wn czyl jej przelczene ma koszt (tylko) lnowy względem n. Projekt współfnansowany przez Unę Europejską w ramach Europejskego Funduszu Społecznego 1
Projekt pn. Wzmocnene potencjału dydaktycznego UMK w Torunu w dzedznach matematyczno-przyrodnczych realzowany w ramach Poddzałana 4.1.1 Programu Operacyjnego Kaptał Ludzk 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. uzyskane tych samych mpulsów zwększa wagę. 1.4 Dynamka sec w dodatnej temperaturze Podana wyżej dynamka ne radz sobe z mnmam lokalnym. Problem można obejść stosując mechanzm symulowanego wyżarzana. Oznaczmy β 0 temperatura odwrotna np. gdze k > 0 stała, T > 0 temperatura. Dynamka sec: β = 1 kt 1. Powtarzaj welokrotne (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 neskończonośc, 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 rekurencyjne). Przy mplementacj zalecane jest dodane do dynamk fluktuacj termcznych. Projekt współfnansowany przez Unę Europejską w ramach Europejskego Funduszu Społecznego 2
Projekt pn. Wzmocnene potencjału dydaktycznego UMK w Torunu w dzedznach matematyczno-przyrodnczych realzowany w ramach Poddzałana 4.1.1 Programu Operacyjnego Kaptał Ludzk 2.1 Zadane Autoasocjator grafczny Zamplementuj autoasocjator Hopfelda dla obrazów bnarnych. Uwag: Rozmar obrazu może sę okazać wąskm gardłem, obraz 100 100 pksel 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) 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) Projekt współfnansowany przez Unę Europejską w ramach Europejskego Funduszu Społecznego 3
Projekt pn. Wzmocnene potencjału dydaktycznego UMK w Torunu w dzedznach matematyczno-przyrodnczych realzowany w ramach Poddzałana 4.1.1 Programu Operacyjnego Kaptał Ludzk 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 przynależ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. ogranczającego tj. jak bardzo zwrócone rozwązane ne spełna kryterów problemu. W tym przykładze jest to różnca 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 w j = 2 (α 1 f({v, v j }) α 2 ) oraz na pola zewnętrzne 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ę losowych 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. Projekt współfnansowany przez Unę Europejską w ramach Europejskego Funduszu Społecznego 4
Projekt pn. Wzmocnene potencjału dydaktycznego UMK w Torunu w dzedznach matematyczno-przyrodnczych realzowany w ramach Poddzałana 4.1.1 Programu Operacyjnego Kaptał Ludzk 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ą konfguracje, w których werzchołek może meć węcej nż jeden kolor lub ne meć koloru w ogóle! Rysunek 2: Zastosowane sec do kolorowana werzchołków. Projekt współfnansowany przez Unę Europejską w ramach Europejskego Funduszu Społecznego 5
Projekt pn. Wzmocnene potencjału dydaktycznego UMK w Torunu w dzedznach matematyczno-przyrodnczych realzowany w ramach Poddzałana 4.1.1 Programu Operacyjnego Kaptał Ludzk Określamy funkcję energetyczną: E(σ) = c1 1(v,vj ) E 1σ,k =+1 σj,k =+1 + c2 ( σ,k 1)2,j k (6) k 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: 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! Uwaga 2: Alternatywne można wykorzystać seć z wagam polam zewnętrznym (przelczena na wykładze). Zaletą jest brak konecznośc przelczan funkcj kosztu od zera bardzej zunfkowana struktura. Wadą jest znaczny wzrost obcążena pamęcowego. 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 n2 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 vj 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 Projekt współfnansowany przez Unę Europejską w ramach Europejskego Funduszu Społecznego 6
Projekt pn. Wzmocnene potencjału dydaktycznego UMK w Torunu w dzedznach matematyczno-przyrodnczych realzowany w ramach Poddzałana 4.1.1 Programu Operacyjnego Kaptał Ludzk W jednym kroku może być odwedzony dokładne jeden węzeł ( σj 1) = 0 j Ponadto funkcja energetyczna pownna uwzględnać koszt trasy σ 1,j σ,k f (v, vk ) j,k Podsumowując: E(σ) = c1 ( σj 1)2 + c1 ( σj 1)2 + c2 σ 1,j σ,k f (v, vk ) j j (7) j,k Lepsze podejśca można znaleźć w P. Paretto, An Introducton to the Modellng of Neural Networks, CUP, rozdzał 10.2 Optmzaton. Uwaga: Podobne jak powyżej można wykorzystać seć z wagam polam zewnętrznym dającą bardzej zunfkowaną dynamkę, za cenę wększej (lub ne zależne od sposobu reprezentacj wag) złożonośc pamęcowej. 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.... Projekt współfnansowany przez Unę Europejską w ramach Europejskego Funduszu Społecznego 7