Ein effizientes Verfahren zur Berechnung der - G

Werbung
Ein effizientes Verfahren zur Berechnung der
Potentiale in kortikalen neuronalen Kolumnen.
Diplomarbeit, Vorgelegt von
Alexander Wanner
Universität Heidelberg
Fakultät für Mathematik und
Informatik
13. Dezember 2007
Betreuer:
Prof. Dr. Gabriel Wittum
Inhaltsverzeichnis
1 Einleitung
1
2 Biologische Grundlagen
3
2.1
Struktur von Nervenzellen . . . . . . . . . . . . . . . . . . . . . . .
3
2.2
Elektrophysiologische Eigenschaften von Nervenzellen . . . . . . . .
5
2.2.1
Membranpotential . . . . . . . . . . . . . . . . . . . . . . .
5
2.2.2
Aktionspotential . . . . . . . . . . . . . . . . . . . . . . . .
6
2.2.3
Elektrotonische Signalleitung . . . . . . . . . . . . . . . . .
7
Die Neokortikale Kolumne . . . . . . . . . . . . . . . . . . . . . . .
9
2.3
3 NeuGen
12
4 Modellierung
15
4.1
Das Neuron als eine Menge von Kabelgleichungen . . . . . . . . . . 15
4.1.1
Dimensionslose Kabelgleichung . . . . . . . . . . . . . . . . 19
4.2
Analytische Lösungen der Kabelgleichung . . . . . . . . . . . . . . . 20
4.3
Ionenkanäle vom Hodgkin-Huxley Typ . . . . . . . . . . . . . . . . 22
4.4
Typen von Synapsen . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5 Diskretisierung
5.1
5.2
26
Das Multi-Compartment-Modell . . . . . . . . . . . . . . . . . . . . 26
5.1.1
Aufteilung des Membranstroms . . . . . . . . . . . . . . . . 28
5.1.2
Komponenten des Membranstroms . . . . . . . . . . . . . . 28
5.1.3
Aufteilung des kapazitativen Stroms
5.1.4
Membran-Ionenströme. . . . . . . . . . . . . . . . . . . . . . 31
. . . . . . . . . . . . . 29
Zeitliche Diskretisierung . . . . . . . . . . . . . . . . . . . . . . . . 31
i
Inhaltsverzeichnis
5.3
5.2.1 Staggered Steps . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.2.2 Die Baummatrix . . . . . . . . . . . . . . . . . . . . . . . . 33
Der Löser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6 Die Implementierung
6.1 Wahl der Programmiersprache . . . . . .
6.2 Definition einer Simulation . . . . . . . .
6.2.1 Definition des Modells . . . . . .
6.2.2 Einlesen von Netzen aus NeuGen
6.3 Der Löser . . . . . . . . . . . . . . . . .
6.4 Parallelisierung . . . . . . . . . . . . . .
6.4.1 Das MPI Programmiermodell . .
6.4.2 Parallele Kommunikation . . . . .
.
.
.
.
.
.
.
.
36
36
36
37
38
40
44
44
45
7 Untersuchung der numerischen Konvergenz
7.1 Analytische Lösung für endliche Kabel . . . . . . . . . . . . . . . .
7.2 Konvergenztests . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2.1 Die Approximation der analytischen Lösung . . . . . . . . .
49
49
52
55
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8 Simulationen und numerische Resultate
59
8.1 Simulation eines Netzes aus 5000 Neuronen . . . . . . . . . . . . . . 59
8.2 Laufzeitverhalten und Speicherverbrauch . . . . . . . . . . . . . . . 64
9 Zusammenfassung und Ausblick
68
10 Anhang
10.1 Elektrophysiologische Parameter der Kolumne . . . . . . . . . . . .
10.1.1 Ionenkanäle . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.1.2 Synapsen . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.2 Beispiele für die Definition eines Modells zur Simulation mit NeuSim
71
71
71
71
72
Abbildungsverzeichnis
77
Tabellenverzeichnis
80
Literaturverzeichnis
81
ii
1 Einleitung
Lebewesen begegnen den Anforderungen der sich ändernden Umwelt auf verschiedene Weise. Bei Organismen mit weniger entwickelten Nervensystemen bedeutet
Adaption meist Anpassung auf der Ebene der Spezies, Verschiebungen in der Zusammensetzung des Genpools und Mutation. Mit zunehmender Körpermasse von
Tieren ist allerdings die Reduktion der Individuenanzahl und der Reproduktionsrate verbunden. Damit wird das Individuum für das Überleben der Spezies wichtiger.
Das Nervensystem ist einer der Faktoren, die entscheiden, ob ein Tier lange genug
überlebt und sich erfolgreich fortpflanzen kann. Höhere genetische Trägheit der
Spezies wird also durch intelligenteres Verhalten kompensiert.
Das Gehirn von Säugetieren gehört mit zu den komplexesten Systemen, die wir
kennen. Die rasanten Fortschritte der Neurobiologie erfordern deshalb leistungsfähige numerische Werkzeuge, um Modelle zur Informationsverarbeitung von Nervenzellen und neuronalen Netzwerken zu testen und neue Theorien aufzustellen.
Ein Aspekt der Komplexität ist die Anzahl der Neuronen, die an der neuronalen
Informationsverarbeitung beteiligt sind. Ein Versuch, die Komplexität des neuronalen Netzes auf die Interaktion zwischen einzelnen Neuronen zu reduzieren, sind
Single-Compartment-Modelle, die ein Neuron durch eine Art Black-Box repräsentieren. Die Eigenschaften solcher Neurone resultieren nicht aus ihrer Geometrie und
Elektrophysiologie, sondern werden vom Experimentator vorgegeben. Es leuchtet
ein, dass solche Modelle ihre Grenzen haben, wenn man die beiden anderen Aspekte der Komplexität des neuronalen Verhaltens betrachtet, die ausdifferenzierte und
spezialisierte Form der Nervenzellen und die komplexen Eigenschaften der Membran.
Die Eigenschaften der Zellmembran hängen von der Vorgeschichte der jeweiligen
Zelle ebenso ab wie von der Konzentration von bestimmten Substanzen sowie dem
elektrischen Potentialgefälle zwischen dem Inneren der Zellen und dem sie um-
1
1 Einleitung
gebenden Medium. Schon sehr kleine Unterschiede in den Ausgangsbedingungen
können darüber entscheiden, ob eine Zelle feuert oder nicht.
Betrachten wir zusätzlich die komplexe Form von den meisten Nervenzellen, so
wird klar, dass die möglichst genaue Approximation der neuronalen Geometrie
kritisch für das Verhalten von Neuronen ist.
Eine weit verbreitete Methode das Neuron mathematisch zu modellieren ist, es
als eine Menge von gekoppelten Kabelabschnitten mit Kabelgleichungen zu beschreiben. Mit Multi-Compartment-Modellen werden dann die räumlichen Diskretisierungen der Kabelgleichungen beschrieben, die numerisch berechnet werden
können. Die zeitlichen Diskretisierungen der Kabelgleichungen sind daher Verfahren zur Lösung der gewöhnlichen Differentialgleichungen.
Für die Leistungsfähigkeit eines Multi-Compartment-Modells ist es von Bedeutung, dass es leicht vergröbert oder verfeinert werden kann, ohne die Konvergenzordnung des Verfahrens zu beeinflussen. Insbesondere sollte es möglich sein,
die Synapsen nicht nur an ganz bestimmten Punkten im Modell zu positionieren.
Wir haben uns für das Multi-Compartment-Modell von Lindsay und Rosenberg [8]
entschieden, weil es eine höhere Genauigkeit und damit eine höhere Simulationsgeschwindigkeit verspricht als das Standardprogramm NEURON [1]. Der Vorteil
kommt dadurch zustande, dass die genaue Position des synaptischen Inputs in
die Rechnung einfließt, während das herkömmliche Modell die Synapsen im Zentrum des jeweiligen Compartments lokalisiert. Die Frage der Geschwindigkeit ist
sehr wichtig, denn durch die Nichtlinearität der Membraneigenschaften sind an
kritischen Stellen sehr kleine Schrittweiten der Zeitdiskretisierung erforderlich.
Um die Simulation weiter zu beschleunigen benutzen wir parallele Computer.
Das Problem wird hierbei in kleinere Teilprobleme aufgeteilt, die auf jeweils einem
Prozessorkern berechnet werden. Ein effizientes paralleles Kommunikationsprotokoll benutzt nichtblockierende Operationen, um den Aufwand für Kommunikation
zu reduzieren.
Als Anwendung des numerischen Verfahrens, wollen wir hier das Verhalten einer
neokortikalen Kolumne der Ratte simulieren, die als Basiseinheit in verschiedenen
Ausprägungen in den Gehirnen der meisten Säugetiere vorkommt. Durch die Modellierung und Simulation hoffen wir, Beiträge zum Verständnis des Gehirns zu
liefern.
2
2 Biologische Grundlagen
In diesem Kapitel stellen wir neurobiologische Grundlagen vor, die zum Verstehen
der Signalverarbeitung der Nervenzelle und der neokortikalen Kolumne der Ratte
notwendig sind.
2.1 Struktur von Nervenzellen
Eine Nervenzelle ist eine Grundeinheit der neuronalen Informationsverarbeitung
und hat entsprechend dieser Funktion einen spezifischen Aufbau. Vom Zellkörper,
dem Soma, zweigen baumartige Strukturen - Dendriten und Axon - ab (Abbildung
2.1). Synapsen dienen dazu, Signale von einem Neuron zum anderen oder Muskelfasern weiterzuleiten. Meistens leiten sie die Signale vom Axon einer Zelle zu dem
Soma oder Dendriten einer anderen Zelle.
Abbildung 2.1: Schematischer Aufbau des Neurons
Das Innere der Zelle ist mit einer Flüssigkeit, dem Zytoplasma gefüllt, in das
verschiedene Organellen eingebettet sind. Gleichzeitig dient das Zytoplasma als
Medium für elektrische Ströme innerhalb der Zelle, die aus geladenen Ionen bestehen. Die Zellmembran grenzt das Innere der Nervenzelle vom Außenraum ab. Sie
besteht aus einer Doppellipidschicht, in die Kohlenhydrate und Proteine eingebettet sind. Die Zellmembran reguliert den Fluss von Wasser, Ionen und Proteinen in
3
2 Biologische Grundlagen
und aus der Nervenzelle.
Es gibt verschiedene Typen von Nervenzellen. Ein Unterscheidungsmerkmal ist
die Anzahl der Fortsätze, die am Soma beginnen. Unipolare Zellen haben nur einen
Somafortsatz, so wie zum Beispiel sensorische Neuronen. Bipolare Zellen, Neuronen
mit zwei Somafortsätzen kommen in der Netzhaut des Auges vor. Abbildung 2.2
zeigt die schematische Darstellung verschiedener Polarität.
Ein anderes Unterscheidungsmerkmal ist die Myelierung der Axone. Myelin ist
eine fettreiche Substanz, die die Axone mancher Neuronen spiralförmig umwickelt.
Es dient als zusätzlicher Isolator und ermöglicht eine höhere Signalgeschwindigkeit
innerhalb des Axons. Dies trifft insbesondere bei Neuronen auf, deren Ausgabesignal schnell über große Entfernungen geleitet werden soll. So werden verschiedene
Bereiche der Großhirnrinde typischerweise über myelierte Axone miteinander verbunden.
Eine Möglichkeit der Klassifizierung
von Synapsen ist die Einteilung in chemische und elektrische Synapsen. Elektrische Synapsen sind Bereiche in denen Kommunikation zwischen zwei Zellen über direkten Austausch von Ionen
über einen sehr dünnen Spalt zwischen
den Zellen stattfindet.
Chemische Synapsen sind meist
unidirektional, die Signalübertragung findet nur in einer Richtung statt. Die
Empfänger-Seite wird postsynaptisch genannt, die andere präsynaptisch. Chemische Synapsen bestehen aus dem synap- Abbildung 2.2: Beispiele
Polarität
tischen Endkolben, einem Ende des Axnen. Von
ons der präsynaptischen Zelle, und eirechts:
nem postsynaptischen Bereich der MemBipolare,
bran der empfangenden Zelle. Ein Signal
Zellen
wird durch Botenstoffe, so genannte Neurotransmitter, übermittelt. Diese werden
4
verschieder
von Neurolinks nach
Unipolare,
Multipolare
2.2 Elektrophysiologische Eigenschaften von Nervenzellen
im Ruhezustand in Bläschen in den synaptischen Endkolben angereichert. Wird
ein Signal auf der präsynaptischen Seite ausgelöst, verschmelzen diese Bläschen
teilweise mit der Membran des Endkolbens und geben ihren Inhalt nach außen, in
den synaptischen Spalt, ab. Die Neurotransmitter docken an Rezeptoren der postsynaptischen Membran an. Sie beeinflussen dadurch direkt die Leitfähigkeit der
Ionenkanäle oder lösen sekundäre Reaktionen in der postsynaptischen Zelle aus,
die zur Änderung der Durchlässigkeit der Zellmembran für bestimmte Ionentypen
führen.
2.2 Elektrophysiologische Eigenschaften von
Nervenzellen
Eine der wichtigsten Eigenschaften der Membran ist, dass sie ein sehr guter Isolator
ist. Man kann sich deshalb einen kleinen Abschnitt der Zellmembran als parallel
geschalteten Kondensator und Widerstand vorstellen. Unter normalen Umständen bestehen elektrische Ströme durch die Membran aus von einer Hydrathülle
eingeschlossenen Ionen. Diese werden von hochselektiven Ionenkanälen gesteuert.
Besteht innerhalb der Zelle ein Potentialunterschied, so ist der spezifische Widerstand des Zytoplasma von Bedeutung.
2.2.1 Membranpotential
Die Konzentration von Ionen innerhalb und außerhalb einer Nervenzelle unterscheidet sich teilweise enorm. Für eine bestimmte Ionenart kann eine Gleichung
aufgestellt werden, die das so genannte Gleichgewichtspotential für eine bestimmte Temperatur definiert. Es gibt an, wie groß der elektrische Potentialunterschied
zwischen dem Inneren der Zelle und dem extrazellulären Medium sein muss, damit
sich die Ionenströme, verursacht durch den Potentialunterschied und den Konzentrationsgradienten, gerade aufheben. Das Gleichgewichtspotential E für eine
bestimmte Ionenart lässt sich anhand der Nernst-Gleichung bestimmen:
[X]a
RT
ln
.
(2.1)
E=
zF
[X]i
5
2 Biologische Grundlagen
Dabei ist R die Gaskonstante, T die absolute Temperatur in Kelvin, z die Valenz
des Ions und F die Faradaykonstante. [X]a und [X]i sind die Ionenkonzentrationen
außerhalb und innerhalb der Membran.
Da die Membran kein perfekter Isolator ist, lässt sie auch im Ruhezustand Ionenströme durch. So gennante Ionenpumpen halten aber den Konzentrationsunterschied aufrecht. Dadurch stellt sich ein so genanntes Ruhepotential ein, das sich
aus Gleichgewichtspotentialen der verschiedenen Ionenarten zusammensetzt. Wir
nennen die Membran hyperpolarisiert, wenn ihr Membranpotential kleiner ist und
depolarisiert, wenn es größer als das Ruhepotential ist.
Da durch die chemischen Synapsen die Leitfähigkeit der postsynaptischen Membran für bestimmte Ionenarten verändert wird, können wir zwischen exzitatorischen und inhibitorischen Synapsen unterscheiden. Exzitatorische depolarisieren
die Membran aus dem Ruhezustand, wärend die inhibitorischen Synapsen sie hyperpolarisieren.
2.2.2 Aktionspotential
Ein Aktionspotential ist eine kurzzeitige Abweichung vom Ruhepotential. Es dient
in Nervenzellen zur Signalübertragung innerhalb der Zelle. 1952 wurde Alan Lloyd
Hodgkin und Andrew Fielding Huxley ([7]) ein Modell aufgestellt, um die Entstehung von Aktionspotentialen im Riesenaxon des Tintenfisches zu erklären. Dieses
Modell basiert auf der Dynamik von Ionenkanälen für Natrium (Na+ ) und Kalium
(K+ ). Man stelle sich einen Abschnitt des Axons als ein zylindrisches Stück der
Membran vor, die das Zytoplasma umhüllt. In Abbildung 2.3 ist dargestellt, was
passiert, wenn die Membran stark genug depolarisiert wird. Wird die Membran
an einer Stelle über einen Schwellenwert hinaus depolarisiert, so öffnen sich verstärkt die Na+ -Kanäle und lassen Na+ -Ionen von außen einfließen, dadurch wird
die Membran immer weiter zum Gleichgewichtspotential von Na+ depolarisiert.
Ist die Depolarisation hoch genug, schließen sich die Natrium-Kanäle. Gleichzeitig
öffnen sich Kalium-Kanäle verstärkt und hyperpolarisieren das Membranpotential
zum Gleichgewichtspotential von K+ . Das nachfolgende Schließen der K+ -Kanäle
und die Arbeit der Ionenpumpen bewirken, dass sich das Membranpotential wieder
an das Ruhepotential annähert.
6
2.2 Elektrophysiologische Eigenschaften von Nervenzellen
Abbildung 2.3: Modell eines Aktionspotentials beim Riesenaxon des Tintenfisches.
EK , EN a Gleichgewichtspotentiale von N a+ und K + , Em Membranpotential. (aus [3], Abb. 4-18)
2.2.3 Elektrotonische Signalleitung
Ist ein Membranabschnitt depolarisiert, so sorgt ein axialer Ionenstrom zu den
benachbarten Bereichen der Membran dafür, dass auch deren Membranpotential
positiver wird und eventuell ein Aktionspotential ausgelöst wird. Diese elektrotonische Leitung wird demnach maßgeblich von der spezifischen elektrischen Leitfähigkeit des Zytoplasma und der spezifischen Membrankapazität beeinflusst. Im
Falle eines Membranzylinders ist der axiale elektrische Widerstand
RAx =
rAx L
,
πr2
(2.2)
wobei rAx der spezifische Widerstand des Zytoplasma, L die Länge und r der
Radius des Zylinderstückes sind.
Der Einfachheit halber nehmen wir an, dass der spezifische axiale Widerstand
konstant ist. Eine solche Membran nennen wir passiv. Injiziert man in den zylindrischen Abschnitt Ladungen mit einer bestimmten Stromstärke 4i , so lässt sich die
Ausbreitung der zusätzlichen Ladungsträger anhand des elektrischen Diagramms
aus Abbildung 2.4 veranschaulichen.
7
2 Biologische Grundlagen
Abbildung 2.4: Elektrotonus (nach [3], Abb. 4-17a)
Hier ist cm die Membrankapazität, Ei das Gleichgewichtspotential der Membran
und ri die axiale Leitfähigkeit der Teilstücke. Legt man einen konstanten positiven
elektrischen Strom 4i an, so steigt die Spannung zwischen Innerem und Äusserem
mit der Aufladung der Membran, was durch Kondensatoren modelliert wird. Messen wir den Strom 5mm von der Stelle des angelegten Stroms entfernt, so sehen
wir, dass er nur einen Teil von 4i ausmacht. Ein Teil des Stroms wird unterwegs
abgezweigt und fließt in die Kondensatoren und durch die Widerstände. Wenn man
nun die Kapazitäten cm erhöht, kommt noch weniger Ladungen bei 5 mm an, und
die Spannung steigt an dieser Stelle langsamer.
Hier sieht man, dass die Membrankapazität eine entscheidende Rolle bei der Weiterleitung von Signalen in Form von Aktionspotentialen ist, da es dort darum geht,
wie schnell das Schwellenpotential erreicht wird. Deshalb sind Axone, die Aktionpotentiale über längere Entfernungen transportieren müssen, wie in Abbildung 2.5
gezeigt, meistens von einer Myelinschicht umhüllt. Diese reduziert die Kapazität
der Membran und erlaubt dadurch schnelleres Depolarisieren an den Schnürringen
des Axons, Stellen, an denen die Myelinschicht unterbrochen wird. Dort wird das
Signal durch das Auslösen des Aktionspotentials verstärkt und springt zum nächs-
8
2.3 Die Neokortikale Kolumne
ten Schnürring. Neben der höheren Signalgeschwindigkeit hat die Myelierung den
Vorteil des niedrigeren Energieverbrauches, denn die Aktionspotentiale werden nur
an den Schnürringen ausgelöst.
Abbildung 2.5: Schema einer myelierten Faser (Verhältnis von Dicke und Länge
verändert nach [3], Abb. 4-19c). Bei Depolarisation fließt Membranstrom überwiegend in Schnürringen. Das spart Energie bei
der Leitungs des Aktionspotentials.Die Depolarisation pflanzt sich
besonders schnell zwischen den Schnürringen fort (nach [3], Abb.
4-19c).
2.3 Die Neokortikale Kolumne
Der Neokortex ist die oberste und evolutionär jüngste Schicht des Großhirnes der
Säugetiere. Er wird in mehrere Schichten (Laminae) unterteilt (L1 - L6), die sich
in der Zusammensetzung der in ihnen vorkommenden Zelltypen unterscheiden.
9
2 Biologische Grundlagen
Abbildung 2.6: Signalübertragunsstrecke (nach [12], Abb. 1.12).
Abbildung 2.7: Ein Schnitt durch den Kortex mit sichtbar gemachten L4Zellen.(nach [9], Abb. 1A).
Es wurde eine horizontale Ausdifferenzierung in säulenförmige Gebilde, auch
Kolumnen genannt, nachgewiesen. Diese sind eine Basiseinheit der neuronalen
Schaltkreise im Neokortex. Die Abbildung 2.7 zeigt einen Querschnitt durch den
Neokortex.
10
2.3 Die Neokortikale Kolumne
Abbildung 2.8: Somatotopie (nach [12], Abb. 1.13).
Bei Ratten entspricht zum Beispiel ein Schnurrbarthaar einer neokortikalen Kolumne des Neokortex [12]. Siehe dazu Abbildungen 2.6 und 2.8. Diese Entsprechung taucht in unterschiedlicher Ausprägung entlang der gesamten Signalstrecke
zwischen den Schnurrbarthaaren und dem Neokortex auf, z.B. im Hirnstamm und
Thalamus. Diese 1:1 Somatotopie macht Barrel-Kortex zu einem beliebten Studienobjekt für neuronale Verschaltung und Lerneffekte [12].
11
3 NeuGen
Um die Ausgangsdaten für die Simulation der kortikalen Kolumne in Silico zu gewinnen, verwenden wir NeuGen [4], eine Software zum Generieren von künstlichen
dreidimensionalen Geometrien von vernetzten Neuronen der kortikalen Kolumne.
Anhand vorgegebener Parameter und Generatoren für Zufallszahlen erzeugt NeuGen eine künstliche Kolumne. Dabei wurde Wert darauf gelegt, dass die NeuronenParameter möglichst direkt aus Versuchsergebnissen übernommen werden können,
und die Standardwerte für die implementierten Neuronen mit deren morphologischen Merkmale möglichst genau übereinstimmen.
NeuGen erzeugt nicht nur die Geometrie einzelner Neuronen, sondern verschaltet
sie auch zu einem neuronalen Netzwerk mittels Synapsen. Diese Synapsen sind
Verbindungen zwischen Dendriten und Axonen, die dort erstellt werden, wo deren
Abstand zueinander einen bestimmten Schwellenwert unterschreitet.
Der thalamische Input wird in Form von so genannten Alpha-Synapsen (dazu
siehe Abschnitt 4.4) auf den Dendritenbäumen von L4 - und L5 -Neuronen verteilt.
Der Ablauf des Algorithmus zur Generierung von Zellen ist wie folgt. Zuerst
verteilt NeuGen die Somata in der Kolumne. Ausgehend von diesen wird ein
Hauptstrang des Axons erzeugt, an den weitere Zweige angehängt werden. Die
Konstruktion der Dendriten erfolgt auf eine ähnliche Weise, nur dass hier die Konstruktion der Zweige iterativ ausgeführt wird. Das bedeutet, dass für jeden Zweig
ein Hauptstrang erzeugt wird, und von dem aus die Konstruktion weiterer Abzweigungen angestoßen wird.
12
Abbildung 3.1: Von NeuGen generierte kortikale Kolumne aus 12 Zellen. Dendriten
sind gelb, Soma rot, Axons blau dargestellt. Die graue Wire-FrameBox zeigt den Umriß der Kolumne. In der Mitte befindet sich die
Schicht 4.
Die von NeuGen erzeugte Kolumne enthält fünf Neuronenarten mit exzitatorischen Synapsen: L2/3-Pyramidal, L4-Spiny Stellate, L4-Starpyramidal, L5APyramidal und L5B-Pyramidal. Beispiele für diese Zelltypen sind in den Abbildungen 3.2 und 3.3 zu sehen. Die Abbildung 3.1 zeigt eine Beispielkolumne aus 12 Zellen, von denen drei L2/3-Pyramidal, fünf L4-Spiny Stellate, zwei L5A-Pyramidal
13
3 NeuGen
und zwei L5B-Pyramidal sind.
Abbildung 3.2: Von NeuGen erzeugte künstliche Neuronen. Von links nach rechts:
L2/3 Pyramidal, L4 Spiny Stellate, L4 Starpyramidal.
Abbildung 3.3: Von NeuGen erzeugte künstliche Neuronen. L5A Pyramidal und
L5B Pyramidal.
14
4 Modellierung
In diesem Kapitel entwickeln wir das mathematische Modell für die Signalverarbeitung in Neuronen. Wir modellieren ein Neuron als eine Menge gekoppelter
Kabelgleichungen. Geschichtlich wurde die Theorie der Kabelgleichungen zuerst
von Weber, [15], auf das Axon angewandt, wobei er nach stationären Lösungen für
ein dreidimensionales Kabel fragte. In der Arbeit von Hodgkin et al., [7], wurde
dann das erste Modell für das zeit- und potentialabhängige Verhalten des Membranwiderstandes aufgestellt.
Wir leiten die Kabelgleichungen her und konstruieren die analytische Lösung
für den einfachen Fall eines homogenen passiven Kabels her. Es wird die Modellierung der Ionenkanäle als eine Verallgemeinerung des Hodgkin-Huxley-Modells
angegeben. Anschließend zeigen wir, wie wir das zeitliche Verhalten von einfachen
chemischen Synapsen modellieren können.
4.1 Das Neuron als eine Menge von
Kabelgleichungen
Man kann Teile von Neuronen analytisch durch Kabelgleichungen beschreiben, da
sie im Vergleich zu ihrer Länge sehr dünn sind. Hier richten wir uns nach der
Darstellung des Themas in [14]. Um die Kabelgleichungen herzuleiten, gehen wir
von einem zylindrischen intrazellulären Stück der Länge 4x mit Radius rI aus,
das in eine zylindrische extrazelluläre Umgebung mit Radius rA eingebettet ist.
Die Abbildung 4.1 zeigt diesen Membranabschnitt.
15
4 Modellierung
Abbildung 4.1: Zylindrischer Membranabschnitt. 4x ist die Länge des Abschnittes, rI und rA Innen- und Außenradius.
Seien x und x + 4x die eindimensionalen Koordinaten auf der Längsachse, die
die Endpunkte des Membranabschnittes angeben. Die Radien seien so gering, dass
wir im Inneren und im Äußeren VI0 und VA0 , elektrische Potentiale bezüglich eines
Punktes im Unendlichen, entlang der Längenachse des Zylinders definieren können.
0
0
Wir bezeichnen mit VI,r
und VA,r
die Ruhepotentiale im Inneren und Äußeren und
0
0
definieren VM := VI − VA . Wir setzen den Nullpunkt des Potentials auf das äußere
0
Ruhepotential, so dass VA,r
= 0 V . Im Ruhezustand fließt durch die Membran
0
netto kein Strom, deshalb definieren wir noch V (t, x) := VI0 (t, x) − VI,r
, denn
V (t, x) − VA0 (t, x) = VM (t, x) − VI,r . Wir definieren elektrischen Strom durch die
Membran als positiv, wenn er aus Kationen besteht, die nach Innen wandern.
Entsprechend ist der Axialstrom positiv mit zunehmenden x-Werten.
Nehmen wir an, dass 4x so klein ist, dass das Membranpotential über die Mantelfläche des entsprechenden Zylinderabschnittes gleich ist. Nun können wir für das
zylindrische Membranstück ein elektrisches Schema in der Abbildung 4.1 betrachten. Abbildung 4.1 zeigt das elektrische Schema des Zylinderabschnittes, wobei
II , IA , RI und RA die axialen Stromstärken und Widerstände im Inneren und
Äußeren, IIA und IAA die angelegten Stromquellen und IM der Membranstrom
bezeichnet. RM und CM sind entsprechend Membranwiderstand und Kapazität.
16
4.1 Das Neuron als eine Menge von Kabelgleichungen
Abbildung 4.2: Ersatzschema des Membranzylinders (verändert nach [14], Abb. 4.2).
Da die Widerstände ohmsch angenommen werden, gilt
− RI (4x)II (t, x) = (V (t, x + 4x) − V (t, x)) ,
(4.1)
− RA (4x)IA (t, x) = (VA0 (t, x + 4x) − VA0 (t, x)) .
Der axiale elektrische Widerstand im Inneren berechnet sich wie der axiale Widerstand eines homogenen zylindrischen Leiterstücks, also RI = rsI 4x/AI , wobei rsI
der spezifische Widerstand des Inneren und AI die Querschnittsfläche πrI2 bezeich2
net. Analog gilt RA = rsA 4x/AA mit AA = π(rA
− rI2 ). Für den Membranstrom
IM erhalten wir
V (t, x + 4x) − VA0 (t, x + 4x)
∂VM (t, x + 4x)
+ CM (4x)
.
RM (4x)
∂t
(4.2)
Unter Annahme, dass die Membrandicke δ << rI und der Membranwiderstand
über das ganze Stück konstant ist, gilt
− IM (t, x + 4x) =
RM (4x) =
rM
2πrI 4x
(4.3)
17
4 Modellierung
mit rM als spezifischer Widerstand der Membran in Ohm · m2 . Entsprechend lässt
sich die Membrankapazität durch die spezifische Membrankapazität ausdrücken:
CM (4x) = 2πrI 4xcm .
(4.4)
Wir definieren iIA (4x) := IIA (4x)/4x. Nach dem 1. Kirchhoffschen Gesetz gelten
folgende Stromerhaltungsgleichungen
II (t, x + 4x) − II (t, x) = IM (t, x + 4x) + IIA (4x) ,
(4.5)
IA (t, x + 4x) − IA (t, x) = −IM (t, x + 4x) + IAA (4x) .
Da beide rechte Seiten proportional zu 4x sind, erhalten wir durch Umformen
und Grenzwertbildung 4x → 0
2πrI (V (t, x) − VA0 (t, x))
− 2πrI cm ∂1 VM (t, x) + iIA (0) ,
rM
2πrI (V (t, x) − VA0 (t, x))
∂2 IA (t, x) =
+ 2πrI cm ∂1 VM (t, x) + iAA (0) .
rM
∂2 II (t, x) = −
(4.6)
Aus den Gleichungen (4.1) folgt durch Umformen, Grenzwertbildung 4x → 0 und
nochmaliges Differenzieren nach x
rsI
∂2 II (t, x) = ∂22 V (t, x) ,
AI
rsA
−
∂2 IA (t, x) = ∂22 VA0 (t, x) .
AA
−
(4.7)
Eingesetzt in (4.6) erhalten wir
rsI
[KM ((V (t, x) − VA0 (t, x) + rM cm ∂1 VM (t, x)) − iIA (0)rM ] ,
AI r M
(4.8)
rsA
∂22 V 0 (t, x) = −
[KM ((V (t, x) − VA0 (t, x) + rM cm ∂1 VM (t, x)) + iAA (0)rM ]
AA r M
∂22 V (t, x) =
mit KM = 2πrI . Nach der Subtraktion der zweiten Gleichung von der ersten und
Umformen gilt
rM cm ∂1 VM (t, x) =
18
rM
∂22 VM − [V (t, x) − VA0 (t, x)]
S rM rsA iAA (0) rsI iIA (0)
−
−
S
AA
AI
(4.9)
4.1 Das Neuron als eine Menge von Kabelgleichungen
mit S := KM rAsII + rAsA
. Da der extrazelluläre Raum im Vergleich zum DurchA
messer der Zellteile typischerweise sehr viel größer ist, kann angenommen werden,
dass das extrazelluläre Medium den Widerstand 0 hat und daher VA0 (t, x) = 0 gilt.
Dies vereinfacht die obige Kabelgleichung zu
rM cm ∂1 V =
rM rsI iIA (0)
rM
∂22 V − V +
.
S
SAI
(4.10)
4.1.1 Dimensionslose Kabelgleichung
Wir wollen nun eine dimensionslose Form der Kabelgleichung herleiten, die für
die analytische Lösung benötigt wird. In (4.10) sind die einzelnen Größen mit
Einheiten verbunden:
V(t,x) ist die Depolarisation in Volt am Ort x zur Zeit t,
x ist die Ortsvariable mit der Einheit Meter,
t ist die Zeit in Sekunden,
rI ist der Innenradius in Metern,
rsI ist der spezifische Widerstand des innenzellulären Raumes in Ohm · Meter,
rM ist der spezifische Membranwiderstand in Ohm · Meter,
iIA ist die Stromstärkedichte des externen Stroms in Ampere pro Meter.
Man kann die Änderung der elektrischen Ladung Q im Abschnitt [x,x+4x)
während des Zeitintervalls [t,t+4t) mit iIA (0)(t, x)4x4t approximieren, so dass
iIA (0)(t, x) =
∂Q
.
∂x∂t
(4.11)
Wir machen die Orts- und Zeitvariablen dimensionslos, indem wir x̄ := x/kx und
t̄ := t/kt definieren. Nun definieren wir
V̄ (t̄, x̄) := V (t, x) ,
(4.12)
Q̄(t̄, x̄) := Q(t, x) .
Damit gilt
19
4 Modellierung
∂ V̄ dt̄
1 ∂ V̄
=
,
∂ t̄ dt
kt ∂ t̄
1 ∂ V̄
∂ V̄ dx̄
=
,
∂2 V =
∂ x̄ dx
kx ∂ x̄
1 ∂ 2 V̄
∂22 V = 2 2 ,
kx ∂ x̄
1 ∂ Q̄
.
∂21 Q =
kx kt ∂ x̄∂ t̄
∂1 V =
(4.13)
Wir können also die Kabelgleichung (4.10) schreiben als
rM cm ∂ V̄
rM ∂ 2 V̄
rM rsI ∂ Q̄
=
.
(4.14)
− V̄ +
2
2
kt ∂ t̄
Skx ∂ x̄
kt ky S ∂ x̄∂ t̄
p
Mit der Wahl kt = rM cm und kx = rM /S vereinfacht sich die Gleichung zu
∂ V̄
∂ 2 V̄
=
− V̄ + I¯ ,
∂ t̄
∂ x̄2
rM rsI ∂ Q̄
I¯ =
.
kx kt S ∂ x̄∂ t̄
(4.15)
Nun eliminieren wir die Dimension des Membranpotentials, indem wir die Gleichung durch VS teilen. VS sei das konstante Potential, das entsteht, wenn wir an
jeder Stelle der Membran von außen einen konstanten Einheitsstrom von I¯ = 1
2
Volt anlegen. VS ist also die Lösung von (4.15) mit ∂∂V̄t̄ = 0V und ∂∂ x̄V̄2 = 0V .
Damit ergibt sich die dimensionslose Form der Kabelgleichung
∂U
∂2U
=
−U +J .
∂ t̄
∂ x̄2
(4.16)
4.2 Analytische Lösungen der Kabelgleichung
Wir benutzen die Greensche Funktion, um die Kabelgleichung für einige einfache
Testfälle analytisch zu lösen. Das gegebene Problem ist ein Anfangswertproblem:
Vt = Vxx − V + I, t > 0, 0 < x < L ,
V (0, x) = V0 (x)
20
(4.17)
4.2 Analytische Lösungen der Kabelgleichung
mit V0 Membranpotential zum Zeitpunkt 0. Die Greensche Funktion G(t,x,y) der
Gleichung (4.17) ist die Lösung der Gleichung
Gt = Gxx − G, t > 0 ,
(4.18)
G(0, x, y) = δ(x − y) .
Wir zeigen, dass jedes V aus G konstruiert werden kann per
Z LZ t
Z L
G(t, x, y)V0 (y)dy +
G(t − s, x, y)I(s, y)dsdy .
V (t, x) =
0
0
(4.19)
0
Wir müssen also zeigen, dass V das Anfangswertproblem (4.17) löst. V erfüllt die
Anfangswertbedingung, denn
Z L
Z L
V (0, x) =
G(0, x, y)V0 (y)dy =
δ(x − y)δ(0)V0 (y)dy = V0 (x) .
(4.20)
0
0
Wir müssen nun zeigen, dass die Differentialgleichung aus (4.17) erfüllt ist.
Z L Z t
Z L
∂
Gt (t, x, y)V0 (y)dy +
G(t − s, x, y)I(s, y)dsdy . (4.21)
Vt (t, x) =
0 ∂t 0
0
Wegen
Z
∂ t
G(t − s, x, y)I(s, y)ds =
(4.22)
∂t 0
Z t
∂
G(0, x, y)I(t, y) +
G(t − s, x, y)I(s, y)ds
0 ∂t
gilt also
Z L
Z L
G(0, x, y)I(t, x)dy
(4.23)
Gt (t, x, y)V0 (y)dy +
Vt (t, x) =
0
0
Z LZ t
∂
+
G(t − s, x, y)I(s, y)dsdy = I(t, x)
0
0 ∂t
Z LZ t
Z L
∂
+
Gt (t, x, y)V0 (y)dy +
G(t − s, x, y)I(s, y)dsdy .
0
0 ∂t
0
Für die rechte Seite der Kabelgleichung aus (4.17) bekommen wir
Vxx (t, x) − V (t, x) + I(t, x) = I(t, x)
(4.24)
Z L
+
(Gxx (t, x, y) − G(t, x, y))V0 (y)dy
0
Z LZ t
+
(Gxx (t − s, x, y) − G(t, x, y))I(s, y)dsdy .
0
0
Aus (4.18) folgt nun die Erfüllung der Kabelgleichung (4.10) durch V.
21
4 Modellierung
4.3 Ionenkanäle vom Hodgkin-Huxley Typ
Was in der bisher entwickelten Kabelgleichung fehlt, ist ein Modell für die aktive
Membran, deren Leitfähigkeit mit der Membranpotential variiert. Oben haben wir
das Modell von Hodgkin-Huxley, [7], erwähnt, das es erstmal ermöglicht hat, die
Ausbreitung des Aktionspotential entlang des Riesenaxons des Tintentenfisches
mathematisch zu modellieren. Das Modell funktioniert durch die Interaktion von
drei Arten von Leitfähigkeiten der Membran: Leckstrom, K+ - und Na+ -Ionkanälen.
IM embrane = ḡK n4 (V − VN a) + ḡN a hm3 (V − VN a ) + gl (V − Vl )
(4.25)
Dabei sind gl , gK und gN a die maximalen Leitfähigkeiten des Leckstroms, K+ und Na+ -Ionkanälen. Entsprechend sind VK , VN a und Vl die Gleichgewichtspotentiale. n, m und h sind sogennante Gating-Variablen, Funktionen des Membranpotentials und der Zeit. Man kann die Gleichung 4.25 anhand der physikalischen
Konstruktion der Ionenkanäle interpretieren. Bei einem K+ -Ionenkanal müssen vier
Komponenten unabhängig voneinander einen bestimmten Zustand annehmen, damit er offen ist. Die Wahrscheinlichkeit, dass eine Komponente diesen Zustand
einnimmt, ist gerade m.
Die Zustandsänderung der Gating-Variablen wird durch ein System gewöhnlicher Differentialgleichungen definiert
ṅ = αn (1 − n) + βn n,
(4.26)
ṁ = αm (1 − m) + βm m,
ḣ = αh (1 − h) + βh h.
Hier sind α und β nichtlineare Funktionen, die die statistischen Änderungsraten
der Zustände in Abhängigkeit vom Membranpotential angeben. Sie sind hochgradig nichtlinear.
Wir verallgemeinern das Hodgkin-Huxley-Modell. Die Ionenkanäle vom HodgkinHuxley Typ, indiziert mit i, erfüllen folgende gleichung für den Membranstrom
X
iion =
gi mki i nlii (V − Ei ) .
(4.27)
i
22
4.4 Typen von Synapsen
Hierbei ist gi ist die maximale Leitfähigkeit der i-ten Ionenkanalart und Ei deren
Gleichgewichtspotential. Die Zustandsfunktionen mi und ni werden durch Differentialgleichungen definiert:
∂mi (t, V )
= ai (V )(1 − mi (t, V )) − bi (V )mi (t, V )
∂t
(4.28)
und
∂ni (t, V )
= ci (V )(1 − ni (t, V )) − di (V )ni (t, V ) ,
(4.29)
∂t
dabei sind ai , bi , ci , di in der Regel nichtlineare Funktionen, die die Öffnungs- und
Schließungsraten der Ionenkanäle zu gegebenen Membranpotentialen angeben.
4.4 Typen von Synapsen
In diesem Kapitel richten wir uns nach der Darstellung aus [2], Seite 180-183,
um die Modellierungsprinzipien für chemische Synapsen zu erklären. Wir betrachten nur die chemischen Synapsen und modellieren nur die postsynaptische Seiten
explizit, weil wir annehmen, dass die präsynaptische Seite nur durch die Ausschüttung der Neurotransmitter den Einfluss auf den Kommunikationsvorgang nehmen
kann. Analog zu den Ionenkanälen beschreiben wir die Wahrscheinlichkeit des Geöffnetseins eines von synaptischen Transmittern abhängigen Ionenkanals durch
dP
= α(1 − P ) − βP.
(4.30)
dt
Für gewöhnlich nimmt man β, die Schließungsrate, als konstant an. α dagegen
ist abhängig von der Konzentration der Neurotransmitter im synaptischen Spalt.
Die Wahrscheinlichkeit, dass ein Molekül des Ionentransmitters an den Rezeptor
des Ionenkanals angebunden wird, ist proportional zur Konzentration des Transmitters, [transmitter], so dass α proportional zu [transmitter]k ist.
Aus Gründen der Einfachheit nehmen wir weiter an, dass die Transmitterkonzentration sehr schnell einen Maximalwert erreicht und nach einem bestimmten
Zeitintervall T auch sehr schnell abgebaut wird. Demnach wird die Transmitterkonzentration durch einen rechteckigen Impuls beschrieben.
Sei 0 der Zeitpunkt, zu dem die Ausschüttung der Neurotransmitter beginnt
und α sehr viel größer als β, solange die Transmitterkonzentration hoch bleibt und
gleich 0 andernfalls .
23
4 Modellierung
Der Verlauf von P lässt sich damit in zwei Zeitbereiche einteilen.
P (t) = 1 + (P (0) − 1)e−αt , 0 ≤ t ≤ T ,
(4.31)
P (t) = P (T )e−β(t−T ) , t > T
für den Zustand der postsynaptischen Seite. Dabei ist P (t) der Anteil der geöffneten postsynaptischen Kanäle.
Abbildung 4.3: Beispiele für die höhere Flexibilität der
Exp2syn Darstellung der postsynaptischen
Reaktion gegenüber der Alpha-Synapse.
Synapsen, die in der Simulation verwendet werden, sind dieselben, die NeuGen generiert. In der Terminologie von NEURON sind es Alpha- und Exp2synSynapsen. Beide reagieren auf das Überschreiten eines Schwellwertpotentials auf
präsynaptischer Seite mit einem festen zeitabhängigen Verhalten ihrer Leitfähigkeit. Bei Alpha-Synapsen wird der zeitliche Verlauf durch
Pα (t, τ ) =
festgelegt.
24
Pmax t
exp(1 − t/τ )
τ
(4.32)
4.4 Typen von Synapsen
Exp2syn Synapsen erlauben, wie in der Abbildung 4.4 dargestellt, mehr Freiheit
bei der Beschreibung der Steilheit der Leitfähigkeitskurve. Sie werden durch die
folgende Gleichung beschrieben
Pe2s (t, τ1 , τ2 ) = Pmax B(exp(−t/τ1 ) − exp(−t/τ2 )) .
B sichert die Gleichheit von Pmax und dem Maximum von P durch
τ /τ1 τ /τ2 !−1
τ2
τ2
−
,
B :=
τ1
τ1
(4.33)
(4.34)
wobei
Pe2s τ · ln
τ1
τ2
, τ1 , τ2
= Pe2s ln
τ1
τ2
τ1 τ2
, τ1 , τ2
τ1 − τ2
= Pmax .
(4.35)
25
5 Diskretisierung
In diesem Kapitel stellen wir die Diskretisierungen zweiter Ordnung der Kabelgleichungen in Ort und Zeit vor. Die Diskretisierung in Ort wird durch das mathematische Multi-Compartment-Modell des Neurons bewerkstelligt. Die Diskretisierung
in der Zeit ist eine Form des Crank-Nicolson-Verfahrens, bei dem der Zustandsvektor der Ionenkanäle und das Membranpotential auf zueinander verschobenen
Zeitgittern berechnet werden. Kombiniert entsprechen die beiden Diskretisierungen einer einem Verfahren zweiter Ordnung in Ort und Zeit.
5.1 Das Multi-Compartment-Modell
Das nichtlineare Verhalten der Membranströme bei Änderungen des Membranpotentials sowie die in der Natur sehr ausdifferenzierte Form der Dendritenbäume
deuten darauf hin, dass die Form des Neurons einen entscheidenden Einfluss auf
die Art und Weise ausübt, wie es die Informationen verarbeitet. Entsprechende
Studien unterstützen diese Hypothese [10], [11], [6]. Daher brauchen wir eine detaillierte Beschreibung der Geometrie in dem numerischen Modell des Neurons.
Ein Multi-Compartment-Modell beschreibt ein Neuron als eine Ansammlung von
einfachen und homogenen Compartments, die durch die Stromerhaltung nur an
angrenzende oder synaptisch verbundene Nachbarn gekoppelt sind. Das Modell,
das wir verwenden, wurde 2003 von Lindsay und Rosenberg veröffentlicht, [8]. Im
Folgenden beziehen wir uns auf diese Darstellung. Ein Compartment ist demnach
ein Kegelstumpf oder Zylinder mit bestimmten statischen und dynamischen Eigenschaften wie in der Abbildung 5.1 abgebildet.
26
5.1 Das Multi-Compartment-Modell
Abbildung 5.1: Relevante Eigenschaften eines Compartments.
V1 , V2 sind elektrische Membranpotentiale an den Enden des Compartments,
gAx die spezifische axiale Leitfähigkeit,
gm ist die spezifische elektrische Leitfähigkeit der Membran,
cm ist die spezifische elektrische Kapazität der Membran,
r1 ,r2 sind die Endradien des Compartments,
L ist die axiale Länge.
Eine Annahme des Modells ist, dass die axiale Leitfähigkeit eines Compartments
viel größer ist, als die Leitfähigkeit der Membran. Diese Annahme ist dadurch
gerechtfertigt, dass für die Leitfähigkeiten eines homogenen Zylinders mit Radius
r in den für die Simulation (empirisch) relevanten Fällen gilt
(2πrL)gm
2L2 gm
=
<< 1 .
(πr2 /L)gAx
rgAx
Der Axialstrom I12 , verursacht durch Potentialdifferenz, ist dann für ein Compartment durch die Differentialgleichung I12 = gAx A(x)∂V /∂x gegeben. Dabei ist
A(x) = πr(x)2 die Querschnittsfläche des Compartments an der Position x und
r(x) = (1 − x/L)r1 + (x/L)r2 , x ∈ [0; L]. Nach dem Lösen dieser Gleichung durch
Integration erhalten wir
I12 =
πgAx r1 r2
(V2 − V1 ) .
L
(5.1)
Die axiale Leitfähigkeit eines Compartments ist also πgAx r1 r2 L−1 .
27
5 Diskretisierung
Angewandt auf das Membranpotential an einer beliebigen Stelle innerhalb des
Compartments erhalten wir
V (x) =
V1 r1 (1 − λ) + V2 r2 λ
x
V1 r1 (1 − x/L) + V2 r2 x/L
= V (λ) =
, λ := . (5.2)
r1 (1 − x/L) + r2 x/L
r1 (1 − λ) + r2 λ
L
5.1.1 Aufteilung des Membranstroms
Den Einfluss des verteilten Transmembranstroms berücksichtigen wir insoweit, als
dass es gerade die Differenz der Stromstärken in den beiden Enden eines Compartments und dem Axialstrom ausmacht aufgrund der Stromerhaltung. Es gilt
also
ZL
(I12 (t) + I2 (t)) − (I12 (t) + I1 (t)) + J(x, t)dx = 0 .
(5.3)
0
Mit I1 , I2 bezeichnen wir die Stromanteile an den Strömen in den Enden des Compartments, die aus verteilten Transmembranstrom bestehen. J(x, t) ist die Stromstärke des Transmembranstroms am Punkt x zum Zeitpunkt t. Um der Stromerhaltungsgleichung zu genügen, benutzen wir eine Aufteilungsregel für den verteilten
Transmembranstrom. Wir definieren, dass sich die Anteile von J(x, t) so verhalten,
wie die axialen Leitfähigkeiten der zugehörigen Teilstücke G1 (λ), G2 (λ), für die gilt
G1 (λ) =
πgAx r1 r(λ)
λL
G2 (λ) =
πgAx r2 r(λ)
.
(1 − λ)L
(5.4)
Also ist
i+1
Ii (t) = −1
Z1
L
Gi (t)J(λ, t)
dt, i ∈ 1, 2 .
G1 (t) + G2 (t)
(5.5)
0
Es ist unmittelbar einsichtig, dass diese Regel die Stromerhaltungsgleichung (5.3)
erfüllt.
5.1.2 Komponenten des Membranstroms
Bezogen auf das Compartment können wir den Membranstrom als die Summe
Z
Z
X
X
∂V
dx + 2πrJion (V )dx +
Jsyn (V ) +
IEX
(5.6)
2πrcm
∂t
28
5.1 Das Multi-Compartment-Modell
beschreiben. Hierbei wird über die Achse des Compartments integriert. cm ist die
spezifische Membrankapazität (F/m2 ), Jion die Stromstärkedichte der verteilten
Ionenströme (A/m2 ), Jsyn sind die Synapsenströme (A) und IEX sind externe
zeitabhängige Ladungsquellen.
5.1.3 Aufteilung des kapazitativen Stroms
Nach (5.5) und (5.2) können wir die Anteile der kapazitativen Ströme schreiben
als

Z1
2

(1 − λ) cm (λ)dλ 
(1 − λ)r1 + λr2
0


Z1
dV2
λ(1 − λ)cm (λ)dλ 
+2πr1 L r2
,
dt
(1 − λ)r1 + λr2
I1cap = 2πr1 L r1
dV1
dt
(5.7)
0

Z1

λ(1 − λ)cm (λ)dλ 
(1 − λ)r1 + λr2
0


Z1
2
dV2
λ cm (λ)dλ 
−2πr1 L r2
.
dt
(1 − λ)r1 + λr2
I2cap = −2πr1 L r1
dV1
dt
0
Die zu berechnenden Integrale
Z1
In1 :=
(1 − λ)2 cm (λ)dλ
,
(1 − λ)r1 + λr2
(5.8)
0
Z1
In2 :=
λ(1 − λ)cm (λ)dλ
,
(1 − λ)r1 + λr2
0
Z1
In3 :=
λ2 cm (λ)dλ
(1 − λ)r1 + λr2
0
29
5 Diskretisierung
bilden das Gleichungssystem
Z1
In1 + 2In2 + In3 =
cm (λ)dλ
,
(1 − λ)r1 + λr2
(5.9)
0
Z1
(1 − λ)cm (λ)dλ ,
r1 In1 + r2 In2 =
0
Z1
r1 In2 + r2 In3 =
λcm (λ)dλ .
0
Unter Annahme von cm (λ) = (1 − λ)cm (0) + λcm (1), c1 := cm (0), c2 := cm (1)und
r1 6= r2 lässt sich das obere Gleichungssystem eindeutig lösen und ergibt damit die
Darstellung
I1cap =2πLr1 [c1 ψ(r1 , r2 ) + c2 φ(r1 , r2 ))]
dV1
dt
+ 2πL [c1 r2 φ(r1 , r2 ) + c2 r1 φ(r2 , r1 )]
(5.10)
dV2
,
dt
dV1
dt
dV2
+ 2πLr2 [c1 φ(r2 , r1 ) + c2 ψ(r2 , r1 )]
dt
−I2cap =2πL [c1 r2 φ(r1 , r2 ) + c2 r1 φ(r2 , r1 )]
mit
x
6xy 2
x
2
2
φ(x, y) =
log
,
x − 5xy − 2y +
6(x − y)3
x−y
y
x − 3y
ψ(x, y) =
− φ(x, y) .
2(x − y)2
(5.11)
Im Fall von zylindrischen, kapazitativ homogenen Compartments kann man
In1 , In2 , In3 direkt integrieren und erhält
I1cap
−I2cap
30
2πrLcm
dV1 dV2
=
2
+
,
6
dt
dt
2πrLcm dV1
dV2
=
+2
.
6
dt
dt
(5.12)
5.2 Zeitliche Diskretisierung
5.1.4 Membran-Ionenströme.
Analog zu dem beschriebenen Verfahren approximieren wir die spezifische Leitfähigkeit für eine bestimmte Sorte von Ionenstrom durch die Membran durch
g(λ, t) = g1 (t)(1 − λ) + g2 (t)λ mit g1 (t) := g(0, t), g2 (t) := g(1, t). Damit gilt
für den nichtzylindrischen Fall
I1ion =2πLr1 [g1 ψ(r1 , r2 ) + g2 φ(r1 , r2 ))] (V1 − E)
(5.13)
+ 2πL [g1 r2 φ(r1 , r2 ) + g2 r1 φ(r2 , r1 )] (V2 − E) ,
−I2ion =2πL [g1 r2 φ(r1 , r2 ) + g2 r1 φ(r2 , r1 )] (V1 − E)
+ 2πLr2 [g1 φ(r2 , r1 ) + g2 ψ(r2 , r1 )] (V2 − E) .
Für zylindrische Compartments erhalten wir durch Integration
g1 + g2
3g1 + g2
ion
I1 = 2πrL
(V1 − E) +
(V2 − E) ,
12
12
3g2 + g1
g1 + g2
ion
(V2 − E) +
(V1 − E) .
−I2 = 2πrL
12
12
(5.14)
5.2 Zeitliche Diskretisierung
Indem wir die Kabelgleichungen mithilfe des Multi-Compartment-Modells diskretisieren, erhalten wir ein System von gewöhnlichen Differentialgleichungen für alle
Enden von Compartments. Dieses können wir mit dem Staggered-Steps-Verfahren
numerisch lösen.
5.2.1 Staggered Steps
Wir bezeichnen beide Enden eines Compartments als Knoten. Sind zwei Compartments direkt verbunden, so identifizieren wir die Knoten, die die einander zugewandten Seiten der verbundenen Compartments repräsentieren. An jedem Knoten
gilt die Stromerhaltungsgleichung, die insgesamt in Matrixform dargestellt werden
kann. Mit der Trapezregel können wir nun ein Verfahren zweiter Ordnung konstruieren, das stabil ist und ohne die iterative Berechnung der Membranpotentiale
auskommt.
31
5 Diskretisierung
Wir schränken den Ort von Synapsen und externen Strömen auf die Knoten ein.
Die Stromerhaltungsgleichung in Matrixform lautet dann
CV − A
X
X
dV
− IEXT −
Gα (V − Eα ) −
Gβ (V − Eβ ) = 0 .
dt
α
β
(5.15)
Hierbei ist V der Vektor der Membranpotentiale an den Knoten, IEXT sind die externen Stromquellen an den Knoten. A dV
enthält nach dem Ausmultiplizieren die
dt
Terme aus (5.11). Analog enthalten die Summenterme mit Gβ und Gα Ausdrücke
für die verteilten Ionen- und Synapsenströme. CV repräsentiert die axialen Ströme
an jedem Knoten. Gemäß der Annahme sind die IEXT und Gα Diagonalmatrizen
mit nichtnegativen Diagonalelementen.
Ausgehend von der Matrixdarstellung der Stromerhaltungsgleichung für das
Multi-Compartment-Modell können wir ein Lösungsverfahren 2. Ordnung vorschlagen. Aus
A
X
X
dV
Gβ (V − Eβ )
Gα (V − Eα ) −
= CV − IEXT −
dt
α
β
(5.16)
können wir das implizite Euler Verfahren konstruieren mit t2 = t1 + 4t
AV (t2 ) = AV (t1 ) + 4t(CV (t2 ) − IEXT (t2 )
X
−
Gα (t2 , V (t2 ))(V (t2 ) − Eα )
(5.17)
α
−
X
Gβ (t2 , V (t2 )(V (t2 ) − Eβ )) .
β
Dabei sind in unserem Fall Gα nicht von V (t2 ) abhängig, denn die verwendeten
Leitfähigkeit-Funktionen sind nicht von den postsynaptischen Neuronen abhängig.
Weiter beträgt die Verzögerung zwischen den synaptischen Seiten von Exp2synSynapsen > 0,5 ms, wobei die maximale empfohlene Zeitschrittweite 0,05 ms beträgt, so dass keine Abhängigkeit zu V (t2 ) zu präsynaptischen Neuronen besteht.
Wir erhalten ein Verfahren 2. Ordnung für Ionenkanäle vom Hodgkin-Huxley
Typ, wenn wir V (t2 ) mit V (t2 ) = 2V (t + 4t/2) − V (t1 ) berechnen, vorausgesetzt, dass V (t + 4t/2) mit einem Schritt des expliziten Euler erhalten wurde.
Dabei taucht allerdings das Problem auf, die Leitfähigkeiten der Ionenkanäle,
Gβ (t + 4t/2, V (t + 4t/2)), zu berechnen, da sie von nichtlinearen Funktionen für
32
5.2 Zeitliche Diskretisierung
die Schließ- und Öffnungsraten bestimmt werden. Die Werte der Ratenfunktionen
können aber durch
n(t+4t/2, V (t + 4t/2)) = n(t − 4t/2, V (t − 4t/2))+
(5.18)
n(t + 4t/2) + n(t − 4t/2)
4t α(V (t)) − (α(V (t) + β(V (t)))
2
approximiert werden, ohne die Ordnung des Verfahrens zu reduzieren.
Wir approximieren also das Membranpotential durch das Potential zum Zeitpunkt t. Die Abbildung 5.2 veranschaulicht den Ablauf und den Informationsfluss
des Verfahrens.
Abbildung 5.2: Veranschaulichung der Berechnungsschritte und der verwendeten
Zwischenergebnisse.
5.2.2 Die Baummatrix
Da in jedem Zeitschritt des Verfahrens ein lineares System gelöst werden muss,
wollen wir zusätzlich die Baummatrix einführen. Wir werden zeigen, dass sich die
Eigenschaften der Baummatrix verwenden lassen, um das Gleichungssystem direkt
zu lösen.
Betrachten wir zunächst den Knotenbaum, also einen Baum, bei dem die Kanten
gerade die Compartments sind. Wir durchlaufen den Baum mit dem Algorithmus
für Tiefensuche. Dabei nummerieren wir jeden besuchten und noch nicht nummerierten Knoten beginnend mit 1 durch. Danach kehren wir die Nummerierung
um mit i→n-i+1, wobei n die Gesamtanzahl der Knoten ist. Nun stellen wir eine
33
5 Diskretisierung
Matrix auf, deren Zeilen und Spalten den Knotenindizes entsprechen und jeweils
dort eine 1 haben, wo die entsprechenden Knoten identisch oder durch ein Compartment verbunden sind. Sonstige Elemente der Matrix seien 0. Siehe dazu auch
Abbildung 5.3.
Abbildung 5.3: Das Schema der Generierung von Baummatrizen.
5.3 Der Löser
Neuronale Strukturen weisen bei Verzweigungen nur wenige Zweige auf. Per Konstruktion ist eine Baummatrix demnach dünn besetzt und symmetrisch. Die Nummerierung der Knoten ist so ausgelegt, dass ein Verzweigungsknoten einen höheren
Index hat, als die direkten Nachbarn, die weiter vom Startknoten des Knotenbaumes entfernt sind. Sei n die Spaltenanzahl der Baummatrix. Dann befindet sich in
jeder der ersten n-1 Spalten genau eine 1 unter der Diagonalen.
Wir verwenden die Knotenindizierung aus dem oberen Verfahren, um die Matrizen aus (5.18) aufzustellen. Es tauchen Einträge 6= 0 höchstens da auf, wo Knoten
durch Segmente verbunden sind, also dort, wo die Baummatrix bereits 1 hat.
34
5.3 Der Löser
Die Gleichung (5.18) formen wir um zu
M (t2 )V (t2 ) = AV (t1 ) + 4t(−IEXT (t2 ) +
X
α
Gα (t2 )Eα +
X
Gβ (t2 )) ,
(5.19)
β
X
X
M (t2 ) := A + 4t(
Gα (t2 ) +
Gβ (t2 ) − C) .
α
β
Per Konstruktion sind die Matrizen A, Gα und Gβ strikt diagonaldominant. C ist
diagonaldominant. Also ist M ebenfalls strikt diagonaldominant und hat höchstens
dort Elemente 6= 0, wo sie auch in der Baummatrix auftreten. Wir können daher
die Gauß-Elimination ohne Pivoting anwenden, um das lineare Gleichungssystem
(LGS) zu lösen. Offensichtlich werden in jedem Schritt der Gauß-Elimination keine
neuen Elemente 6= 0 an Positionen, die bisher 0 waren, erzeugt. Bei neuronalen
Multi-Compartment-Modellen handelt es sich meist um Strukturen mit einer konstanten maximalen Rate von Verzweigungen, so dass die Baummatrix dünn besetzt
ist. Deshalb können wir das Gleichungssystem in der Praxis in linearer Zeit lösen.
Analog zu dem Knotenbaum erhalten wir für ein Netz aus synaptisch verknüpften Neuronen einen Knotenwald, der aus Knotenbäumen besteht. Die entsprechende Matrix ist blockdiagonal, wobei die Blöcke gerade die Baummatrizen einzelner
Neuronen sind. Für das gesamte Netz stellen wir daher ein zu 5.19 äquivalentes
LGS auf, das wir mit der Gauß-Elimination ohne Pivoting lösen können.
35
6 Die Implementierung
In diesem Kapitel zeigen wir, wie wir den Löser für die Diskretisierung implementiert haben. Wir zeigen, wie man eigene Modelle für die Simulation definieren
kann, und wie man die von NeuGen erzeugten Netze importiert. Dazu erklären wir
die benötigten Datenstrukturen und Vorgehensweisen. Ein besonderes Augenmerk
gilt der Behandlung der Berechnung auf parallelen Computern. Für die Kommunikation zwischen den einzelnen Instanzen des Programms wird ein dezentralisiertes
Protokoll verwendet, das den Datenaustausch zwischen den Prozessoren auf effiziente Art regelt.
6.1 Wahl der Programmiersprache
Wir haben uns für die Programmiersprache C++ entschieden, weil sich diese Sprache einerseits gut für numerische Anwendungen eignet, andererseits aber auch objektorientiertes Programmieren unterstützt und sich, durch zusätzliche Werkzeuge,
gut für Erstellung von parallelisierten Programmen eignet. C++ ist bei numerischen Anwendungen beliebt, weil sie durch Inklusion von C Maschinennähe und
entsprechende Optimierungsmöglichkeiten bietet. Durch die Unterstützung des objektorientierten Programmierens eignet sie sich aber auch für größere und ausbaufähige Softwarepakete, die spezifische Ansprüche an Wartbarkeit und Wiederverwertbarkeit des Quellcodes stellen. Weitere nützliche Eigenschaften von C++ sind
ihre Ausgereiftheit und die Portabilität des Quellcodes.
6.2 Definition einer Simulation
Die Simulation wird als C++ Programm erstellt. Innerhalb der Programmdatei definiert man das Modell oder importiert vorgefertigte Modelldaten, setzt den Löser
36
6.2 Definition einer Simulation
auf und exportiert gewählte Daten in Form von Dateien. Zum Beispiel kann man
das simulierte Modell ins HOC-Format des Programms NEURON exportieren.
6.2.1 Definition des Modells
Die Definition der neuronalen Modelle erfolgt in drei Phasen:
1. Definition von Geometrie und elektrophysiologischen Eigenschaften der Nervenzellen.
2. Verknüpfung von einzelnen Modellen durch Synapsen.
3. Verteilen von Input-Synapsen.
Das Modell eines Neurons besteht aus Segmenten, den eigentlichen Compartments,
und den post- und präsynaptischen Seiten von Synapsen. Im Folgenden nennen
wir Compartments auch Segmente. Die Art, wie ein Modell im Quellcode definiert
wird, lehnt sich an die Skriptsprache von NEURON, [1], an.
Hier ist ein Beispiel, wie ein simples Modell mit passiver Membran in NEURON
definiert werden kann:
create soma, dendrite
soma {
nseg = 1
// Anzahl der Compartments
diam = 5
// Durchmesser
Ra = 123
// Spezifischen axialen Widerstand setzen
// Leere die Punktliste
pt3dclear()
// Setze die Endpunkte des Soma.
pt3dadd(0,0,0,diam)
pt3dadd(1,0,0,diam)
insert pas
// Setze passive Membraneigenschaften
g_pas = .0001666
// Spezifische Leitfaehigkeit
e_pas = −60.0 // Gleichgewichtspotential
}
dendrite {
nseg = 1
37
6 Die Implementierung
pt3dclear()
pt3dadd(0,0,0,2)
pt3dadd(1,0,0,1)
}
// Verbinde das Ende 0 des Dendriten
// mit dem Ende 1 von Soma.
connect dendrite(0), soma(1)
Jedes Segment wird durch die 3D-Position seiner Endpunkte sowie die beiden
Endradien definiert. Dann setzt man die elektrophysiologischen Eigenschaften der
Membran und kann optional zusätzliche Ionenkanäle hinzufügen. Synapsen werden in einem separaten Schritt erzeugt, da sie die Indizes der Segmente und die
Knoten im Geometriemodell der Neuronen benötigen. Beispiele für die Definition
des Modells in NeuSim können im Anhang nachgelesen werden.
6.2.2 Einlesen von Netzen aus NeuGen
Zum Einlesen von Netzen, die von NeuGen erzeugt werden, existiert ein Subsystem von Klassen. NeuGen exportiert die Daten in Form von Geometrien einzelner
Neurone und Positionsinformationen für Synapsen in ein Unterverzeichnis namens
model. Für Alpha-Synapsen werden zusätzlich die Gewichtung sowie die Zeitpunkte der Aktivierung herausgeschrieben.
Der NeuronGeometryImporter liest die Geometriedaten neuronenweise ein. Bei
jedem Compartment lässt er Instanzen des SegmentObserver die elektrophysiologischen Eigenschaften initiieren. Als Ausgabe generiert der NeuronGeometryImporter für jedes Neuron ein CompiledNeuronModel. Der SynapsesFileReader liest
die Datei synapses und reicht die Daten an den DataTargetContainer weiter, der
einen oder mehrere SynapsesHandler enthält, die die weiteren Parameter der Synapsen mithilfe der Daten aus CompiledNeuronModel festlegen. Die Abbildung 6.1
veranschaulicht das Zusammenspiel der Klassen als Blockdiagramm.
38
6.2 Definition einer Simulation
Abbildung 6.1: Darstellung der Daten-Pipeline zwischen NeuGen und der Simulation.
Abbildung 6.2: UML Diagramm der geometrischen Grundklassen.
Durch das Implementieren eigener SynapseHandler und SegmentObserver kann
39
6 Die Implementierung
man leicht die elektrophysiologischen Parameter des Modells anpassen.
Um den Zugriff auf die geometrischen und elektrophysiologischen Eigenschaften
eines Neuronen-Modells zu vereinheitlichen, existieren zwei Basisklassen. So liefert
NeuronModelInterface Segment-Informationen in Form von Objekten der Klasse
Segment. Das SimpleModelSegment besitzt zusätzlich die Möglichkeit Anfangs- und
Endpunkte eines Segmentes anzugeben. Abbildung 6.2 zeigt das UML-Klassendiagramm der Klassen, die für die Darstellung und Definition der Geometrie notwendig sind
6.3 Der Löser
Wie oben ausgeführt, muss in jedem Zeitschritt das Gleichungssystem
M (t2 )V (t2 ) = AV (t1 ) + 4t(−IEXT (t2 ) +
X
α
Gα (t2 )Eα +
X
Gβ (t2 )) ,
(6.1)
β
X
X
Gβ (t2 ) − C) .
Gα (t2 ) +
M (t2 ) = A + 4t(
α
β
aufgestellt und gelöst werden. Dabei ist M (t2 ) eine strikt diagonaldominante blockdiagonale Matrix. Damit sind die Lösungen für einzelne Neuronen von den Lösungen anderer Neurone unabhängig.
Der lokale Löser für jede Zelle wird durch ein Objekt der Klasse StaggedSolver
repräsentiert. Er arbeitet auf einem äquidistanten Zeitgitter.
Bei der Konstruktion des Lösers übergibt man ihm eine eindeutige Identifikationsnummer sowie die Zeitschrittweite des Zeitgitters. Mit der Funktion addHHTMembraneMechanism() des Lösers sollte man die Mechanismen der Ionenkanäle,
die man vorher bei der Definition des Modell benutzt hat, in den Löser einfügen.
Macht man dies nicht, so werden sie bei der Simulation nicht verwendet. Synapsen
werden mit addSynapses(), ebenfalls einer Funktion von StaggedSolver, hinzugefügt. Das fertige Compartment-Modell wird mit setModel() in den Löser geladen.
Wenn es das SimpleModel ist, wird es kompiliert, es werden also Knoten erzeugt
und durchnummeriert.
40
6.3 Der Löser
Abbildung 6.3: UML Diagramm der Klasse StaggedSolver und der referenzierten
Klassen der Synapsen und Ionenkanälen von Typ Hodgkin-Huxley.
Das Membranpotential setzt man, indem man es als Vektor mit getV() holt.
Dieser Vektor enthält Membranpotentiale an allen Knoten des Modells, wobei die
Indizes den Knoten-Indizes entsprechen. Das geänderte Membranpotential wird
mit setV() in den Löser geladen. Ein Simulationsschritt auf dem Zeitgitter wird
mit trace() angestoßen. Innerhalb dieser Funktion wird erst geprüft, ob alle postsynaptischen Seiten aktuell sind, Synapses::upToDate(), also eventuelle Signale
von den präsynaptischen Neuronen erhalten haben. Wenn ja, so wird der nächs-
41
6 Die Implementierung
te Simulationsschritt durchgeführt. Dabei werden die Stati von Ionenkanälen und
Synapsen mit HHTStateCalc::staggedStep() und Synapses::step() berechnet. Am
Ende wird die update() Funktion der synaptischen Seiten angestoßen, um die Signale von den präsynaptischen an die postsynaptische Neuronen zu senden. Die
Abbildung 6.3 zeigt das UML-Modell der Klassen, auf die StaggedSolver zugreift.
Für Matrixoperationen des Lösers wird die Klasse SparseRowMatrix benutzt.
Diese ermöglicht das effiziente Speichern von dünn besetzen Matrizen, wie sie im
Lösungsverfahren auftauchen. Die Klasse ermöglicht simple Matrixoperationen wie
die Addition und Subtraktion, sowie skalare und rechtsseitige Vektormultiplikation. Die interne Struktur der Matrix ist zeilenorientiert. Ein Array von Zeigern
verweist auf die Zeilen. Diese werden jeweils als ein Vector der Standard Template
Library (STL) von C++ gespeichert. Jedes Element der Matrix wird durch ein
Paar (Spaltenindex, Wert) repräsentiert. Die Werte werden innerhalb der Zeilenvektoren nach dem Spaltenindex sortiert gespeichert, so dass die Suchzeit für einen
Eintrag in einer gegebenen Spalte maximal logarithmisch in der Zeilengröße ist.
Die Abbildung 6.4 zeigt das Speicherformat der Matrixklasse.
Abbildung 6.4: Implementation der Matrix Klasse.
Da in unserer Anwendung die meisten Compartments sich nicht direkt an Verzweigungen befinden, werden meistens nur zwei Zahlen pro Zeile der beteiligten
Matrizen gespeichert. Deswegen ist die Zugriffszeit auf die Matrixelemente hier
ungefähr konstant.
Ein Vorteil der Speicherung in einem STL-Vektor ist der geringe Speicherverbrauch und die Möglichkeit eine Zeile zu vergrößern, zu verkleinern oder zusätzliche
Elemente einzufügen. Ein Nachteil ist, dass eine Änderung der Zeilenstruktur potentiell sehr teuer werden kann. Der Hauptgrund ist, dass es bei der Vergrößerung
eines STL-Vectors passieren kann, dass dem STL-Vector ein neuer Speicherbereich
42
6.3 Der Löser
für die Daten zugewiesen wird, wenn der alte nicht ausreicht. Anschließend werden
die Daten kopiert. Dieses Problem ist für uns nicht gegeben, denn unsere Zeilen
sind typischerweise sehr klein (zwei Werte).
Um neue Matrizen zu initialisieren empfiehlt es sich daher, die betroffene Zeile extern zu konstruieren und sie dann in die Matrix einzufügen. Dies passt zu
den Anforderungen des StaggedSolvers, der bei der Konstruktion von Matrizen
den Knotenbaum durchläuft und jeweils nur die Compartments berücksichtigt, die
durch den jeweiligen Knoten verbunden sind.
Ein Nachteil durch das Array von Zeilenzeigern ist die potentiell erhöhte Anzahl
der Cache Misses, weil die Matrixklasse an sich keine zusammenhängende Allokierung der Zeilen erzwingt. In modernen Rechnern werden die oft benutzten Daten
aus dem Hauptspeicher im schnelleren aber kleineren Cache-Speicher zwischengelagert, so dass die CPU schneller darauf zugreifen kann. Beim Laden eines kleinen
Speicher-Bereiches in das Cache wird vorsorglich auch der umgebende Speicherbereich mitgeladen. Im Extremfall wird also in unserem Fall beim Zugriff auf eine
Zeile nur diese eine Zeile in den Cache-Speicher geladen, was Verschwendung von
Laufzeit bedeutet. Eine einfache Lösung ist, bei der externen Konstruktion von
Zeilen darauf zu achten, dass die Zeilen in einem zusammenhängenden Speicherbereich reserviert werden.
43
6 Die Implementierung
6.4 Parallelisierung
Für die Parallelisierung haben wir uns für das Message Passing Interface (MPI)
entschieden, weil diese Bibliothek für paralleles Programmieren weit verbreitet,
sehr ausgereift ist und ständig weiterentwickelt und gewartet wird. Außerdem hat
sie eine gute Anbindung an C/C++. Ein MPI-Knoten ist typischerweise ein Computer in einem Rechnerverbund (Cluster), auf dem unter Zuhilfenahme von MPI
ein Teil des Programms ausgeführt wird. Die Kommunikation zwischen den einzelnen MPI-Knoten wird über ein Netzwerk vermittelt. Es existieren auch Mehrprozessorsysteme, bei denen mehrere Hauptprozessoren in einem Computer stecken.
Hier wird die Kommunikation über interne Bussysteme des jeweiligen Computers
ausgeführt. Sehr weit verbreitet sind Mischformen, Mehrprozessor-Systeme mit
Netzwerk Verbindungen zwischen den einzelnen Computern. Die Abbildung 6.5
zeigt ein Beispiel für ein Cluster aus zwei Computern mit je zwei Prozessorkernen.
Abbildung 6.5: Schematische Darstellung eines Clusters bestehend aus 2 Computern mit je 2 Prozessoren.
6.4.1 Das MPI Programmiermodell
In MPI wird die Kommunikation zwischen Prozessoren, auch Knoten genannt, in
Form von Nachrichten abgewickelt. Möchte man Informationen vom MPI-Knoten
A zu MPI-Knoten B übermitteln, so sendet A eine Nachricht als Inhalt eines
Speicherbereiches an B, indem sie eine Send-Funktion von MPI aufruft. Entsprechend ruft B eine Receive-Funktion mit einem freien Speicherbereich auf, damit das
44
6.4 Parallelisierung
MPI die gesendeten Daten dorthin schreibt. Nun gibt es zwei Unterformen solcher
Funktionen, nichtblockierende und blockierende. Nichtblockierende Operationen
terminieren ohne abzuwarten, ob eine Nachricht beim Empfänger angekommen
ist. Blockierende Operationen dagegen warten, bis der Kommunikationsvorgang
abgeschlossen ist.
6.4.2 Parallele Kommunikation
In der parallelen Version des Programms zur Berechnung der Potentiale werden
einzelne Neuronenmodelle auf die einzelnen Rechner (MPI-Knoten) verteilt. Jeder Knoten berechnet in einem Zeitschritt die zugeordneten Neuronen. Die genaue
Zuordnung wird in einem Vorverarbeitungsschritt per Python-Skript und Neukompilierung des Programms festgelegt. Dabei wird pro MPI-Knoten ein Objekt
der Klasse AddressBook angelegt, eine Tabelle, die den Neuronen-Indizes die MPIKnoten-Indizes zuordnet. Pro Knoten wird je ein Objekt der Klasse PostOffice
angelegt, das die Details der Kommunikation vor StaggedSolver verbirgt, so dass
diese für Neuronen transparent ist. Es ist für sie als Klienten von PostOffice völlig egal, welche Neuronen auf welchen Rechnern liegen, und ob das Programm
überhaupt parallel oder seriell ausgeführt wird. Sie schicken ihre Daten an andere Neuronen per PostOffice.sendBuffer() oder geben bekannt, dass sie Daten
empfangen möchten mit PostOffice.receiveBuffer().
PostOffice benutzt nicht blockierende Funktionen des MPI, Isend() und Irecv(),
um die Daten, wenn nötig, per Netzwerk an andere Prozessoren zu schicken oder
zu empfangen. Die Abbildung 6.6 stellt beispielhaft die Kommunikation zwischen
drei Neuronen dar.
45
6 Die Implementierung
Abbildung 6.6: Kommunikationablauf im Falle, dass Neuron1 synaptische Signale
an Neuron 2 und Neuron 3 sendet.
Sind die Daten auf dem empfangenden MPI-Knoten angekommen, so werden
die Neuronen, die diese empfangen möchten, vom PostOffice per
notifyReceive() benachrichtigt.
Durch diese Organisation und die Verwendung nichtblockierender Funktionen
zur Kommunikation müssen Neuronen, die bereits genug Daten für den nächsten
Zeitschritt der Simulation erhalten haben, nicht auf die anderen warten. Dadurch
ergibt sich eine effizientere CPU-Nutzung.
In der ersten Implementierung von PostOffice bewirkte jedes sendBuffer() bzw.
receiveBuffer() mit dem Ziel bzw. Quelle auf einem anderen Prozessor genau einen
Isend() bzw. Irecv() Aufruf. Das Problem dabei ist der Aufwand für die parallele
Kommunikation bei Netzen, bei denen es zu einem Neuronen viele präsynaptische
Neuronen gibt, von denen viele von ihnen sich auf anderen Prozessoren befinden.
Die aktuelle Implementierung von PostOffice fasst die Nachrichten prozessorweise
zusammen, so dass sehr viel weniger MPI-Aufrufe und Netzwerkoperationen notwendig sind. Die zentrale Methode von PostOffice ist tryToDeliver(). Hier geschieht
das Zusammenfassen von Anfragen an andere MPI-Knoten sowie das Testen des
Status solcher Anfragen.
46
6.4 Parallelisierung
Die Schleife zum Simulieren der Nervenzellen, die auf einem Prozessor gerechnet
werden, sieht dann wie folgt aus:
unsigned long nsteps = 0;
// Iteriere solange es noch Loeser gibt ,
// die nicht die maximale Anzahl der
// Simulationsschritte durchgefuehrt haben.
while(nSteps < nTraces) {
// Setze den Iterator auf den ersten Loeser aus einer Liste .
iter = solver.begin()
// Deklariere einen lokalen Zaehler.
unsigned long locn;
// Iteriere ueber alle lokalen Loeser
// des Prozessors.
for(; iter !=solver .end(); iter ++) {
// Hole den aktuellen Loeser.
StaggedSolver& solver = ∗((∗iter).second);
// Hole seine aktuelle Schrittnummer.
locn = solver.getTraceNumber();
// Wenn der Loeser ganz am Anfang der
// Loeser−Liste
// so memoriere seine Schrittnummer.
if ( iter ==solver.begin())
nSteps = solver.getTraceNumber();
// Wurde eine kleinere Schrittnummer
// gefunden, so speichere sie ab.
else if (locn<nSteps)
nSteps = solver.getTraceNumber();
// Ist der aktuelle Loeser noch nicht
// fertig , so fuehre einen Simulations−
// schritt aus.
47
6 Die Implementierung
if (locn<nTraces) solver.trace ();
}
// Sende und empfange die synaptischen
// Informationen.
post.tryToDeliver();
}
MPI::COMM_WORLD.Barrier();
Dabei ist solver eine Liste von lokalen Lösern für die zugeordneten Neuronen
und iter ein Iterator über diese Liste.
MPI::COMM_WORLD.Barrier() dient dazu die Prozesse anzuhalten sobald alle Neuronen eines Prozessors fertig berechnet wurden. Sobald alle Prozessoren diese
Stelle erreicht haben, wird das parallele Programm fortgesetzt und nach eventuellem Postprocessing beendet. Im seriellen Programm wird diese Zeile weggelassen.
48
7 Untersuchung der numerischen
Konvergenz
In diesem Kapitel konstruieren wir die analytische Lösung der Kabelgleichung für
finite Kabel mit passiver Membran. Desweiteren vergleichen wir das Konvergenzverhalten der numerischen Lösungen für diesen Fall mit der theoretischen Ordnung
des Verfahrens.
7.1 Analytische Lösung für endliche Kabel
Wir leiten eine analytische Lösung für die dimensionslose Kabelgleichung 4.16 im
Falle eines Kabel endlicher Länge her, um die numerische Konvergenz zu testen.
Dazu brauchen wir die Lösung der Kabelgleichung auf einem unendlichen Kabel
G∗t (t, x, y) = G∗xx (t, x, y) − G∗ (t, x, y), t > 0,
(7.1)
G∗ (0, x, y) = δ(x − y),
−∞ < (x + y) < ∞.
Die Randbedingung ist lim|x|→∞ G(t, x, y) = 0. Wie man leicht verifizieren kann,
lautet die Lösung
G∗ (t, x, y) =
exp(−t)exp(−(x − y)2 /4t)
√
.
4πt
(7.2)
Die Abbildung 7.1 stellt G∗ grafisch dar. Wir wollen nun die analytische Lösung
der Kabelgleichung im Falle eines Kabelabschnittes endlicher Länge L herleiten.
Wir brauchen also zusätzlich die Randbedingungen für die beiden Enden des Abschnittes. Wir nehmen an, dass durch die Endpunkte kein Axialstrom fließt, also
49
7 Untersuchung der numerischen Konvergenz
Abbildung 7.1: G∗ (t, x, 0).
Vx (t, 0) = Vx (t, L) = 0. Wir suchen ihre Greensche Funktion mit denselben Randbedingungen,
Z L
Vx (t, L) = Vx (t, 0) =
Gx (t, 0, y)V0 (y)dy
(7.3)
0
Z LZ t
+
Gx (t − s, 0, y)I(s, y)dsdy = 0 .
0
0
Nach Definition kann man sich die Greensche Funktion als die Kabelgleichung des
finiten Kabels vorstellen, bei dem an der Position y ein einzelner Stromimpuls zum
Zeitpunkt t=0 injiziert wird. Die Randbedingen sind erfüllt, wenn G bezüglich 0
und L lokal symmetrisch ist. Dies können wir erreichen, indem wir G als Summe
von Lösungen für infinite Kabel darstellen,
G(t, x, y) =
∞
X
(G∗ (t, x, 2nL − y) + G∗ (t, x, 2nL + y)) .
(7.4)
n=−∞
Offenbar erfüllt G die Differentialgleichung, denn jeder der Terme auf der rechten
Seite erfüllt sie ebenso wie die Randbedingung. Also ist die geforderte Greensche
50
7.1 Analytische Lösung für endliche Kabel
Funktion
∞
exp(−t) X
−(x − 2nL + y)2
G(t, x, y) = √
exp
4t
4πt n=−∞
−(x − 2nL − y)2
.
+ exp
4t
(7.5)
Die Abbildung 7.2 zeigt das Prinzip der Konstruktion der Lösung für finites Kabel.
Der einfache Testfall für die Betrachtung der Konvergenz ist ein finites Kabel mit
einem Strominput in Form einer Dirac-Funktion δ(x − y0 )δ(t)I0 , sowie V0 ≡ 0. Es
gilt
Z LZ t
G(t − s, x, y)δ(x − y0 )δ(s)I0 dsdy =
(7.6)
V (t, x, y) =
0
0
Z L
G(t, x, y)δ(x − y0 )dy = I0 G(t, x, y0 ) .
(7.7)
I0
0
Die Abbildungen 7.3 und 7.4 demonstrieren Auswirkungen von der Länge des finiten Kabels und der Position des Stromimpulses auf den zeitlichen und räumlichen
Verlauf der analytischen Lösung.
Wir schauen nun, wie sich die von NeuSim berechnete Lösung an die analytische annähert. Das zugrundeliegende Lösungsverfahren ist zweiter Ordnung in Ort
und Zeit. Wir lassen die Eigenschaften des Kabels und der Stromquelle variieren.
Für jede dieser Kombinationen führen wir eine Reihe von Verfeinerungen der Zeitschrittweite und der Länge der Compartments durch, um den größten absoluten
Fehler zu betrachten. Siehe Tabelle 7.1 für die Variation der Simulationsparameter.
Die Eigenschaften sind so gewählt, dass sie möglichst viele Fälle aus der Realität
widerspiegeln. Dazu siehe die Tabelle 7.1.
Um die Probleme bei der Darstellung der Dirac-Funktion zu umgehen, betrachten wir nur Zeitintervalle, in denen das Membranpotential die Größenordnung des
Aktionspotentials erreicht. Als Anfangszeitpunkt für die Simulation wurde daher
25e-6 s angesetzt.
Aus der Variation der Parameter können wir Abschätzungen der abgeleiteten
Parameter kt , kx , t/kt und L/kx ableiten, die in der Tabelle 7.2 zusammengefasst
sind. Wie im Kapitel 4.1.1 beschrieben, brauchen wir sie, um die Lösung der dimen-
51
7 Untersuchung der numerischen Konvergenz
Abbildung 7.2: Greensche Funktion als Summe von Lösungen für infinites Kabel
hier L=2.5 und y=L/3.
sionlosen Kabelgleichung auf die Lösung der dimensionsbehafteten Kabelgleichung
abzubilden.
7.2 Konvergenztests
Neben der Variation der Kabeleigenschaften (Tabelle 7.1) wird auch die Feinheit
der Zerlegung des Kabels in Compartments und die Zeitschrittweite des Lösers
variiert.
Bei der ersten Versuchsreihe wird die Anfangsschrittweite auf 50e-6 Sekunden
und die Anzahl der Compartments auf 10 gesetzt. In jedem Verfeinerungsschritt
wird die Zeitschrittweite durch 1,2 dividiert und die Anzahl der Compartments mit
1,2 multipliziert. Bei jedem Verfeinerungsschritt berechnet man den Quotienten q,
indem man den globalen Diskretisierungsfehler des vorherigen Schrittes durch den
aktuellen dividiert. Da das Lösungsverfahren von NeuSim theoretisch 2. Ordnung
in Ort und Zeit ist, müsste q ca. 1,44 sein. Die Anzahl der Verfeinerungsschritte
betrug 19. Die Ergebnisse für verschiedene Testfälle in der Tabelle 7.3 zusam-
52
7.2 Konvergenztests
Parameter
Werte
Stromimpuls, I0 (A)
Länge des Kabels,L (m)
Position Stromquelle (m)
Radius, rI (m)
Spezifischer Membranwiderstand, rM (Ohm · m2 )
Spezifischer axialer Widerstand, rsI (Ohm · m)
Spezifische Membrankapazität, cM (F/m2 )
Gleichgewichtspotential (V)
Zeit, (s)
1e-6, 1e-5, 1e-4
500e-6, 1000e-6, 2000e-6
Lk /2, Lk /3, Lk /5
10e-6, 5e-6, 1e-6
1/3 , 1/30, 1/300, 1/3000
1.23
1e-2
0
25e-6 ≤ t ≤ 40e-3
Tabelle 7.1: Variation der Parameter beim Testen der numerischen Konvergenz
Abgeleitete Parameter
Werte
k t = rM · c M
q
M rI
kx = r2r
sI
1,16e-5 < kx < 1,17e-3
t/kt
L/kx
7,38e-3 < t/kt < 12.013
0.42 < L/kx < 173
3,33e-6 < kt < 3,34e-3
Tabelle 7.2: Variation der abgeleiteten Parameter beim Testen der numerischen
Konvergenz
53
7 Untersuchung der numerischen Konvergenz
Abbildung 7.3: Lösungen für finite Kabel L=2.5, y=L/2 btw. y=L/3.
Abbildung 7.4: L=1.875, y=L/2 btw. y=L/3.
mengefasst. Es gibt einen signifikanten Unterschied zwischen den Versuchen mit
rM = 1/3000 und den anderen.
Man sieht für den spezifischen Membranwiderstand von 1/3000 Ohm · m2 eine
schlechtere Konvergenz. Daher wird eine zweite Testreihe mit Anfangsschrittweite
von 5e-6 Sekunden und 500 Compartments durchgeführt. Es gibt 9 Verfeinerungsschritte.
Der kleinste absolute Fehler liegt jeweils um mehrere Größenordnungen über
der Schranke für das Approximationsfehler der analytischen Lösung (siehe Kapitel
7.2.1, so dass wir davon ausgehen können, dass die Messungen nicht durch Approximationsfehler verfälscht sind.
Es ist verständlich, dass das Konvergenzverhalten der numerischen Lösung im all-
54
7.2 Konvergenztests
Spezifischer Membranwiderstand
q
minimaler absoluter Fehler
rM > 1/3000
rM = 1/3000
1,41
1,29
2, 44 · 10−11
4, 52 · 10−13
Tabelle 7.3: Konvergenztest 1. Die Werte für q sind ein arithmetisches Mittel über
die jeweilige Versuchsmenge.
Spezifischer Membranwiderstand
q
minimaler absoluter Fehler
rM = 1/3000
1,46
1, 69 · 10−13
Tabelle 7.4: Konvergenztest 2. Die Werte für q sind ein arithmetisches Mittel über
die Versuchsmenge.
gemeinen nicht mit dem der theoretischen übereinstimmt. Dennoch zeigen die Experimente eine gute Übereinstimmung mit dem theoretischen Konvergenzverhalten
in bestimmten Parameterbereichen.
7.2.1 Die Approximation der analytischen Lösung
Wir approximieren die analytische Lösung der dimensionslosen Kabelgleichung
∂U
∂2U
=
−U +J
∂t
∂x2
(7.8)
durch eine endliche Reihe, um sie mit der numerischen Lösung zu vergleichen.
Dazu definieren wir für feste t, x, y, L
(x + 2nL + y)2
F1 (n) := exp −
,
4t
(x + 2nL − y)2
F2 (n) := exp −
.
4t
(7.9)
55
7 Untersuchung der numerischen Konvergenz
∞ X
x + 2nL + y
x + 2nL − y
exp −
+ exp −
=
4t
4t
n=−∞
F1 (0) + F2 (0) +
∞
X
(7.10)
[F1 (n) + F2 (n) + F1 (−n) + F2 (−n)] ≈
n=1
F1 (0) + F2 (0) +
i−1
X
ei−1
[F1 (n) + F2 (n) + F1 (−n) + F2 (−n)] =: G
n=1
für das kleinste i mit
F1 (i) + F2 (i) + F1 (−i) + F2 (−i)
≤ eps .
ei−1
G
(7.11)
Dabei ist eps die so genannte Maschinengenauigkeit und beträgt in unserem Fall
2,22e-16, da die Tests mit dem Datentyp Double durchgeführt wurden.
Für ein festes n≥1 ist F1 (−n) größer als F1 (n), F2 (n) und F2 (−n). Weiter gilt
die Abschätzung
!
!
[(n − 1)L]2
[2(n − 1)L]2
= exp −
,
(7.12)
F1 (−n) ≤ exp −
4t
t
wobei Gleichheit gerade für x=y=L eintritt.
Damit kann der Abschneidefehler abgeschätzt werden
∞
X
[F1 (n) + F2 (n) + F1 (−n) + F2 (−n)] ≤ 4
n=i
∞
X
F1 (−n)
n=i
∞
X
2
(n − 1) L
=4
exp −
t
n=i
Wir definieren K :=
∞
X
(i−1)L2
.
t
2
∞
X
(i − 1)(n − 1)L2
≤4
exp −
t
n=i
[F1 (n) + F2 (n) + F1 (−n) + F2 (−n)]
=4
∞
X
.
Damit ergibt sich
(7.14)
n=i
exp (−(n − 1)K) = 4 exp(K)
n=i
= 4 exp(K)1−i
∞
X
n=i
∞
X
n=0
56
(7.13)
exp(−K)n .
exp(−K)n
7.2 Konvergenztests
Nun brauchen wir die Abschätzung für den Abschneideindex i, so dass F1 (−i) ≤
Gi−1 eps. Bei allen Tests gilt Gi−1 < 1, 7. Daher definieren wir T := 1.7 eps. Für
dieses Abschneideindex i gilt wegen Ungleichung 7.12
2 2
−i L
−(i − 1)2 L2
T
< exp
≤ F1 (−i) ≤ exp
<T ,
(7.15)
4
t
t
i2 < − ln(T /4)tL−2 , (i − 1)2 > − ln(T )tL−2 ,
p
p
− ln(T /4)tL−2 > i > 1 + − ln(T )tL−2 .
Daher i ≥ 2. Damit ist aber K > 0 für alle x, y, t, L und die unendliche Reihe in
7.15 konvergiert. Diese Schranke für den Abschneidefehler ist noch zu grob. Wir
können sie verfeinern mit
1−i
4 exp(K)
∞
X
4 exp(−K)i−1
(7.16)
1 − exp(−K)
n=0
!!−1
p
− ln(T )tL2
−(i − 1)2 L2
= 4 exp
1 − exp −
t
tL
!!−1
r
− ln(T )L2
< exp(ln(T )) 1 − exp −
t
exp(−K)n =
Da die analytische Lösung der dimensionsbehafteten Kabelgleichung durch die
√
· rkMx krtsIS erhalten wird, können wir den abMultiplikation mit einem Faktor exp(−t)
4πt
soluten Fehler der Approximation der Lösung der Kabelgleichung
rM cm ∂1 V =
rM
rM rsI iIA (0)
∂22 V − V +
S
SAI
(7.17)
nach oben einschränken durch
exp(−t)
√
2 πt
r
rsI rI
T
2rM c2m
r
1 − exp −
− ln(T )L2
t
!!−1
.
(7.18)
Wir definieren
r
U := −
− ln(T )L2
.
t
(7.19)
Damit gilt −12.001 · 103 < U < −2, 29 · 10−2 . Nun unterscheiden wir drei Fälle
anhand von U
57
7 Untersuchung der numerischen Konvergenz
1. U ∈ [−1, −2, 29 · 10−2 ). Damit gilt exp(U ) < 1 + U/4. Wegen U ≥ −1 gilt
r
− ln(T )L2
≤ 1 ⇒ t ≥ − ln(T )L2 > 6, 26 .
(7.20)
t
Hier können wir den Abschneidefehler zusammenfassen
r
exp(−t)
rsI rI
T
√
2
2rM cm 1 − exp(U )
2 πt
r
rsI rI 4T
exp(−t)
< √
2rM c2m −U
2 πt
r
2T
rsI rI
exp(−t)
p
< 3, 79 · 10−18 .
= √
2rM c2m L − ln(T )
π
2. U ∈ [−8, −1) und damit
r
− ln(T )L2
− ln(T )L2
≤8⇒t≥
> 9, 79 · 10−2 .
t
64
Weiter gilt exp(U ) < exp(−1) und damit
r
rsI rI
T
exp(−t)
√
2
2rM cm 1 − exp(U )
2 πt
r
exp(−9, 79 · 10−2 )
T
rsI rI
< p
2rM c2m 1 − exp(−1)
2 9, 79 · 10−2 π
(7.21)
(7.22)
(7.23)
<2, 04 · 10−15 .
3. U ∈ (−12.001, −8). Damit gilt exp(U ) < exp(−8). Die Abschätzung lautet
dann
r
exp(−t)
T
rsI rI
√
(7.24)
2rM c2m 1 − exp(U )
2 πt
r
exp(−t)
rsI rI
T
< √
2
2rM cm 1 − exp(−8)
2 πt
<3, 87 · 10−16 .
58
8 Simulationen und numerische
Resultate
In diesem Kapitel präsentieren wir die Ergebnisse der Simulationen. Zum einen
zeigen wir, wie sich eine simulierte Kolumne von 5000 Neuronen beim simulierten Input aus dem Thalamus verhält. Wir zeigen weiter, dass der Zeitbedarf der
Software in etwa quadratisch, der Speicherbedarf linear mit der Größe des Netzes
wächst und linear mit der Anzahl der verwendeten Prozessoren skaliert.
8.1 Simulation eines Netzes aus 5000 Neuronen
Die größte von uns simulierte Kolumne bestand aus 5000 Neuronen, davon je
35% L2/3-Pyramidal, 35% L4-Spiny Stellates, 15% L5A-Pyramidal und 15% L5BPyramidal. Die Zellen wurden von 3.469.526 Synapsen miteinander verbunden.
155.487 Synapsen dienen als Input aus dem Thalamus. Das Bild 8.1 zeigt die
Anzahl der präsynaptischen Neuronen pro Zelle für verschiedene Schichten.
Man kann sehen, dass ein L2/3-Pyramidal synaptische Nachrichten von ca. 330
L4-Stellates bekommen kann sowie von 52 anderen L2/3-Pyramidals. Es ist direkt
einleuchtend, dass diese Zahlen ausschlaggebend für die Frage sind, wie oft ein
Neuron synaptisch angeregt wird.
Die Aktivität wird von einem thalamischen Input an den Alpha-Synapsen ausgelöst. Die Wahrscheinlichkeitsfunktion, ob eine Synapse zu einem bestimmten Zeitpunkt aktiviert wird, wird von NeuGen vorgegeben (siehe Bild 8.2). Bei NeuGen
besteht die Möglichkeit empirische oder experimentelle Aktivierungswahrscheinlichkeiten per Datei tcu_data.txt vorzugeben.
59
8 Simulationen und numerische Resultate
L2/3
Pyramidal
52
L4 Spiny
Stellate
31
1
..........
83
330
75
140
L5A
Pyramidal
83
L5B
Pyramidal
113
3
Synapse
Dendrite
12
Axon
Thalamischer
Input
Abbildung 8.1: Rechte Seite: Anzahl der präsynaptischen Neuronen für die einzelnen Neuronentypen der Kolumne von 5000 Neuronen. Linke Seite:
Projektion von L2/3-Pyramidal auf L5B-Pyramidal.
60
Abbildung 8.2: Thalamisches Signal in die Schichten 2/3 und 5B als Wahrscheinlichkeit der Aktivierung einer Alpha-Synapse.
8.1 Simulation eines Netzes aus 5000 Neuronen
Am Beginn der Simulation ist die Kolumne inaktiv. Es finden keine synaptischen
Übertragungen statt und die Membranpotentiale werden auf -70 mV gesetzt. Zur
Veranschaulichung der Ergebnisse benutzen wir das Programm NeuDV von J.
Eberhard. Auf den Bildern sind die Somata der simulierten Kolumne aus 5000
Neuronen zu sehen. Grün steht für das Ruhepotential (< -50 mV), Rot für das
Membranpotential > 0mV und Gelb für den Wertebereich dazwischen.
Abbildung 8.3: Simulation der Kolumne. Die Initialisierung der Aktivität durch
Thalamus. Von Links nach Rechts: 13,75 ms, 15,225 ms, 16 ms.
Abbildung 8.4: Simulation der Kolumne. Die Abschwächung des thalamischen Inputs. Von Links nach Rechts: 20 ms, 21,4 ms, 22,95 ms
61
8 Simulationen und numerische Resultate
Abbildung 8.5: Simulation der Kolumne. Restaktivität. Von Links nach Rechts: 28
ms, 31 ms, 39 ms.
In der Abbildung 8.1 sehen wir, wie die thalamischen Synapsen das Signal in
L4 und den unteren Teil von L5 einbringen. L4 projiziert das Signal in L2/3 und
wird deaktiviert. Die L2/3 -Zellen projizieren in L5A und L5B und werden selbst
deaktiviert.
In der Abbildung 8.1 produzieren L4 -Neuronen sekundäre Aktionspotentiale mit
niedrigeren Amplituden. Diese liegen bei verschiedenen Neuronen weiter auseinander als die primären Aktionspotentiale, so dass gleichzeitig L4 und L2/3 aktiv
sind (Abbildung 8.6).
Die Abbildung 8.1 zeigt das Nachlassen der Aktivität in L4 und L2/3 nach der
Beendigung des thalamischen Inputs. Dennoch sorgt die Verschaltung innerhalb
von L4 dafür (Abbildung 8.7) , dass die Kolumne nie ganz den Ruhezustand
erreicht. Hier aktivieren sich die Spiny Stellates der oberen Schicht 4 gegenseitig
über Exp2syn-Synapsen.
Interessanterweise taucht dieses Verhalten bei kleineren Netzen von ca. 1000
Neuronen nicht auf. Es ist anzunehmen, dass das Fehlen von inhibitorischen Mechanismen wie Interneuronen, inhibitorischen Synapsen und Adaption hier ein Abklingen der Aktivität verhindert.
62
8.1 Simulation eines Netzes aus 5000 Neuronen
Abbildung 8.6: Somale Membranpotentiale (mV) von 4 untereinander unvernetzten L4-Spiny-Stellates als Reaktion auf thalamischen Input. XAchse ist die Zeit in ms.
Abbildung 8.7: Membranpotentiale für 4 L4-Spiny-Stellate im 5000 Netz. X-Achse
ist die Zeit in ms.
63
8 Simulationen und numerische Resultate
8.2 Laufzeitverhalten und Speicherverbrauch
Um das serielle Laufzeitverhalten des Programms zu testen, wurden künstliche
Netzwerke verschiedener Größe mit dem Programm NeuGen erzeugt. Das Verhältnis der Anzahlen der Zellen von verschiedenen Zelltypen war in allen Versuchen L4-Spiny-Stellate / L2/3-Pyramidal / L5A-Pyramidal / L5B-Pyramidal =
7/7/3/3. Es wurden 10 ms simuliert mit der Zeitschrittweite von 25 µs. Simulationshardware war ein 2 GHz Opteron Rechner mit 16 GB Hauptspeicher. Laufzeit
und Speicherbedarf wurden gemessen. Tabelle 8.1 fasst die Resultate zusammen.
Ausführungszeit
(min)
58
Zeit pro Neuron (min)
0,58
140
90
0,64
477,828
180
119
0,66
609,642
220
142
0,65
757,934
260
190
0,73
906,225
300
227
0,76
1.038,040
340
255
0,75
1.169,854
380
264
0,69
1.334,623
420
330
0,79
1.449,960
460
365
0,79
1.598,252
500
382
0,76
1.746,543
540
454
0,84
1.878,358
580
463
0,8
2.026,649
620
521
0,84
2.191,418
660
577
0,87
2.405,616
700
608
0,87
2.240,848
Anzahl
Neuronen
100
Speicherverbrauch
(MB)
346,013
Tabelle 8.1: Serielle Laufzeit und Speicherverbrauch
64
8.2 Laufzeitverhalten und Speicherverbrauch
Abbildung 8.8: Serielle Ausführungszeit in Abhängigkeit von der Größe des Netzes.
Abbildung 8.9: Belegung des Hauptspeichers in Abhängigkeit von der Größe des
Netzes..
65
8 Simulationen und numerische Resultate
Wie man sieht in der Abbildung 8.8 sieht, steigt die Laufzeit pro Neuron mit
der Anzahl der Neurone. Dies ist auf schlechtere Ausnutzung des Caches zurückzuführen. In unserem Fall greift das Programm sequentiell auf die Daten der Löser
zu, was bei der wachsender Anzahl von Neuronen dazu führt, dass die mittlere
Verweildauer von Daten im Cache abnimmt. Das bedeutet aber wiederum, dass
immer mehr Daten direkt aus dem langsameren Hauptspeicher geladen werden
müssen.
Der Bedarf nach Hauptspeicher wächst linear mit der Anzahl der Neuronen wie
der Abbildung 8.9 zu entnehmen ist, denn der Speicherbedarf pro Löser ist in etwa
konstant.
Um die Skalierung bei wechselnder Anzahl der Prozessoren zu testen, haben wir
das HP XC 4000 Cluster (2.6 Ghz AMD Opteron) der Universität Karlsruhe für
eine Messreihe verwendet. Es wurden die ersten 20 ms simuliert. Du Zuordnung
von Neuronen zu Prozessoren wurde anhand der Neuronennummer i durchgeführt:
i→(i mod nproc), wobei nproc die Anzahl der Prozessoren ist.
Abbildung 8.10: Skalierung der Ausführungszeit mit der Anzahl der verwendeten
Prozessoren.
66
8.2 Laufzeitverhalten und Speicherverbrauch
Man sieht aus der Abbildung 8.10, dass die Laufzeit in etwa proportional zum
Kehrwert der Prozessorenanzahl ist. Hier treten zwei Effekte auf, die sich entgegengesetzt auf die Laufzeit auswirken. Weniger Neuronen pro Prozessor bedeutet
einen schnelleren Speicherzugriff. Mit der Anzahl der Prozessoren steigt aber auch
der Kommunikationsaufwand, weil bei gegebenem Netz und Zuordnungsverfahren
von Neuronen zu Prozessoren jeder Prozessor mit jedem anderen Prozessor kommunizieren muss.
Hiermit haben wir gezeigt, dass die Laufzeit der seriellen Simulation etwa quadratisch mit der Anzahl der Zellen im Netz wächst. Der Speicherbedarf steigt
linear. Verwendet man mehr Prozessoren, so verhält sich die Laufzeit etwa proportional zu der Anzahl der Prozessoren.
67
9 Zusammenfassung und
Ausblick
Die Arbeit stellt ein Verfahren zur effizienten Simulation der Signalausbreitung in
neuronalen Netzen vor. Solche Verfahren sind notwendig, um Modelle der neuronalen Signalverarbeitung in großen Netzen zu testen. Unser Testproblem ist die
Simulation einer Kolumne im Neokortex der Ratte.
Wir stellen biologische und elektrophysiologische Grundlagen der Signalverarbeitung einer Nervenzelle vor, die notwendig sind, um den Modellierungsansatz
zu verstehen. Dann stellen wir die Kolumne, unser Simulationsobjekt, vor. Da
die Kolumne aus 5000 - 10000 Neuronen besteht, kann sie momentan nicht nicht
in dem für Simulationen nötigen Genauigkeitsgrad durch mikroskopische Aufnahmen erfasst werden. Mit Hilfe der Software NeuGen erzeugen wir daher künstliche
neuronale Netze, die die Kolumne möglichst realistisch repräsentieren.
Dann wenden wir uns den Fragen der elektrophysiologischen Modellierung zu.
Wir leiten die Kabelgleichungen her und zeigen, dass ihre analytischen Lösungen
mithilfe der Greenschen Funktion beschrieben werden können. Die Modellierung
der Ionenkanäle und der Synapsen vervollständigt das Bild und liefern die Grundlagen für die Diskretisierung.
Diese ist notwendig, da die analytischen Lösungen für Kabelgleichungen für
komplexe Strukturen wie Dendritenbäume sehr aufwendig zu berechnen sind. Wir
leiten ein Multi-Compartment-Modell als räumliche Diskretisierung des Membranpotentials her. Im Gegensatz zum herkömmlichen Modell wie es beispielsweise in
NEURON verwendet wird, wird das Membranpotential eines Compartments durch
zwei Werte, an den beiden Enden eines Compartments, beschrieben. Dies erlaubt
eine höhere Genauigkeit und somit potentiell eine höhere Geschwindigkeit, da die
Auswirkungen der Positionierung der Synapsen genauer erfasst werden können. Die
68
Diskretisierung der Kabelgleichungen mit dem Multi-Compartment-Modell liefert
ein System gewöhnlicher Differentialgleichungen erster Ordnung in der Zeit, die
wir mit der Staggered-Steps-Methode diskretisieren. Beide Diskretisierungsmethoden sind von zweiter Ordnung und beinhalten im jedem Zeitschritt die Lösung
von linearen Gleichungen. Die Matrizen auf der linken Seite sind dünnbesetzt und
haben eine Struktur, die es ermöglicht Gauß-Eliminination effizient anzuwenden.
Nachdem wir die Diskretisierung entwickelt haben, wenden wir uns der Implementierung zu. Die Software mit dem Namen NeuSim liegt in Form eines C++
- Programms vor. Das Programm bietet die Möglichkeit die simulierten Objekte
direkt im Quellcode zu erzeugen oder Netze einzulesen, die mit NeuGen erzeugt
wurden. Die erste Möglichkeit bietet Klassen an, die erlauben, die Beschreibung
ähnlich der HOC-Sprache von NEURON zu gestalten. NeuSim kann Netzmodelle
im HOC-Format exportieren. So können die Simulationsresultate von NEURON
und NeuSim miteinander verglichen werden. Der Löser ist als lokaler Löser für Neuronen mit klaren Schnittstellen zu den Synapsen angelegt. Auf diese Weise wird
die Parallelisierung ermöglicht, bei der ganze Neuronen auf einzelne Prozessoren
verteilt werden. Diese Parallelisierung ist notwendig, weil die von NeuGen erzeugten Neuronen-Modelle sehr detailliert sind und für große Netze auf Einzelrechnern
einen hohen Zeitaufwand verursachen. Wir verwenden MPI für die Kommunikation
zwischen den Prozessoren. Die nichtblockierenden Send- und Receive-Funktionen
dieser Bibliothek erlauben, die Wartezeiten der einzelnen Löser zu reduzieren. Ein
Mechanismus zur Zusammenfassung der Nachrichten zwischen je zwei Prozessoren
minimiert den Kommunikationsaufwand weiter.
Um die Konvergenzordnung der Diskretisierung zu bestätigen, führen wir numerische Konvergenztests mit einem Kabel finiter Länge und passiver Membran
durch. Ein Stromimpuls wird an verschiedenen Stellen in das Kabel injiziert. Für
diesen Fall existiert eine geschlossene analytische Lösung, zu der wir den maximalen absoluten Fehler der der Diskretisierung berechnen. Die Tests zeigen das
theoretische Konvergenzverhalten.
Um das Laufzeitverhalten der Software zu charakterisieren, vergleichen wir die
Auführungszeit und den Speicherbedarf der Software bei wachsender Anzahl von
Neuronen. Es zeigt sich, dass der Speicherbedarf linear mit der Anzahl der Neuronen wächst. Hingegen steigt die benötigte Ausführungszeit überproportional, was
69
9 Zusammenfassung und Ausblick
auf eine schlechtere Ausnutzung des Cache-Zwischenspeichers hinweist. Hier könnte ein Umbau der Schleife helfen, in der die Löser aufgerufen werden. Dies macht
aber nur für kleinere Netze oder kurze Simulationen Sinn. Für größere Probleme
bietet sich die parallele Ausführung auf mehreren Prozessoren an. Wir haben gezeigt, dass die gesamte Ausführungszeit paralleler Simulationen in etwa linear mit
der Anzahl der Prozessoren skaliert.
Nun wenden wir die Software beispielhaft auf ein NeuGen-Netz von 5000 Neuronen an. Der thalamische Input wird mittels Alpha-Synapsen repräsentiert, die die
Aktivität in der Kolumne auslösen. Wir visualisieren die Ergebnisse in Form von
Membranpotentialen der Somata mit dem Programm NeuDV von J. Eberhard.
Um ein realistischeres Verhalten der Kolumne zu erreichen, sind weitere Verbesserungen des Kolumnen-Modells zu empfehlen. Möglicherweise ist eine weitere Verfeinerung der Ionenkanal-Verteilung in NeuGen notwendig. Es wären chemische Ionenkanäle für den Löser zu implementieren, um die Adaption, also die
Abschwächung der Aktionspotential-Folgen bis hin zum Abbruch, zu simulieren.
Inhibitorische Neuronentypen und Synapsen spielen ebenfalls eine wichtige Rolle bei der Regelung der kolumnaren Aktivität, eine Modellierung dieser in NeuGen wäre also wichtig. Ein weiterer Punkt ist die Implementierung von schnellen
elektrischen Synapsen (Gap Junctions). Sie sind wichtig, um die Aktivität von
großen Neuronen-Population zu synchronisieren und sind Gegenstand aktueller
Forschung. Allerdings sind ihre Reaktionszeiten so gering, dass sie nicht mehr nur
auf der rechten Seite des, in jedem Zeitschritt zu lösenden, linearen Gleichungssystems auftauchen. Man könnte dieses Problem mit einem iterativen Löser für große
Gleichungssystem angehen.
Trotz der Verbesserungsvorschläge sehen wir NeuGen und NeuSim als einen
wichtigen Schritt zur kortikalen Kolumne in silico.
70
10 Anhang
10.1 Elektrophysiologische Parameter der
Kolumne
Für die Simulation der Kolumne haben die simulierten Neuronen weitgehend die
gleichen Eigenschaften wie die in der HOC-Ausgabe von NeuGen definierten Netze
(s. auch [4], [10]).
10.1.1 Ionenkanäle
Die Palette der Ionenkanäle umfasst Na+ -, K+ - und Ca2+ -Kanäle, wobei zwei Unterarten von K+ -Kanälen verwendet wurden. Hier wird zwischen langsamen und
schnellen K+ -Kanälen unterschieden. Die Besonderheit der langsamen KaliumKanäle ist die langsamere Dynamik, also die niedrigeren Öffnungs- und Schließraten. In Abbildung 10.1 sehen wir die Verteilung der Ionenkanäle auf die Modellneuronen. In Tabelle 10.1 werden die Werte für die maximalen spezifischen
Leitfähigkeiten der Membran für die einzelnen Ionenkanal-Sorten angegeben.
10.1.2 Synapsen
Alle Synapsen haben ein Gleichgewichtspotential von 0 V. Die Zeitkonstante τ
der Alpha-Synapsen beträgt 1.7 ms. Exp2syn-Synapsen haben entsprechend die
Zeitkonstanten 0.2 und 1.7 ms. Die Verzögerung zwischen der Aktivierung der
präsynaptischen Seite und der Wirkung auf der postsynaptischen Seite beträgt bei
Exp2syn 0.5 ms. Die maximalen Leitfähigkeiten der einzelnen Synapsen hängen
71
10 Anhang
Abbildung 10.1: Verteilung der Ionenkanäle über ein Neuron.
Na+
L4
L5, L2/3
K+ schnell K+ langsam
Soma
1500
2000
Axon
1800
2000
Dendrite
13
Soma
1500
2000
Axon
1800
3000
Dendrite
19
Ca2+
0.1
0.3
0.1
0.3
0.1
0.3
0.1
0.3
Tabelle 10.1: Maximale spezifische Leitfähigkeit der Ionenkanäle in S/m2
von der postsynaptischen Entfernung zum Soma sowie vom postsynaptischen und,
falls vorhanden, präsynaptischen Zelltyp ab.
10.2 Beispiele für die Definition eines Modells zur
Simulation mit NeuSim
Hier ein Beispiel wie ein unverzweigtes konisches Stück (Section) definiert werden
kann:
// Definiere passive Ionenkanaele
SimpleHHModel::LeakageConductanceMechanism leakage;
// Erzeuge ein leeres Modell mit der Nummer 0
72
10.2 Beispiele für die Definition eines Modells zur Simulation mit NeuSim
SimpleModel ∗ model = new SimpleModel(0);
SimpleModel::SimpleModelSegment∗ prev = NULL;
// Differenz der Endradien der Sektion
double deltaR = 1e−6;
// Startradius
double oldR = 2e−6;
// Section−Laenge
double lsection = 1000e−6;
// Anzahl der Segmente in der Sektion
int insection = 200;
// Berechne die Laenge eines Segmentes.
double l = lsection/insection ;
// Erzeuge alle Segmente.
for(int i=0; i<insection; i++) {
// Hole ein neues Segment.
SimpleModel::SimpleModelSegment& seg = model−>newSegment(0);
// Setze Startradius .
seg. rStart = oldR + i∗deltaR/insection;
// Setze Endradius.
seg.rEnd = oldR + (i+1)∗deltaR/insection;
// Setze den Startpunkt des Segmentes.
seg. setStart ( Point3D<float>(i∗l,0,0));
// Setze den Endpunkt des Segmentes.
73
10 Anhang
seg.setEnd( Point3D<float>((i+1)∗l,0,0));
// Hole Parameter fuer passive Ionenleitung.
SimpleHHModel::LeakageConductance& lpar = leakage.newParameter();
// Setze maximale spezifische Leitfaehigkeit der Membran.
lpar .gmax = 3;
// Setze Gleichgewichtspotential der passiven Kanaele
// auf 0 V.
lpar .e = 0;
// Versehe das Segment mit passiver Leitfaehigkeit .
seg.addHHTParameter(lpar);
// Setze spezifische Membran Kapazitaet.
seg.spC = 1e−2;.
// Setze 1,23 ohm∗m spezifischer axialer Widerstand.
seg.gAx = 0.81300813;
// Verbinde die Segmente miteinander.
if ( i>0) model−>connectSegments(seg,∗prev,true,false);
prev = &seg;
}
Exp2syn Synapsen dienen zur Übertragung der Signale zwischen den Neuronen.
Auf der Ebene des Quellcodes werden prä- und postsynaptische Seiten durch Objekte der Klassen Exp2syn::Presynaptic und Exp2syn::Postsynaptic definiert. Alle
synaptischen Seiten eines Neurons werden in einem Objekt der Klasse Exp2syn zusammengefasst. Um eine Exp2syn-Synapse zu erzeugen, ruft man auf dem Exp2synObjekt des Neurons Exp2syn::newSynapse() auf und übergibt ihr eine Argumentenliste, die die Position und die maximale Leitfähigkeit der Synapse eindeutig beschreiben. Dabei wird die benötigte Seite (prä- oder postsynaptisch) erzeugt und
74
10.2 Beispiele für die Definition eines Modells zur Simulation mit NeuSim
gespeichert. Danach werden die weiteren Eigenschaften wie Verzögerung, Schwellwertpotential, Gleichgewichtspotential und die Zeitkonstanten festgelegt.
// Erzeuge die Synapsensammlung fuer das Neuron mit der Nummer
// neuronNummer, comTag ist die Identifikationsnummer fuer die
// Kommunikation mit anderen Neuronen.
Exp2syn ∗ synapses =
new Exp2syn(neuronNummer, postOffice, comTag);
// Generiere eine Synapse zwischen den Neuronen 0 und 1,
// zwischen den Segmenten 0 und 0 und den relativen
// Koordinaten 1.0 und 1.0. Die Nummer der neuen Synapse ist 0,
// und ihre maximale Leitfaehigkeit betraegt 10−7 S.
pair<Exp2syn::Presynaptic∗,Exp2syn::Postsynaptic∗> sides;
sides = synapses−>newSynapse(0,0,1.0,1,0,1.0,0,1e−7);
// Das praesynaptische Neuron wird von diesem
// Prozessor simuliert?
if ( sides . first != NULL) {
// Die Aktivierung der postsynaptischen Seite verzoegern.
sides . first −>delay = 0.5e−3;
// Die Synapse wird aktiviert , wenn das Membranpotential
// an der praesynaptischen Seite −10 mV ueberschreitet.
sides . first −>treshold = −10e−3;
}
if ( sides .second != NULL) {
sides .second−>tau1=0.2e−3;
sides .second−>tau2=1.7e−3;
75
10 Anhang
// Setze das Gleichgewichtspotential der Synapse.
sides .second−>e=0;
}
76
Abbildungsverzeichnis
2.1
Schematischer Aufbau des Neurons . . . . . . . . . . . . . . . . . .
3
2.2
Beispiele verschieder Polarität von Neuronen. Von links nach rechts:
Unipolare, Bipolare, Multipolare Zellen . . . . . . . . . . . . . . . .
4
Modell eines Aktionspotentials beim Riesenaxon des Tintenfisches.
EK , EN a Gleichgewichtspotentiale von N a+ und K + , Em Membranpotential. (aus [3], Abb. 4-18) . . . . . . . . . . . . . . . . . . . . .
7
2.4
Elektrotonus (nach [3], Abb. 4-17a) . . . . . . . . . . . . . . . . . .
8
2.5
Schema einer myelierten Faser (Verhältnis von Dicke und Länge
verändert nach [3], Abb. 4-19c). Bei Depolarisation fließt Membranstrom überwiegend in Schnürringen. Das spart Energie bei der
Leitungs des Aktionspotentials.Die Depolarisation pflanzt sich besonders schnell zwischen den Schnürringen fort (nach [3], Abb. 4-19c).
9
2.3
2.6
Signalübertragunsstrecke (nach [12], Abb. 1.12). . . . . . . . . . . . 10
2.7
Ein Schnitt durch den Kortex mit sichtbar gemachten L4-Zellen.(nach
[9], Abb. 1A). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.8
Somatotopie (nach [12], Abb. 1.13). . . . . . . . . . . . . . . . . . . 11
3.1
Von NeuGen generierte kortikale Kolumne aus 12 Zellen. Dendriten
sind gelb, Soma rot, Axons blau dargestellt. Die graue Wire-FrameBox zeigt den Umriß der Kolumne. In der Mitte befindet sich die
Schicht 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2
Von NeuGen erzeugte künstliche Neuronen. Von links nach rechts:
L2/3 Pyramidal, L4 Spiny Stellate, L4 Starpyramidal. . . . . . . . . 14
3.3
Von NeuGen erzeugte künstliche Neuronen. L5A Pyramidal und
L5B Pyramidal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
77
Abbildungsverzeichnis
78
4.1
Zylindrischer Membranabschnitt. 4x ist die Länge des Abschnittes,
rI und rA Innen- und Außenradius. . . . . . . . . . . . . . . . . . . 16
4.2
Ersatzschema des Membranzylinders (verändert nach [14], Abb. 4.2). 17
4.3
Beispiele für die höhere Flexibilität der Exp2syn Darstellung der
postsynaptischen Reaktion gegenüber der Alpha-Synapse. . . . . . . 24
5.1
Relevante Eigenschaften eines Compartments. . . . . . . . . . . . . 27
5.2
Veranschaulichung der Berechnungsschritte und der verwendeten
Zwischenergebnisse. . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.3
Das Schema der Generierung von Baummatrizen. . . . . . . . . . . 34
6.1
Darstellung der Daten-Pipeline zwischen NeuGen und der Simulation. 39
6.2
UML Diagramm der geometrischen Grundklassen. . . . . . . . . . . 39
6.3
UML Diagramm der Klasse StaggedSolver und der referenzierten
Klassen der Synapsen und Ionenkanälen von Typ Hodgkin-Huxley. . 41
6.4
Implementation der Matrix Klasse. . . . . . . . . . . . . . . . . . . 42
6.5
Schematische Darstellung eines Clusters bestehend aus 2 Computern mit je 2 Prozessoren. . . . . . . . . . . . . . . . . . . . . . . . 44
6.6
Kommunikationablauf im Falle, dass Neuron1 synaptische Signale
an Neuron 2 und Neuron 3 sendet. . . . . . . . . . . . . . . . . . . 46
7.1
G∗ (t, x, 0). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7.2
Greensche Funktion als Summe von Lösungen für infinites Kabel
hier L=2.5 und y=L/3. . . . . . . . . . . . . . . . . . . . . . . . . . 52
7.3
Lösungen für finite Kabel L=2.5, y=L/2 btw. y=L/3. . . . . . . . . 54
7.4
L=1.875, y=L/2 btw. y=L/3. . . . . . . . . . . . . . . . . . . . . . 54
8.1
Rechte Seite: Anzahl der präsynaptischen Neuronen für die einzelnen Neuronentypen der Kolumne von 5000 Neuronen. Linke Seite:
Projektion von L2/3-Pyramidal auf L5B-Pyramidal. . . . . . . . . . 60
8.2
Thalamisches Signal in die Schichten 2/3 und 5B als Wahrscheinlichkeit der Aktivierung einer Alpha-Synapse. . . . . . . . . . . . . 60
8.3
Simulation der Kolumne. Die Initialisierung der Aktivität durch
Thalamus. Von Links nach Rechts: 13,75 ms, 15,225 ms, 16 ms. . . 61
Abbildungsverzeichnis
8.4
Simulation der Kolumne. Die Abschwächung des thalamischen Inputs. Von Links nach Rechts: 20 ms, 21,4 ms, 22,95 ms . . . . . . .
8.5 Simulation der Kolumne. Restaktivität. Von Links nach Rechts: 28
ms, 31 ms, 39 ms. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.6 Somale Membranpotentiale (mV) von 4 untereinander unvernetzten
L4-Spiny-Stellates als Reaktion auf thalamischen Input. X-Achse ist
die Zeit in ms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.7 Membranpotentiale für 4 L4-Spiny-Stellate im 5000 Netz. X-Achse
ist die Zeit in ms. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.8 Serielle Ausführungszeit in Abhängigkeit von der Größe des Netzes.
8.9 Belegung des Hauptspeichers in Abhängigkeit von der Größe des
Netzes.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.10 Skalierung der Ausführungszeit mit der Anzahl der verwendeten
Prozessoren. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
62
63
63
65
65
66
10.1 Verteilung der Ionenkanäle über ein Neuron. . . . . . . . . . . . . . 72
79
Tabellenverzeichnis
7.1
7.2
7.3
7.4
8.1
Variation der Parameter beim Testen der numerischen Konvergenz
Variation der abgeleiteten Parameter beim Testen der numerischen
Konvergenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Konvergenztest 1. Die Werte für q sind ein arithmetisches Mittel
über die jeweilige Versuchsmenge. . . . . . . . . . . . . . . . . . .
Konvergenztest 2. Die Werte für q sind ein arithmetisches Mittel
über die Versuchsmenge. . . . . . . . . . . . . . . . . . . . . . . .
. 53
. 53
. 55
. 55
Serielle Laufzeit und Speicherverbrauch . . . . . . . . . . . . . . . . 64
10.1 Maximale spezifische Leitfähigkeit der Ionenkanäle in S/m2 . . . . . 72
80
Literaturverzeichnis
[1] N. T. Carnevale, M. L. Hines : The NEURON Book. Cambidge University
Press 2006.
[2] P. Dayan, L. F. Abbott : Theoretical Neuroscience. MIT Press 2001.
[3] J. Dudel, R. Menzel, R. F. Schmidt : Neurowissenschaft. Springer Verlag 2001.
[4] J. P. Eberhard, A. Wanner, G. Wittum : NeuGen: A tool for the generation
of realistic morphology of cortical neurons and neural networks in 3D. Neurocomputing 70 (2006), 327-342.
[5] W. Gropp, E. Lusk, A. Skjellum : Using MPI. MIT Press 1999.
[6] M. Häußer, B. Mel : Dendrites: Bug or feature? Current opinion in neurobilogy
13(2003), 372-383.
[7] A. L. Hodgkin, A. F. Huxley : A Quantitative Description of Membrane Current and its Application to Conduction and Excitation in Nerve. Journal of
Physiology 117 (1952), 500-544.
[8] A. E. Lindsay, K. A. Lindsay, J. R. Rosenberg : Increased Computational Accuracy in Multi-Compartmental Cable Models by a Novel Approach for Precise
Point Process Localization. Journal of Computational Neuroscience 19 (2005),
21-38.
[9] J. Lübke, V. Egger, B. Sakmann, D. Feldmeyer : Columnar Organisation of
Dendrites and Axons of Single and Synaptically Coupled Excitatory Spiny
Neurons in Layer 4 of the Rat Barrel Cortex. The Journal of Neuroscience 20
(2000), 5300-5311.
81
[10] Z. F. Mainen, T. J. Sejonwski : Influence of dendritic structure on firing
pattern in model neocortical neurons. Nature 382 (1996), 363-366.
[11] A. T. Schaefer, M. Matthew, E. Larkum, B. Sakmann, A. Roth : Coincidence Detection in Pyramidal Neurons Is Tuned by Their Dendritic Branching
Pattern. Journal of Neurophysiology 89 (2003), 3143-3154.
[12] A.Schierloh : Neuronale Netzwerke und deren Plastizität im Barrel-Kortex
der Ratte. Dissertation, Technische Universität München, 2003.
[13] R. D. Traub, D. Contreras, M. O. Cunningham, H. Murray, F. E. N. LeBeau, A. Roopun, A. Bibbig, W. B. Wilent, M. J. Higley, M. A. Whittington:
Single-Column Thalamocortical Network Model Exhibiting Gamma Oscillations, Sleep Spindles, and Epileptogenic Bursts. J Neurophysiol 93 (2005), 21942232.
[14] H. C. Tuckwell: Introduction to theoretical neurobiology. Cambidge University
Press 1988, 126-189.
[15] H. Weber : Ueber die stationären Strömungen der Elektricität in Cylindern.
Journal für die reine und angewandte Mathematik 76 (1873), 1-20.
82
Danksagung
An dieser Stelle möchte ich den Herrn Prof. Dr. Gabriel Wittum und Dr. Jens
Eberhard für ihre Geduld und Unterstützung danken, die sie mir wärend der Arbeit
entgegengebracht haben. Weiter bedanke ich mich bei Simone Eberhard für viele
nützliche Anregungen und Tipps.
83
Herunterladen