Page 1 1. XOR: Mit folgender Architektur “geht es” 2. n

Werbung
1. XOR: Mit folgender Architektur “geht es”
x1
x2
2. n-dimensionale Lernprobleme mit einer n-2-1-Architektur lösen
x1
x2
.
.
.
x2
Loading-Problem: Für eine endliche Liste binärer Trainingspaare
(x(1),d(1)),L,(x(k)d(k)) mit
n
x(1),L, x(k) " {0,1} ,d(1),L,d(k) " {0,1}
soll entschieden werden, ob es ein n-2-1-MLP gibt, welches bei Eingabe von Vektor x(i)
!eine Ausgabe ≥ 0,99 für d(i) = 1, und ≤ 0,01 für d(i) = 0, produziert.
Dieses Problem ist NP-vollständig.
Mit den Festlegungen „Ausgabe ≥ 0,99 für d(i) = 1, und ≤ 0,01 für d(i) = 0“ tragen wir der
Tatsache Rechnung, dass wir Neuronen mit sigmoider Aktivierungsfunktion verwenden
wollen, die, auch wenn die Eingaben nur binär sind, doch beliebige Werte zwischen 0 und
1 abliefern (ja sogar gar nicht in der Lage sind, exakt 0 oder 1 zu produzieren).
3. Encoder (Datenkompression)
Es gibt n Eingabeneuronen und n Ausgabeneuronen. Dazwischen gibt es eine verborgene
Schicht mit log(n) versteckten Neuronen (n sei eine Zweierpotenz). Bei Eingabe von
genau einer 1 am i-ten Eingabeneuron und sonst lauter Nullen, soll am i-ten
Ausgabeneuron ein Wert ≥ 0,99 und an allen anderen Ausgabeneuronen ein Wert ≤ 0,01
ausgegeben werden. Dies soll für alle i von 1 bis n gelten.
Die Idee ist, das Netz auf die (approximative) Reproduktion einer unären Zahleneingabe
an der Ausgabeschicht zu trainieren. Da nur log(n) versteckte Neuronen erlaubt sind, die
verborgene Schicht somit ein Nadelöhr für den Informationstransport darstellt, muss das
Netz irgendeine Art der Datenkompression lernen. Eine Möglichkeit wäre der Binärcode
an den versteckten Neuronen.
Beispiel mit n = 8 und als einem der 8 möglichen Eingabevektoren die Zahl 5:
unär 5 = 00001000
binär 5 = 101
0
0,01
0
0,01
0
0,99
0
0,01
0,01
0,01
1
0
0,99
0,99
0,01
0
0,01
0
0,01
4. Sekundärstruktur von Proteinen
Ein Protein besteht, vereinfacht gesagt, aus einer linearen Verkettung von Aminosäuren.
Es gibt, je nach Zählung, 20 verschiedene Aminosäuren. Proteine können aus einigen
Dutzenden, aber auch aus vielen Tausenden von Aminosäuren bestehen. Für die
biologische Wirkung eines Proteins ist seine 3-dimensionale Struktur, die sog.
Tertiärstruktur, von essentieller Bedeutung. Diese ist nur in aufwändigen Laborprozessen
(Röntgenkristallographie) zu bestimmen – wenn überhaupt. Seit einiger Zeit versucht
man, solche Strukturen eher rechnerisch zu bestimmen. Etwas weniger anspruchsvoll ist
es, als Vorarbeit aus der Liste der Aminosäuren eines Proteins (diese Liste nennt man die
Primärstruktur) zunächst die sog. Sekundärstruktur zu bestimmen, in der für jede
Aminosäure codiert ist, ob sie Teil einer Helixstruktur (α-helix), einer Faltblattes (βsheet), oder einer eher „lockeren Verbindung“ zwischen solchen Teilen (γ-coil) ist.
Man hat dabei das Gefühl, dass die Zugehörigkeit einer Aminosäure Ai eines Proteins zu
einer dieser 3 möglichen Strukturen in lokaler Weise durch seine Interaktionen mit
benachbarten Aminosäuren festgelegt ist, beispielsweise durch die 5 Aminosäuren links
und die 5 Aminosäuren rechts neben Ai. Deshalb kommt man auf die Idee, aus der
Kenntnis von 11 Aminosäuren die Klasse (α oder β oder γ) der mittleren (also 6-ten)
Aminosäure zu prognostizieren.
Diese 11 Aminosäuren sollen einem MLP als Eingaben präsentiert werden. Da es für die
erste Aminosäure 20 Möglichkeiten gibt, verwenden wir (unär codierend) hierfür 20
Neuronen. Entsprechendes gilt für die zweite bis 11-te Aminosäure. Insgesamt verwenden
wir also 220 Eingabeneuronen. An der Ausgabe verwenden wir 3 Ausgabeneuronen,
die mit einem Wert ≥ 0,99 an einem der 3 Neuronen und zwei Werten ≤ 0,01 an den
anderen beiden codieren, welcher der 3 Klassen die mittlere, durch die Eingabeneuronen
101 – 120 repräsentierte Aminosäure angehört. Gebräuchlich sind 2 verborgene Schichten
mit 20 – 30 Neuronen in der ersten und 5 – 10 Neuronen in der zweiten verborgenen
Schicht.
Als Trainingsdaten stehen alle Segmente aus 11 Aminosäuren von Proteinen bekannter
Sekundärstruktur zur Verfügung.
1
α
erste
1
Aminosäure
1
20
β
10
30
γ
220
5. Mühle
Wohin
soll
Weiß
seinen letzten Stein
setzen?
Erste Möglichkeit: Score einer Stellung berechnen
Netzeingabe sind diverse Merkmale, die man einer Stellung entnimmt: Anzahl
geschlossener Mühlen, Anzahl aller freien Positionen, wo man durch Setzen eines Steines
eine neue Mühle bilden kann; etc. Daraus soll ein “Score” dieser Stellung berechnet
werden (numerischer Wert normiert auf das Intervall von 0 bis 1). Dann wird unter allen
Folgestellungen diejenige gewählt, die den größten Score hat. Letzteres macht nicht das
Netz, sondern ein sequentieller Durchlauf durch das trainierte Netz mit allen möglichen
Stellungen. Problem: Man tut sich in Trainingsstellungen schwer, einen geeigneten Score
zu definieren.
Zweite Möglichkeit: Eingabe sind geeignete Merkmale zweier Vergleichsstellungen, die
als Folgestellungen derselben Ausgangsstellung auftreten können. Das Netz soll
entscheiden, ob die erste Stellung die bessere ist.
Eine solche Entscheidung ist in vielen Trainingssituationen (= 2 zu vergleichende
Stellungen) leichter zu treffen.
6. Contact Map
Wir betrachten, als Beispiel, eine größere Anzahl n von Hämoglobinproteinen bei
unterschiedlichen Tieren. Wir unterstellen, dass sich all diese Hämoglobine aus einem
gemeinsamen Ur-Hämoglobin entwickelt haben („homologe Proteine“), wobei es in der
Evolution gelegentlich Mutationen, Einfügen weitere Aminosäuren und Löschen
vorhandener Aminosäuren gegeben hat, was dafür verantwortlich sind, dass die diversen
Hämoglobine Variationen in der Aminosäurenreihenfolge aufweisen. Wir nehmen nun an,
dass uns diese evolutionäre Historie bekannt ist. Dies drückt man durch ein sog. multiples
Alignment aus, in dem die Mutationen, Einfügen, Löschen beispielsweise wie folgt
ausgedrückt sein können (die Buchstaben M, G, V, etc. sind Kürzel für Aminosäuren):
Etwas abstrakter gesagt legen wir als multiples Alignment eine Tabelle folgender Art
zugrunde:
die Abfolge der Aminosäuren bzw. Leerstellen in den Proteinen
1
i
j
m
P1
a11
a1i
a1j
a1m
Pr
ar1
ari
arj
arm
Ps
as1
asi
asj
asm
Pn
an1
ani
anj
anm
n homologe
Proteine
•
These 1: Wenn in einem der Proteine ein Kontakt zwischen Aminosäure i und
Aminosäure j besteht, so ist dieser Kontakt vermutlich funktionsrelevant und sollte
deshalb in allen anderen der homologen Proteine auch vorhanden sein.
i
j
•
These 2: Wenn wir für je zwei Positionen i und j wüssten, ob hier ein Kontakt
zwischen den Aminosäuren besteht, so könnten wir daraus die genaue räumlich
Struktur der Proteine vorhersagen. (In Wahrheit reicht es für die Vorhersage der
3D-Struktur schon, wenn man ca. 50% der Kontakte kennt.)
Nun konzentrieren wir uns im multiplen Alignment einmal auf die Spalten i und j. In
Spalte i wird nicht überall dieselbe Aminosäure stehen (weil ja Mutationen zu
Veränderungen geführt haben können). Ebenso wird in Spalte j nicht überall dieselbe
Aminosäure stehen. Wir stellen uns vor, dass wir den Aminosäuren A eine Maßzahl µ(A)
zuweisen können, welche diese Aminosäuren hinsichtlich gewisser chemischer
Eigenschaften charakterisiert (wie beispielsweise mehr oder weniger hydrophob/hydrophil
zu sein, oder Ähnliches). In Spalte i sei der Mittelwert der dort auftretenden solchen
Maßzahlen gleich µi und die Varianz (mittlere quadratische Abweichung vom Mittelwert)
der Maßzahlen gleich " i2 .
•
These 3: Wenn in einem den betrachteten Proteinen des multiplen Alignments ein
!
Kontakt zwischen Aminosäure i und Aminosäure j besteht, so sollten eine
Mutationen in den Spalten i und j hinsichtlich der oben beschriebenen Maßzahl
eine gewisse Korrelation aufweisen:
Mutation in Spalte i
zu einem
überdurchschnittlichen Maßzahlwert sollte durch Mutation in Spalte j zu einem
ebenso
überdurchschnittlichen
Maßzahlwert
begleitet
sein,
und
mit
unterdurchschnittlichen Werten ebenso. Dies alles, damit chemisch auch nach
Mutationen ein Kontakt der Aminosäuren i und j möglich bleibt (Proteine, bei
denen durch eine Mutation dieser Kontakt verloren gegangen ist, waren nicht
lebensfähig und sind von der Evolution ausgesondert worden, kommen also in
unserem multiplen Alignment gar nicht vor).
Protein Pr
Protein Ps
µi
i
µi + 8
i
µi - 7
i
j
j
µj
µj + 6
j Pt
Protein
µj - 6
Eine solche „Kovariabilität“ des Mutationsgeschehens in den Spalten numero i und j misst
man in der Statistik durch die sog. Kovarianz:
1 m
" ij = 2 2 % (µ(A pi ) $ µi )(µ(A pj ) $ µ j )
# i # j p=1
•
These 4: Ein positiver (möglichst großer) Wert κij sollte also auf einen möglichen
!
Kontakt dieser beiden Positionen hinweisen.
Wir können noch einen Schritt weiter gehen.
•
These 5: besteht ein Kontakt an den Positionen i und j, so erwarten wir auch
entsprechende Kontakte an den beiden linken und den beiden rechten
Nachbarpositionen.
Bei einem β-sheet würde man je nach „Orientierung“ des Faltblattes zwei Möglichkeiten
haben:
i-2 i-1 i i+1 i+2
i-2 i-1 i i+1 i+2
j+2 j+1 j j-1 j-2
j-2 j-1 j j+1 j+2
anti-paralleler β-sheet
paralleler β-sheet
In der Matrix aller paarweisen Korrelationen würde man folgende Muster erwarten erwarten:
j "2
j "1
j
i"2
i "1
!
j+2
>0
>0
i
i +1
i+2
j +1
>0
>0
>0
j "2
i"2
i "1
j "1
j
j +1
j+2
>0
>0
i
i +1
i+2
>0
>0
>0
!
Bei einem Kontakt in einer α-Helix würde es wie in einem parallelen β-sheet aussehen;
außerdem würde hier die Differenz j – i nicht allzu groß sein dürfen.
Da in diesen 25 Werten also starke Informationen enthalten zu sein scheinen bezüglich der
Frage, ob zwischen Positionen i und j ein Kontakt besteht, sollte ein neuronales Netz diese 25
Werte zur Verfügung gestellt bekommen. Des Weiteren würde man ihm vielleicht auch noch
die alle Prognosewerte bezüglich Sekundärstruktur an den Positionen i – 2, ..., i +2 und j – 2,
..., j +2 geben, sowie relevante chemische Charakteristika (what ever).
25 Neuronen mit
Korrelationskoeffizienten
18 Neuronen mit
i, j in Kontakt
Sekundärstrukturprognosen
i, j nicht in
Kontakt
Weitere Neuronen
mit chemischen
Merkmalen und
Abstand zwischen i
und j
Anzahl der Gewichte bei ca. 60 Eingabeneuronen, 20 verborgenen Neuronen in der ersten
hidden
Schicht,
10
verborgenen
Neuronen
in
der
zweiten
hidden
Schicht,
2
Ausgabeneuronen: 60 " 20 + 20 "10 + 10 " 2 = 1420
Zur Erinnerung: Die Hessematrix der zweiten partiellen Ableitungen der quadratischen
!
Fehlerfunktion hätte 2.016.400 Einträge; ihre Invertierung würde O(2.863.288.000)
Additionen und Multiplikationen verschlingen.
Herunterladen