w grafach przepływu informacji dla geometrycznych sieci neuronowych www.mat.uni.torun.pl/~piersaj 2009-06-10
1 2 3 symulacji Graf przepływu ładunku Wspóczynnik klasteryzacji
X (p) p α Rozkłady prawdopodobieństwa Statystyka Fizyka
Sieci bezskalowe deg(v) stopień wierzchołka v w grafie P(deg(v) = p) p α Przykłady sieci bezskalowych: Internet WWW sieci lingwistyczne sieci współpracy naukowej sieci znajomości złożone sieci neuronowe (naturalne)
Dany podzbiór V R 3. N neuronów należących do V N Poiss(c V ) Każdy neuron n i jest opisany poprzez: współrzędne w R 3 (x, y, z) iid U V ładunek k i połączenia synaptyczne do innych neuronów P((n i, n j ) E) wagi połączeń w ij iid N(0, σ 2 ) 1 d(n i, n j ) α
Funkcja energetyczna E = i,j k i k j w i,j E min
Algorytm symulowanego wyżarzania Wylosuj parę neuronów n i, n j połączonych krawędzią. Jeżeli k i = 0 powtórz losowanie. Jeżeli przeniesienie jednej jednostki ładunku z n i do n j zmniejsza energię o E to zaakceptuj tę zmianę (k i = k i 1; k j = k j + 1). W przeciwnym wypadku zaakceptuj zmianę z prawdopodobieństwem równym P = exp ( β E) gdzie β > 0 jest zwiększane w trakcie symulacji, E jest zmianą energii. Powtarzaj kroki 1..4 do uzyskania zbieżności.
Algorytm symulowanego wyżarzania Dla każdego węzła określamy deg in (n) ilość ładunku, który wpłynął trakcie symulacji. Definiujemy funkcję f : N N f (x) = n V 1 degin (n)=x Hipoteza: f (x) x 2
Wykresy przepływu Połóżmy: Teraz Po zlogarytmowaniu: g(x) = i x g(x) x 1 f (i) h(ln(x)) = ln(g(x)) Podstawiając y = ln x oraz g(x) = cx α h(y) = ln(cx α ) = ln(c) + α ln(x) = αy + c 1
Wykresy przepływu
Przybliżenie parametru nachylenia y = 1.27048x + 13.7703 s x = i x i s xx = i x 2 i s y = i y i s xy = i x i â = s xyn s x s y s xx N s 2 x
Przybliżenie parametru nachylenia y = 1.08951x + 12.939 Po odcięciu skrajnych wartości. x[0.015 : 0.5]y[0.015 : 0.5]
Przybliżenie parametru nachylenia
Uproszczenie modelu Określamy wsparcie neuronu: W i = j w ij Niech n 1, n 2, takie że W 1 > W 2. Policzymy różnicę energii E 2 E 1 po przesłaniu jednostki ładunku z n 2 do n 1. Przy β 0 zmiana prowadząca do zwiększenia się energii zawsze jest odrzucana.
Uproszczenie modelu E 1 = C + k 1 k i w 1i + k 2 k j w 2j + w 12 k 1 k 2 i S 1 \{n 2 } j S 2 \{n 1 } E 2 = C + k 1 + 1 k i w 1i + k 2 1 k j w 2j + j S 2 \{n 1 } i S 1 \{n 2 } j S 2 \{n 1 } w 12 k 1 + 1 (k 2 1) E 2 E 1 = ( k 1 + 1 k i k 1 k i )w 1i + i S 1 \{n 2 } ( k 2 1 k j k 2 k j )w 2j + w 12 ( k 1 k 2 + 2 k 1 k 2 )
Uproszczenie modelu k 1 > k i dla n i S 1 (w szczególności k 1 > k 2 ) E 2 E 1 = j S 1 w 1i + j S 2 w 2j + N(0, 4σ 2 ) = W 1 + W 2 + N(0, 4σ 2 ) 0 zazwyczaj Preferowany będzie przepływ ładunku do jednostki o większym wsparciu. k 1 < k i dla n i S 1 E 2 E 1 = j S 1 w 1i + j S 2 w 2j + N(0, 4σ 2 ) = W 1 W 2 + N(0, 4σ 2 ) 0 zazwyczaj Po zamianie znaków preferowany będzie przepływ ładunku do jednostki o mniejszym wsparciu (ale większym ładunku).
Uproszczenie modelu Oznaczmy S 1 = n ilość sąsiadów n 1. Powstają dwie możliwe sytuacje lokalnie minimalizujące energię: Gdy ładunek płynie do jednostek o małym wsparciu: k 1 = 0, k i = c dla i S 1. Wówczas energia wyniesie E = i (c 0)w 1i = ncw 1 Gdy ładunek płynie do jednostek o dużym wsparciu: k 1 = nc, k i = 0 dla i S 1. Wówczas energia wyniesie E = i (nc 0)w 1i = n 2 cw 1
Uproszczenie modelu Pierwsza sytuacja jest metastabilna, z postępem symulacji zanika. Przepływ ładunku z n i do n j odbywa się jeżeli W i W j Dynamika sieci przechodzi na tryb zwycięzca bierze wszystko (winner take all). Uproszczenie: losowane są tylko krawędzie e = (n i, n j ), takie że max(w i, W j ) min(w l : k l > 0).
Porównanie symulacji Graf przepływu ładunku Wspóczynnik klasteryzacji przed po wszystkich 59M 215M 1.3G 314M 250M 700M 550M ważnych 10M 20M 50M 50M 50M 100M 100M przyjętych 220k 435k 654k 570k 850k 817k 1.5M czas 1h+ 3h+ 10h 2.5 4.5h 3.5h 8h geometria sfera sfera kostka sfera kostka sfera kostka
symulacji Graf przepływu ładunku Wspóczynnik klasteryzacji węzłów krawędzi kroków mnk geometria zbieżność 4771 400k 50M -1.079x + 11.4 sfera 0.65% 7033 435k 20M -1.3x + 13.0 sfera 1.2% 6967 420k 30M -1.251x + 12.6 sfera 1.5% 9049 570k 50M -1.209x + 12.6 sfera 0.9% 12403 800k 100M -1.118x + 12.5 sfera 0.8% 12556 800k 25M -1.226x + 12.6 sfera 5%(!!) 12573 800k 50M -1.1x + 12.3 sfera 0.9% 19607 1.2M 50M -1.102x + 12.8 sfera 2.5% (!!) 9836 680k 100M -1.149x + 12.4 kostka 0.6% 9917 700k 50M -1.3x + 13.0 kostka 1% 13157 960k 50M -1.066x + 12.3 kostka 0.8% 21825 1.7M 100M -1.17x + 13.3 kostka 0.8% 21858 1.7M 100M -1.129x + 13.1 kostka 1%
Rozmieszczenie elity symulacji Graf przepływu ładunku Wspóczynnik klasteryzacji
Graf przepływu ładunku symulacji Graf przepływu ładunku Wspóczynnik klasteryzacji DFS bez ograniczeń Graf złożony z krawędzi, którymi płynie największa ilość ładunku do neuronów o największym wsparciu.
Graf przepływu ładunku symulacji Graf przepływu ładunku Wspóczynnik klasteryzacji Kolejka priorytetowa + ograniczenie 100 krawędzi na graf
Współczynnik klasteryzacji symulacji Graf przepływu ładunku Wspóczynnik klasteryzacji C i = 2E i k i (k i 1) k i ilość krawędzi incydentnych z i E i ilość krawędzi w podgrafie obciętym do {u : (u, i) E} C = 1 N i C i Wykres współczynnika klasteryzacji w zależności od progu d. (uv) E i p uv > d
Wykres zaakceprowanych zmian symulacji Graf przepływu ładunku Wspóczynnik klasteryzacji
Co dalej? symulacji Graf przepływu ładunku Wspóczynnik klasteryzacji Optymalizacja Zaawansowana analiza grafu Symulacje większych instancji
Wykorzystane narzędzia symulacji Graf przepływu ładunku Wspóczynnik klasteryzacji Eclipse CDT R-project (analiza i wykresy) OpenGL (biblioteki) SDL, SDL ttf (biblioteki) KILE, GIMP (prezentacja)
symulacji Graf przepływu ładunku Wspóczynnik klasteryzacji Praca współfinansowana ze środków Europejskiego Funduszu Społecznego i Budżetu Państwa w ramach Zintegrowanego Programu Operacyjnego Rozwoju Regionalnego, Działania 2.6 Regionalne Strategie Innowacyjne i transfer wiedzy projektu własnego Województwa Kujawsko-Pomorskiego Stypendia dla doktorantów 2008/2009 ZPORR