Wissen Grundwissen KI Künstliche Intelligenz einfach erklärt - Perzeptron, Backpropagation und Loss

Grundwissen KI Künstliche Intelligenz einfach erklärt - Perzeptron, Backpropagation und Loss

Generative KI-Modelle wie Midjourney, Runway oder Stable Diffusion werden immer leichter für jedermann zu bedienen. Dennoch verstehen die wenigsten Anwender was hinter den Kulissen vor sich geht. Das versuchen wir mit einfachen Worten zu ändern...

Generative KI-Modelle wie Midjourney, Runway oder Stable Diffusion sind in aller Munde und werden auch immer leichter für jedermann zu bedienen. Dennoch verstehen die wenigsten Anwender auch nur im Ansatz, was hinter den Kulissen vor sich geht.



Ein gewisses Grundverständnis kann sicherlich nicht schaden. Sei es, um nachfolgende Technologien besser einordnen oder auch um beim Prompting strategischer vorgehen zu können. Noch dazu ist es enorm spannend zu begreifen, wie aus einigen ganz primitiven Grundelementen plötzlich die Magie der künstlichen Intelligenz entstehen kann.



Wir versuchen, so weit wie nur möglich auf die zugrundeliegende Mathematik und Statistik als Erklärung zu verzichten, denn dieser Artikel soll wirklich jedem Interessierten vermitteln, was hinter den Türen von Stable Diffusion und Co vor sich geht. Also angeschnallt und los gehts...




Wirklich eine Blackbox?

Die Idee hinter neuronalen Netzen und dem damit verbundenen Deep Learning unterscheidet sich grundsätzlich von dem Ansatz des klassischen Programmierens.



Beim Programmieren versucht man aus Daten und selbst formulierten Regeln ein Ergebnis zu erzielen:



Grundwissen KI Künstliche Intelligenz einfach erklärt - Perzeptron, Backpropagation und Loss : Daten regeln ergebnis


Bei der Künstlichen Intelligenz versucht man dagegen, aus Daten und bekannten Ergebnissen die dahinter liegenden Regeln für einen Zusammenhang zu finden:



Grundwissen KI Künstliche Intelligenz einfach erklärt - Perzeptron, Backpropagation und Loss : Daten ergebnis regeln


Das Faszinierende an den meisten modernen KI-Modellen ist zudem, dass man zum Lernen keinerlei Vorannahmen zu den Daten mehr mitliefern muss. Die Netze erkennen im besten Fall selbständig, was sie aus den Daten lernen sollen. Das klingt erst einmal unglaublich, ist aber tatsächlich der Fall. Doch um die Implikationen daraus grundsätzlich zu verstehen, müssen wir uns jedoch noch tiefer in den Kaninchenbau fallen lassen.







Das Perzeptron

Das kleinste und "urspünglichste" Element eines KI-Modells ist das sogenannte Perzeptron. Dieses wurde schon vor über einem halben Jahrhundert erfunden und ist irgendwie ein bisschen einer menschlichen Nervenzelle nachempfunden. Ein Perzeptron ist über viele Eingänge und Ausgänge mit anderen Perzeptren verbunden. Diese Verbindungen waren ein erster Versuch, die stark vernetzten Nervenleitungen im menschlichen Gehirn mathematisch abzubilden.



Wie eine Nervenzelle bekommt auch ein Perzeptron als Input Signale von anderen Perzeptren, fasst diese zusammen und gibt diese als Output an andere Perzeptren weiter.



Grundwissen KI Künstliche Intelligenz einfach erklärt - Perzeptron, Backpropagation und Loss : perzeptron


Im allgemeinen KI-Sprachgebrauch hat sich mittlerweile der Begriff "Neuron" für ein Perzeptron als gleichbedeutend etabliert. Für neuronale Netze, die lernen sollen, schaltet man nun solche Neuronen in Schichten zusammen. Dabei werden immer die Ausgänge der Neuronen mit den Eingängen aller Neuronen der nächsten Schicht verbunden.



Mehr als 5 Schichten gelten heutzutage bereits als relativ viel, weil mit jeder Schicht der Rechenaufwand stark ansteigt. Aber erst mit einer gewissen Schichtenanzahl kommt man zu wirklich interessanten (weil komplexen) Lernergebnissen. So spricht man bei vielen Schichten von "tiefen", ergo "Deep" Neural Networks. Und davon abgeleitet etablierte sich schließlich der Begriff Deep Learning.



Diese Schichten sind in der Regel so verbunden, dass jede Schicht seine Signale von der davor liegenden Schicht als Input erhält und jedes Perzeptron einer Schicht seinen Output an die nächste Schicht weitergibt. Ein vereinfachtes Netzwerk darf man sich dann so vorstellen:



(1)Eingabe Schicht, (2)Zwischenschichten, (3) Ausgabe Schicht
(1)Eingabe Schicht, (2)Zwischenschichten, (3) Ausgabe Schicht


Jede Verbindung eines Perzeptrons zu einem anderen wird durch einen Pfeil symbolisiert. Jeder Pfeil entspricht einem "Gewicht" der Verbindung. Dieses Gewicht beschreibt, wie stark jedes Signal des absendenden Perzeptrons beim eingehenden Perzeptron ankommen soll. Eine Verbindung mit kleinem Gewicht sendet also ein schwaches Signal und eine Verbindung mit großem Gewicht sendet immer ein starkes Signal.



Denken wir uns nun ein Netz, bei dem die Gewichte zwischen den einzelnen Neuronen zufällig erstellt wurden.





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.


Leserkommentare // Neueste
cantsin  //  15:06 am 10.8.2023
Mal 'ne neugierige Praxisfrage: Entspricht die bei Stable Diffusion in "Steps" einstellbare Rechentiefe der Anzahl der Schichten des neuronalen Netzwerks? Denn der Effekt dieses...weiterlesen
Jalue  //  11:08 am 10.8.2023
@TheBubble: Habe deine Antwort erst jetzt entdeckt (die "Slashcam-KI" benachrichtigt scheinbar nicht immer zuverlässig über Antworten ;-). Vielen Dank, dass du dir die Mühe...weiterlesen
TheBubble  //  23:03 am 7.8.2023
Ich bin mir jetzt nicht ganz sicher, wie ich Dich verstehen soll. Die Eingabe wird jedenfalls an ein oder mehrere künstliche Neuronen weitergegeben und von ihnen wird jeweils aus...weiterlesen
Ähnliche Artikel //
Umfrage
    Was hältst du von den neuen Bild/Video-KIs?





    Ergebnis ansehen
RSS Facebook Twitter slashCAM-Slash