Symulacje geometrycznych sieci neuronowych w środowisku rozproszonym Jarosław Piersa, Tomasz Schreiber {piersaj, tomeks}(at)mat.umk.pl 2010-07-21
1 2
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 20 15 E = i,j k i k j w i,j 10 5 E min 0 20 15 10 5 0 0 5 10 15 20
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ę 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, E jest zmianą energii. Powtarzaj kroki 1..4 jak długo zachodzą zmiany.
Dla konkretnego węzła: C(v) = 2Ev k v (k v 1) k v ilość krawędzi incydentnych z v E v ilość krawędzi w podgrafie obciętym do {u : (u, v) E} grafu: CC = 1 N v C(v)
Rozkład CC W podziałce loglog 0.02 CC distribution 10-1 CC distribution 0.015 10-2 freq 0.01 freq 10-3 0.005 10-4 0 0 0.2 0.4 0.6 0.8 1 CC 10-5 CC 10 0
w modelu ER każda krawędź jest dodana niezależnie z prawdopodobieństwem p ˆp = E V ( V 1)/2 dla V = 95261 oraz E 6.7 10 6 mamy ˆp = 0.00148 sąsiedztwo v może mieć maksymalnie k v krawędzi, z których średnio p k v jest w grafie C v średnio wyniesie p kv k v = p wartość oczekiwana CC wyniesie również p CC ER 0.00148
język C++ biblioteka pthread testowane na Core 2 Quad 2GHz, 1-4 wątki 6 mutexów na rejestry sieci neuronowej mutex na każdy neuron liczne obszary krytyczne symulacji (energia, listy krawędzi, listy neuronów, liczniki iteracji, czasomierze...)
12000 10000 th 1 th 2 th 3 th 4 3.5e+07 3e+07 2.5e+07 8000 neuron id 6000 domain 2e+07 1.5e+07 4000 1e+07 2000 5e+06 0 0 2000 4000 6000 8000 10000 12000 0 0 1 2 3 4 5 neuron id thread for (int i=0< i<n-1; i++) for (int j=i+1< j<n; j++) if (rand() < g(dist(n(i), n(j)))) addedge(i,j);
12000 th 1 th 2 th 3 th 4 2e+07 10000 1.5e+07 8000 neuron id 6000 domain 1e+07 4000 5e+06 2000 0 0 0 1 2 3 4 5 0 2000 4000 6000 8000 10000 12000 thread neuron id
Symulacja for (int i=0; i<iterations; i++) simulateonestep(); Th 1 {n 11, n 12 }... Th k {n k1, n k2 } ( k 2 P( i j {n i1, n i2 } {n j1, n j2 } ) ) n(n 1)(n (n 2k + 2) ( n k = 2) ( k ) 2 (n 2k 1 + o(n 2k 2 )) n 2k + o(n 2k 2 k2 ) n
Symulacja (... ) pthread mutex lock(& m u t e x e n e r g i a ) ; e n e r g i a += zmiana ; pthread mutex unlock(& m u t e x e n e r g i a ) ; pthread mutex lock(& m u t e x i l o s c Z m i a n P r z y j e t y c h ) ; i l o s c E f e k t y w n y c h Z m i a n++; i f ( zmiana >0) ilosczmianpodgore++; pthread mutex unlock(& m u t e x i l o s c Z m i a n P r z y j e t y c h ) ; pthread mutex lock(& m u t e x n r I t e r a c j i ) ; o s t a t n i a Z m i a n a = ++n r I t e r a c j i ; pthread mutex unlock(& m u t e x n r I t e r a c j i ) ; (... )
Symulacja 400 350 300 12k Neurons 100000 80000 time (mins) 250 200 150 iterations per second 60000 40000 100 20000 50 0 0 1 2 3 4 5 0 0 1 2 3 4 5 threads threads
Symulacja
Bibliografia R. Albert, A. L. Barabasi, Statistical mechanics of complex networks, Reviews of modern physics, Vol 74, January 2002 E. Bullmore, O. Sporns, Complex brain networks: graph theoretical analysis of structural and functional systems, Nature Reviews, Neuroscience, vol 10, March 2009 V. Eguıluz, D. Chialvo, G. Cecchi, M. Baliki, V. Apkarian Scale-Free Brain Functional Networks, Physical Review Letters, PRL 94 018102, JAN 2005, F. Piekniewski, Spontaneous scale-free structures in spike flow graphs for recurrent neural networks, Ph.D. dissertation, Warsaw University, Warsaw, Poland, 2008, F. Piekniewski and T.Schreiber, Spontaneous scale-free structure of spike flow graphs in recurrent neural networks, Neural Networks vol. 21, no. 10, pp. 1530-1536, 2008
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