Feed Forward und Backpropagation

Wenn wir hier irgendwelche Daten in die ersten Input-Neuronen "füttern", so werden diese über die gewichteten Verbindungen zu den Ausgabe Neuronen weitergeleitet. Diese Berechnung (die eigentlich "nur" eine Transformation mit sehr vielen Parametern ist) nennt man auch allgemein "Feed Forward".



Wenn wir hierfür ein "frisches" (also untrainiertes) Netz mit zufälligen Gewichten benutzen, wird die Ausgabe nichts mit unserer gewünschten Ausgabe zu tun haben. Es kommt einfach nur ein wirrer Output an den Ausgabe-Neuronen an. Aber hier kommt nun eine wichtige fundamentale Idee der KI ins Spiel:



Wenn wir aufgrund von echten Beispiel-Paaren wissen, welche Ausgabe aus einem Output-Neuron kommen soll, nachdem wir den zugehörigen Input an den Input-Neuronen präsentiert haben, können wir dies einfach lernen. Und zwar, indem wir nach jedem Input/Output-Beispiel die Gewichte der Verbindungen nach einer einfachen Regel ändern: So geben wir den Verbindungen im Modell ein bisschen mehr Gewicht, die zum "richtigen", gewollten Output beigetragen haben. Die Gewichte der "falschen" Verbindungen stufen wir dagegen etwas herab. Wenn wir dies mit zigtausenden Beispielen "durchspielen" und die Gewichte zwischen allen Perzepten bei jedem Beispiel ein kleines bisschen ändern, lernt das Netz über die Zeit implizite Zusammenhänge zwischen Eingabe-Daten und den Ausgabe-Daten. Dieses Korrigieren der Gewichte erfolgt meist über eine Kettenregel mit Ableitungen und nennt sich übrigens "Backpropagation".






Loss und Overfitting

Die Qualität eines Modells lässt sich jederzeit feststellen, indem man mit einer Kennzahl den Unterschied zwischen der Soll- und der Ist-Ausgabe des Outputs während des Lernens beobachtet. Diese Kennzahl nennt man üblicherweise "Loss". Füttert man sein Modell mit sehr vielen Beispieldaten, so fällt der Loss üblicherweise für eine gewisse Zeit stetig ab.



Bereits mit diesem einfachen Lernprinzip lässt sich viel anstellen, sofern man ausreichend relevante Daten zur Verfügung hat. Ein Problem aus der Praxis ist jedoch, was solche Netze letztlich lernen. Denn ist das Netz für das eigentliche Problem zu groß ausgelegt und/oder lässt man es zu lange lernen, so lernt das Netz zu viele Details der Trainigsdaten - was man dann "Overfitting" nennt. In der Regel will man jedoch primär, dass ein Netz "nur" die generellen Zusammenhänge lernt, und gerade keine spezifischen Details. Im Falle von generativer AI wäre die stärkste Form von Overfitting, wenn das Modell die zum Training verwendeten Bilder 1:1 reproduzieren könnte.



Das Gegenteil gibt es ebenfalls. Wenn das Netz zu klein ausgelegt ist oder die Lernphase zu kurz ist, dann kommt es zu keinen vernünftigen Ergebnissen.



Ein dritte häufige Fehlerquelle ist die Qualität der Daten. Sind die gesuchten Regeln und Zusammenhänge nicht in den Daten vorhanden, so können sie auch nicht von einem KI-Modell entdeckt werden.



Dies waren einmal in aller Einfachheit die Grundbegriffe des Lernens mit neuronalen Netzen. Im nächsten Artikel wollen wir sehen, wie sich dies alles mit neuronalen Autoencodern, Diffusionsmodellen und dem ominösen Latent Space zusammenfügt.



Und wer nun etwas Blut geleckt hat und sich noch weiter mit der technischen Funktionsweise von einfachen neuronalen Netzen befassen will, findet zum Beispiel hier einen schönen Online-Simulator im Browser zum Herumspielen. Allerdings wird man hierfür dann doch auch etwas mathematisches Verständnis mitbringen müssen.


Ähnliche Artikel //
Umfrage
    Meine nächste Kamera wird eine











slashCAM nutzt Cookies zur Optimierung des Angebots, auch Cookies Dritter. Die Speicherung von Cookies kann in den Browsereinstellungen unterbunden werden. Mehr Informationen erhalten Sie in unserer Datenschutzerklärung. Mehr Infos Verstanden!
RSS Suche YouTube Facebook Twitter slashCAM-Slash