2 - Mathematische Grundlagen zu Künstliche Intelligenz, Neuronale Netze und Data Analytics II [ID:30554]
50 von 876 angezeigt

So, jetzt haben wir die ersten Ableitungen ausgerechnet.

Jetzt müssen wir ein WET-Update ausrechnen.

Die einfachste Art, das zu machen, ist halt steepest descent.

Sprich, ich gehe hin, habe eine error-Funktion.

Da habe ich jetzt den lokalen Gradienten für ein Trainingsbeispiel, den kumulierten Gradienten

für alle Trainingsbeispiele.

Und hier hinten steht dann eben die Hessische Matrix über alle Trainingsbeispiele.

Und Steepest Descent Learning würde bedeuten, mache eine Verschiebung von den Gewichten

in deinem System hier oder halt am Ende von der Aerofunktion abhängig.

Mache das so, dass du eine Teleentwicklung bis zur zweiten Ordnung machst.

Und dann ist die Frage, welche Verschiebung der Gewichte hier würde das was bringen,

sodass die Errorfunktion hier kleiner ist wie vorher.

Naja, die Antwort ist, wenn man diese Verschiebung hier macht, sprich Schrittlänge mal Suchrichtung.

Suchrichtung ist Minusgradient, Schrittlänge ist dieses Etta hier.

Wenn man das so anwendet, dann kann man das ja hier einsetzen.

Und dann kommt halt raus, dass das hier hinten keine große Rolle spielt, weil Etta-Quadrat

ist eine extrem kleine Zahl, wenn Etta schon klein ist.

Und dann habe ich hier ein Minus stehen und ziehe das ab und werde eben kleiner.

Also das ist der normale Gedankengang, warum Steve ist zu senden.

Eine gute Idee ist, den will aber bei Neuro keiner machen.

Warum nicht?

Man sagt, naja, wenn die Daten redundant sind, dann muss ich nicht warten, dass ich den kumulierten

Gradienten hier ausgerechnet habe, sondern kann ja mit dem Einzelgradient schon mal reingehen.

Wenn ich das mache, kriege ich das sogenannte Pattern-by-Pattern-Learning.

Sprich, ich kann nach jedem Beispiel, was ich gesehen habe, schon mal eine Verschiebung

der Gewichte machen.

Das ist am Ende des Tages gar nicht so weit weg von dem Steve ist desent, aber gucken

wir uns jetzt nicht an.

Und der zweite Punkt hier ist, wenn ich Pattern-by-Pattern-Learning mache, ist das natürlich eine stochastische

Larnmethode, weil das zittert ja dauernd, je nachdem wie die Daten halt auch zittern.

Und wenn ich mir überlege, was heißt das, ein zitterndes Larnen, na gut, dann zittert

die Error-Funktion auch.

Wie zittert sie?

Na ja, immer mit den Verschiebungen, die ich hier mache.

Dann mache ich wieder eine Teleentwicklung bis zur zweiten Ordnung und dann sehe ich,

dass wenn es eine Zitterbewegung ist, gleichen sich die Zitterbewegungen ja untereinander

aus.

Jedenfalls ist das richtig in der Nähe vom lokalen Minimum.

Das alle Teilgradienten zusammengenommen müssen da ja null sein.

Also ist das hier dann weg und ich habe, dass ich eigentlich nicht die originale Error-Funktion

minimiere, sondern etwas minimiereres und geisterhaften Penalty-Themen dahinter hängen

hat.

Das ist eine zweite Ableitung.

Hier ist ein Penalty-Themen auf die Krümmung und der Penalty-Parameter selber hier besteht

zum einen aus der Variante von den Gradienten und b aus der Schrittlänge, die ich da gewählt

habe.

Und was sagt das?

Na gut, wenn die Daten sich stark widersprechen, sprich die Gradienten sehr stark hoch und

runter gehen, dann bitte schön, mach ein einfaches Modell, wenn die Daten sich nicht stark widersprechen,

ist das hier uninteressant und konzentriere dich auf die Error-Funktion.

Zugänglich über

Offener Zugang

Dauer

01:30:26 Min

Aufnahmedatum

2021-04-06

Hochgeladen am

2021-04-06 14:17:47

Sprache

de-DE

Einbetten
Wordpress FAU Plugin
iFrame
Teilen