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

Podobne dokumenty