Symulacje geometrycznych sieci neuronowych w srodowisku
Transkrypt
Symulacje geometrycznych sieci neuronowych w srodowisku
Model Zrównoleglenie Symulacje geometrycznych sieci neuronowych w środowisku rozproszonym Jarosław Piersa, Tomasz Schreiber {piersaj, tomeks}(AT)mat.umk.pl 2010-07-21 Jarosław Piersa, Tomasz Schreiber MASYW 2010 Model Zrównoleglenie 1 Model Model Dynamika Współczynnik klasteryzacji 2 Zrównoleglenie Zrównoleglenie Generowanie połączeń synaptycznych Dynamika Jarosław Piersa, Tomasz Schreiber MASYW 2010 Model Zrównoleglenie Model Dynamika Współczynnik klasteryzacji Model Dany podzbiór V ⊂ R3 . N neuronów należących do V N ∼ Poiss(c · |V |) Każdy neuron ni jest opisany poprzez: współrzędne w R3 (x, y , z) ∼iid UV ładunek ki połączenia synaptyczne do innych neuronów P((ni , nj ) ∈ E) ' 1 d(ni , nj )α wagi połączeń wij ∼iid N(0, σ 2 ) Jarosław Piersa, Tomasz Schreiber MASYW 2010 Model Dynamika Współczynnik klasteryzacji Model Zrównoleglenie Model Funkcja energetyczna 20 15 E= X |ki − kj |wi,j 10 i,j 5 E → min 020 15 20 15 10 10 5 0 0 Jarosław Piersa, Tomasz Schreiber MASYW 2010 5 Model Zrównoleglenie Model Dynamika Współczynnik klasteryzacji Dynamika Wylosuj parę neuronów ni , nj połączonych krawędzią. Jeżeli ki = 0 powtórz losowanie. Jeżeli przeniesienie jednej jednostki ładunku z ni do nj zmniejsza energię to zaakceptuj tę zmianę (ki = ki − 1; kj = kj + 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. Jarosław Piersa, Tomasz Schreiber MASYW 2010 Model Zrównoleglenie Model Dynamika Współczynnik klasteryzacji Współczynnik klasteryzacji Dla konkretnego węzła: C (v ) = 2Ev kv (kv −1) kv ilość krawędzi incydentnych z v Ev ilość krawędzi w podgrafie obciętym do {u : (u, v ) ∈ E} Współczynnik klasteryzacji grafu: CC = 1 N Jarosław Piersa, Tomasz Schreiber P v C (v ) MASYW 2010 Model Zrównoleglenie Model Dynamika Współczynnik klasteryzacji Współczynnik klasteryzacji W podziałce loglog Rozkład CC 10-1 0.02 CC distribution CC distribution 10 freq freq 0.015 0.01 0.005 -2 10-3 10-4 0 0 0.2 0.4 0.6 0.8 1 10 -5 CC Jarosław Piersa, Tomasz Schreiber 100 CC MASYW 2010 Model Zrównoleglenie Model Dynamika Współczynnik klasteryzacji Współczynnik klasteryzacji 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 · 106 mamy p̂ = 0.00148 sąsiedztwo v może mieć maksymalnie kv krawędzi, z których średnio p · kv jest w grafie Cv średnio wyniesie p·kv kv =p wartość oczekiwana CC wyniesie również p CCER ' 0.00148 Jarosław Piersa, Tomasz Schreiber MASYW 2010 Model Zrównoleglenie Zrównoleglenie Generowanie połączeń synaptycznych Dynamika Zrównoleglenie 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...) Jarosław Piersa, Tomasz Schreiber MASYW 2010 Model Zrównoleglenie Zrównoleglenie Generowanie połączeń synaptycznych Dynamika Generowanie połączeń synaptycznych 3.5e+07 12000 th 1 th 2 th 3 th 4 3e+07 10000 2.5e+07 domain neuron id 8000 6000 2e+07 1.5e+07 4000 1e+07 2000 5e+06 0 0 0 2000 4000 6000 8000 10000 12000 0 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); Jarosław Piersa, Tomasz Schreiber 1 2 3 thread neuron id MASYW 2010 4 5 Model Zrównoleglenie Zrównoleglenie Generowanie połączeń synaptycznych Dynamika Generowanie połączeń synaptycznych 2e+07 12000 th 1 th 2 th 3 th 4 10000 1.5e+07 domain neuron id 8000 6000 4000 1e+07 5e+06 2000 0 0 0 0 2000 4000 6000 8000 10000 12000 Jarosław Piersa, Tomasz Schreiber 1 2 3 thread neuron id MASYW 2010 4 5 Model Zrównoleglenie Zrównoleglenie Generowanie połączeń synaptycznych Dynamika Symulacja for (int i=0; i<iterations; i++) simulateOneStep(); Th1 ← {n11 , n12 } ... Thk ← {nk1 , nk2 } P(∀i6=j {ni1 , ni2 } ∩ {nj1 , nj2 } = 6 ∅) ∝ k 2 n(n − 1)(n − 2) · · · (n − 2k + 2) = n k 2 k 2 (n2k−1 + o(n2k−2 )) k2 ∝ n n2k + o(n2k−2 ) Jarosław Piersa, Tomasz Schreiber MASYW 2010 Model Zrównoleglenie Zrównoleglenie Generowanie połączeń synaptycznych Dynamika 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) i l o s c Z m i a n P o d G o r e ++; 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 ) ; (...) Jarosław Piersa, Tomasz Schreiber MASYW 2010 Model Zrównoleglenie Zrównoleglenie Generowanie połączeń synaptycznych Dynamika Symulacja 100000 400 12k Neurons 350 80000 iterations per second 300 time (mins) 250 200 150 100 60000 40000 20000 50 0 0 0 0 1 2 3 4 5 Jarosław Piersa, Tomasz Schreiber 1 2 3 threads threads MASYW 2010 4 5 Model Zrównoleglenie Zrównoleglenie Generowanie połączeń synaptycznych Dynamika Symulacja Jarosław Piersa, Tomasz Schreiber MASYW 2010 Model Zrównoleglenie Zrównoleglenie Generowanie połączeń synaptycznych Dynamika 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 Jarosław Piersa, Tomasz Schreiber MASYW 2010 Model Zrównoleglenie Zrównoleglenie Generowanie połączeń synaptycznych Dynamika 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” Jarosław Piersa, Tomasz Schreiber MASYW 2010