Ich habe jetzt nochmal zurückgeblättert, mit dem Ziel auf einen Punkt hinzuweisen,
den ich zwischendurch jetzt immer vernachlässigt habe. Wir hatten ja bei dem mathematischen Teil
hiermit angefangen und da habe ich gesagt, na ja für den Universal Approximation Pro brauche ich,
dass ich hier konstante Vektoren mit drin habe. Also das heißt, dass ich eine affine Abbildung habe
und nicht nur eine lineare Abbildung und ab hier habe ich dann immer nur mit den linearen Abbildungen
gearbeitet. Das kann man natürlich schöner finden, weil es dann halt einfacher ist, aber
irgendwann muss man sich ja mal darum kümmern, wie man das repariert. Und hier habe ich auch da die
affinen Abbildungen drin, weil ich diese konstanten Vektoren immer mit drin habe. Hier sieht man das
sozusagen von selber eben wegen dieser Identität, dass diese konstanten hier von alleine immer wieder
vorkommen mit dem Siemens und so weiter. Jetzt ist eben die Frage, wie geht man damit um? Weil all
unsere Algorithmen, die wir gemacht haben, sind ja so gestreckt, dass da eben nichts vorkommt mit dem
konstanten Vektor. Auch die Lahnverfahren mit Pet- und Bepetterlöhne und so weiter haben wir immer nur
erklärt, abstrakt für Gewichthalt. So, bis dahin sind wir gekommen. Den nächsten Punkt, den ich gerne
erklären möchte, ist eben, wie repariert man das mit diesen konstanten Vektoren, damit es nicht
wirklich mehr Arbeit ist, aber trotzdem möglich ist zu machen. Die Antwort darauf ist, überlegen wir uns
mal, was das bedeutet. Wenn ich in dem Tangentza hier etwas drin habe, wo in der Tat auch eine
Konstante mit drin ist, dann ist das, was innerhalb vom Tangentza steht, eine beliebige mögliche
Schnittlinie im Inkortraum oder im Allgemeinen gesagt, eine beliebige mögliche Hüverebene,
die da den Inkortraum durchschneidet. Wenn ich sage, ich habe da keine Lust drauf, wenn mir das zu viel
Arbeit ist und lasse diese V0 weg hier, dann hätte ich ja nur so Strukturen. Wenn ich solche Strukturen
habe, dann entspricht es, dass sämtliche der Schnittlinien hier durch den Ursprung gehen.
Weil alle Gleichungen, die so einer geraden Gleichung folgen, die gehen hier durch Null,
beziehungsweise im Allgemeinen Fall alle Hüverebenen würden dann eben durch den Ursprung
gehen. Und das ist ja doch irgendwie eine dramatische Versimplifizierung. Also unsere
schönen Algorithmen gingen alle hierfür. Was wir aber eigentlich doch brauchen, ist das hier.
Wie gehe ich damit um? Die Antwort ist, ich versuche das nicht durch eine algorithmische
Veränderung zu reparieren, sondern indem ich die Architektur ein Stück allgemeiner mache.
Also, was wir können, ist das da. Was wir gerne können sollten, ist das da.
Und jetzt versuche ich die Geschichte hier zurückzuführen auf so was. Und das mache ich
so, indem ich sage, ich stelle mir einfach vor, ich habe einen zusätzlichen Input. Nun,
skalar, einen Input, der ist gleich eins. Dann würde ja, wenn ich diesen zusätzlichen Input
gleich eins mit diesem anderen Inputs hier zusammennehme, dann würde die Spalte, die gerade
zu diesem zusätzlichen Input eins dazu gehört, so eine zusätzliche Spalte sein, so wie jeder dieser
X-Komponenten hier seine Spalte in dem W hat. Also die ganze Innereien, die hier drin stehen,
kann ich mir sozusagen ausdenken, wie eine erweiterte Matrix, genauso hier außen. Und wenn
ich den Gedanken gange für Architektur und wiederhole, dann sage ich, aha, ich habe also neben
dem normalen Input Vector, Hidden und Output hier, da habe ich dann noch einen zusätzlichen Input,
der ist konstant gleich eins. Und wenn ich von eins, hier von einem Skala eins hochgehe in den
Vektor der Größe Hidden, dann ist die Zahl der Parameter, die ich hier brauche, ein Vektor.
So, und diese Vektoren, die hier drin stehen, das entspricht genau dem V1, beziehungsweise die hier
stehen, entspricht dann dem V2. Also, das heißt, statt über konstanten Vektoren zu operieren,
kann ich die grüne Architektur, die wir ja nur Input und Output gemalt haben, kann ich die grüne
Architektur erweitern, so ich habe einen zusätzlichen Input, der ist konstant immer gleich eins. Und der
sendet dann halt Signale und die Parameter, die hier drin stehen, die funktionieren für das Netzwerk
dann wie die V1, beziehungsweise hier wie die V2. So, das ist alles so gut und schön. Und was passiert ist,
beim Lernen, ja, beim Lernen haben wir gelernt, dass der Fehler, der hier oben ausgelöst wird,
hier runterfließt entlang der roten Linie, also genau umgekehrt zur grünen Linie, entlang der roten
Linie und das Kreuzprodukt von Output von hier und Data von da oben ist dann eben unsere Veränderung
der V2. Was passiert ist, passiert jetzt, wenn ich hier für den konstanten Vektor hier
einen Vorwärts-Rückwärtsfluss mache. Der Vorwärtsfluss war, dass die 1 über dieses Gewicht
Presenters
Zugänglich über
Offener Zugang
Dauer
01:31:06 Min
Aufnahmedatum
2019-04-15
Hochgeladen am
2019-04-17 10:58:24
Sprache
de-DE