Wir haben der Frage gewidmet: Was sind neuronale netze? Wo hat das eigentlich angefangen? Wir beginnen mit dem Blick darauf, was eigentlich ein Neuron ist und wie ab den 1940er Jahren damit experimentiert wurde, elektronische Neuronen herzustellen. Das war nämlich der Ausgangspunkt dafür, dass um 1960 herum das Perzeptron orgestellt werden konnte - ein einfaches neuronales netz. Es geht darum, in wie fern das eine wichtige grundlage für die heutigen neuronalen Netze war.
Wir haben der Frage gewidmet: Was sind neuronale netze? Wo hat das eigentlich angefangen? Wir beginnen mit dem Blick darauf, was eigentlich ein Neuron ist und wie ab den 1940er Jahren damit experimentiert wurde, elektronische Neuronen herzustellen. Das war nämlich der Ausgangspunkt dafür, dass um 1960 herum das Perzeptron orgestellt werden konnte - ein einfaches neuronales netz. Es geht darum, in wie fern das eine wichtige grundlage für die heutigen neuronalen Netze war.
Neuronale Netze, Maschine Learning, Perceptron, Backpropagation, Deep Learning
Helena: Willkommen zur 57. Folge beim Datenleben Podcast, dem Podcast über Data Science. Wir sind Helena
Janine: und Janine
Helena: und möchten euch in die Welt der Daten mitnehmen. In unserer Welt wird es immer wichtiger, Daten in das große Ganze einzuordnen. Deswegen wollen wir Data Science anhand von Themen erklären, die uns alle betreffen.
Janine: Genau, und was uns vor allem alle betrifft, sind neuronale Netze, denn sie sind gewissermaßen überall. Und wir dachten uns, wir stellen nochmal die Frage, was sind sie und vor allem, woher kommen sie? Diese Folge wird nochmal etwas technischer, weil, ja, wir fragen uns eben, was sind neuronale Netze? Dafür müssen ein paar Grundlagen erklärt werden. Und ganz am Anfang natürlich aber auch die Frage, was ist eigentlich ein Neuron? Und ja, dann setzen wir damit an, wie ab den 1940er Jahren damit experimentiert wurde, elektronische Neuronen herzustellen. Das war nämlich der Ausgangspunkt dafür, dass so um 1960 herum das Perzeptron vorgestellt werden konnte, ein einfaches neuronales Netz. Und inwiefern das eine wichtige Grundlage für die heutigen neuronalen Netze war, darum geht es heute.
Helena: Genau, und wir finden das Thema wichtig, weil letztlich sämtliche modernen KI-Systeme, die uns so umgeben, darauf basieren. Und darum, ja, wollen wir jetzt den neuronalen Netzen heute mal eine ganze Folge widmen.
Janine: Der Sand in den Getrieben der neuronalen Netze. Manchmal, wenn ich über die sogenannte künstliche Intelligenz nachdenke, muss ich an den Sandmann denken. Diese Novelle von E.T.A. Hoffmann wurde 1816 veröffentlicht. Darin wird erzählt, wie Nathanael von einem Alchemisten und einem Professor hinters Licht geführt wird, indem sie bewirken, dass er sich in Olimpia, eine mechanische Puppe, verliebt. Auf alle Gäste des Abends wirkt die musizierende und singende Olimpia merkwürdig leblos und unheimlich, auf Nathanael wirkt sie jedoch ganz anders, nachdem er sie durch ein präpariertes Opernglas betrachtet. Selbst als er sie zum Tanz auffordert, wirkt der Einfluss auf ihn fort, ihre zunächst eiskalte Hand erscheint ihm plötzlich, als würde ein Puls darin anfangen zu schlagen. Auch das Gespräch mit ihr genießt er, selbst wenn seine Angebetete nichts anderes antwortet als immer wieder "Ach, ach, ach". Den Spott, den die anderen Gäste für Olimpia überhaben, ignoriert er, doch sein Freund Sigmund versucht offen mit ihm zu reden.
"Wunderlich ist es doch, dass viele von uns über Olimpia ziemlich gleich urteilen. Sie ist uns, nimm es nicht übel, Bruder, auf seltsame Weise starr und seelenlos erschienen. Ihr Wuchs es regelmäßig, so wie ihr Gesicht, das ist wahr. Sie könnte für schön gelten, wenn ihr Blick nicht so ganz ohne Lebensstrahl, ich möchte sagen, ohne Sehkraft wäre. Ihr Schritt ist sonderbar abgemessen, jede Bewegung scheint durch den Gang eines aufgezogenen Räderwerks bedingt. Ihr Spiel, ihr Singen hat den unangenehmen, richtigen, geistlosen Takt der singenden Maschine und ebenso ihr Tanz. Uns ist diese Olimpia ganz unheimlich geworden, wir mochten nichts mit ihr zu schaffen haben, es war uns als tue sie nur so wie ein lebendiges Wesen, und doch habe es mit ihr eine eigene Bewandtnis." Nathanael gab sich dem bitteren Gefühl, das ihn bei diesen Worten Siegmunds ergreifen wollte, durchaus nicht hin, er wurde Herr seines Unmuts und sagte bloß sehr ernst: "Wohl mag euch, ihr kalten prosaischen Menschen, Olimpia unheimlich sein. Nur dem poetischen Gemüt entfaltet sich das gleich Organisierte, nur mir ging ihr Liebesblick auf und durchstrahlte Sinn und Gedanken. Nur in Olimpias Liebe finde ich mein Selbst wieder, euch mag es nicht recht sein, dass sie nicht in platter Konversation faselt wie die anderen flachen Gemüter, sie spricht wenig Worte, das ist wahr, aber diese wenigen Worte erscheinen als echte Hieroglyphe der inneren Welt, voll Liebe und hoher Erkenntnis des geistigen Lebens in der Anschauung des ewigen Jenseits. Doch für alles das habt ihr keinen Sinn und alles sind verlorene Worte."
Manchmal, wenn ich über die sogenannte künstliche Intelligenz nachdenke, muss ich an den Sandmann denken.
Helena: Ja und um zu erklären, was neuronale Netze sind, beschäftigen wir uns jetzt erstmal mit der Frage, was ist eigentlich ein Neuron, so ganz allgemein gesprochen. Also unser Gehirn besteht aus vielen Milliarden Nervenzellen und diese Nervenzellen werden auch Neuronen genannt. Dabei, ja, nehmen die Nervenzellen über Nervenbahnen Erregungen anderer Zellen auf und leiten diese dann oft auch weiter. Und diese Erregungen werden vor allen Dingen über elektrische Signale übertragen, aber auch über chemische Botenstoffe. Diese chemischen Botenstoffe kennt man vielleicht auch unter dem Namen Neurotransmitter. Und dadurch kommen eben Informationen zwischen Neuronen ja an andere Orte und man kann sich dabei vorstellen, so ein elektrisches Signal ist schneller als so ein chemischer Botenstoff. Die haben dann eben etwas andere Funktionen. Und pro Neuron gibt es dann etwas mehr als 1000 Verbindungen zu anderen Neuronen. Das ist schon ganz schön viel. Und diese Verbindungen werden auch, und diese Bahnen werden dann eben als Synapsen bezeichnet. Das sind dann quasi auch die Nervenbahnen sozusagen. Das Besondere jetzt an so einem Gehirn ist, das ist in der Lage die Synapsen- und Nervenzellen ja immer wieder anzupassen, um eben neue Dinge zu lernen und sich an neue Gegebenheiten anzupassen. Also das menschliche Gehirn lernt, während es benutzt wird. Und um zu lernen, hat mal jemand die sogenannte Hebbsche Lernregel aufgestellt, die dann besagt, dass wenn ein Neuron besonders oft ein anderes Neuron anregt, dann passen sich die Synapsen dahingehend an, dass dieses zweite Neuron auch leichter anzuregen ist von dem ersten. Das heißt, das Signal wird quasi verstärkt, wenn das viel benutzt wird. Und man kann sich jetzt vorstellen, wenn man diese Lernregel zugrunde legt, dann erklärt es auch, warum wir Dinge üben müssen. Weil dadurch, dass man, wenn man eine neue Fähigkeit lernen möchte, dann ist ja der Klassiker, man muss die wiederholen, wiederholen, wiederholen. Und dabei geht es eben darum, um das zu machen, die nötigen Neuronen und die Synapsen zu verbessern quasi, also die Verbindung zu verbessern, sodass es einem leichter fällt. Das ist eigentlich auch ganz gut zu wissen. Also Lernen bei Menschen funktioniert durch Wiederholen und so funktioniert eben das menschliche Gehirn auch.
Janine: Und das bis ins hohe Alter, wie man inzwischen weiß. Wo man früher noch so ein bisschen gedacht hat, das menschliche Gehirn entwickelt sich und irgendwann ist man erwachsen und dann ist es fertig, ist eigentlich inzwischen auch klar geworden, dass man bis ins hohe Alter alles Mögliche eigentlich lernen kann.
Helena: Ja, ich meine, klar, wir kennen vielleicht alle Menschen, die etwas älter sind, die vergesslicher werden, aber sie erinnern sich ja dann doch schon auch an Dinge, die sie noch erleben. Das würde ja nicht gehen, wenn das Gehirn nicht mehr lernen könnte. Weil sich an Dinge zu erinnern ist ja trotzdem, ja, ein Prozess des Lernens.
Janine: Und was die Menschen irgendwann mal besonders interessiert hat zu lernen, ist, wie die Welt um sie herum funktioniert. Und deswegen haben sie vieles beobachtet, auseinandergenommen und in die kleinsten Teile hin untersucht, um die Funktionsweise zu verstehen oder bestimmte Aspekte der Natur vielleicht nachzuahmen. Und dabei sind sie eben wirklich bis in die feinsten Strukturen gegangen, wie eben zum Beispiel auch die Neuronen. Und da begann es Anfang der 1940er Jahre, dass vor allem die Idee verfolgt wurde, selbst ein elektronisches Neuron herzustellen. Und ja, darum geht es jetzt um diese elektronischen Neuronen der, naja, 1940er Jahre.
Helena: Genau, in den 1940er Jahren, ja, das ist quasi kurz nachdem von Alan Turing über Berechenbarkeit und so weiter Computer theoretisch beschrieben wurden und er dann eben die These aufgestellt hat, dass Computer in der Lage sind, alles zu berechnen, solange sie bestimmte Grundfähigkeiten haben. Und deswegen hat man sich dann gedacht, okay, man hatte zu dem Zeitpunkt ja noch nicht so wirklich Computer, es gab nur erste Prototypen, aber dieses Berechnungssystem, könnte man nicht Neuronen von Menschen so nachbilden, dass man beweisen kann, dass das menschliche Gehirn in der Lage ist, im Prinzip alles zu berechnen. So, da ging es noch gar nicht unbedingt darum, das Gehirn an sich nachzubauen, sondern die einzelnen Neuronen zu modellieren, mit dem Ziel nachzuweisen, dass das menschliche Gehirn eben alles berechnen kann, nach den Regeln von Turing. Und das, was dazu gebaut wurde, war das sogenannte McCulloch-Pitts-Modell und hierbei wurden Neuronen folgendermaßen angenommen, dass die folgende elektrische Eigenschaften eben haben. Also ein einzelnes Neuron hatte dann mehrere Eingänge, wo dann Signale wie 1 oder 0 rein können, weil wir sind hier in einem Computersystem, also es soll ja quasi ein Computer nachbauen. Und abhängig von den Eingangswerten soll das Neuron dann 1 oder 0 ausgeben können. Dabei gab es eben einzelne Eingänge, die quasi verstärkend gewirkt haben und dann einzelne, die abschwächend gewirkt haben. Also wenn jetzt in einem bestimmten Eingang eine 1 war, dann hat es die Wahrscheinlichkeit erhöht, dass man eine 0 rauskriegt und in dem anderen Fall bei anderen Neuronen, wenn dann eine 1 ankam, wurde eher eine 1 wieder ausgegeben und das hat man über sogenannte Schwellwert-Gatter implementiert, deren quasi Ziel es ist, wenn so und so viele Einsen gekommen sind, dann wird auch eine 1 ausgegeben. Und durch die abschwächenden Eingänge wird quasi dann, wenn da eine 1 reinkommt, das wieder abgezogen. Und wenn man jetzt sagt, man hat 10 Eingänge, davon sind 5 additiv und 5 subtraktiv und man hat dann irgendwie 4 Einsen bei den additiven und 2 Einsen bei den subtraktiven, da hat man den Wert 2 und wenn jetzt der Schwellwert von diesem Neuron 3 ist, dann gibt man eine 0 aus. Wenn der Schwellwert aber eine 1 oder 2 gewesen wäre, dann würde man eben eine 1 ausgeben. Und das, was man mit dieser Art von Neuronen dann machen konnte, ist Aussagenlogik betreiben. Also wenn ja quasi eine Aussage wahr ist und dann eine 1 geschickt hat an das Neuron und eine andere Aussage auch wahr war, dann konnte man eben die Unverknüpfung damit machen, aber eben auch andere Sachen wie exklusives "oder" zum Beispiel. Das heißt, wenn eine Aussage 1 ist oder eine andere Aussage 1, dann kann nur 1 rauskommen, wenn nur 1 von beiden 1 ist. Wenn beides 1 oder 0 ist, dann würde das, wenn beides 1 ist, kommt 0 raus, nur wenn 1 1 ist 0. Das wird uns später nochmal betreffen. Also ein "oder" ist ja, wenn es reicht, wenn ein Eingang 1 ist, das wäre quasi Schwellwert von 1. Das exklusive "oder" ist ein bisschen komplizierter. Man hat aber auch sowas wie "nicht". Also wenn jetzt, dass man umkehrt, dazu muss man dann eben, ja, das, was da rauskommt, eben umdrehen können. Aber hier war eben das Ziel nachzuweisen, ja, wenn man jetzt sagt, Neuronen, menschliche Neuronen funktionieren auch ungefähr so, dann hat man damit bewiesen, ja, mit menschlichen Neuronen kann man jetzt quasi beliebige Computer bauen. Das hat man jetzt so nicht weitergemacht, sondern das Ziel war jetzt eher, dass man versucht hat, in Computern menschliche Neuronen oder das Gehirn nachzubauen.
Helena: Und das erste elektronische neuronale Netz, was dann veröffentlicht wurde, war das sogenannte Perzeptron. Das Perzeptron wurde 1958 eingeführt und ist ein einfaches neuronales Netz und es hat eben Eingangswerte und für jeden Eingangswert gibt es dann noch zusätzlich so Gewichtungswerte, die dann sagen, ja, wie wichtig ist dieser Eingang. Also diese Gewichtungswerte stellen quasi die Synapsen dar, weil wir vorhin hatten bei der hübschen Lernregel, ja, wenn die Synapsen besonders oft benutzt werden, dann kommen da Werte besonders gut durch und das würde man bei diesem Gewichtungswert eben dadurch darstellen, dass der Wert dann höher wird, wenn dann diese Verbindung eben wichtiger ist. Und dann hat man auch hier eben eine Schwellwertfunktion, also man hat alle Eingangswerte, alle Eingangswerte werden dann eben, also die können dann wieder 0 oder 1 sein, werden dann eben mit den Gewichtungen multipliziert und dann alle addiert und dann hat man für alle Eingangswerte eine Zahl und dann gibt es wieder diese Schwellwertfunktion, also wenn diese Zahl größer ist als ein bestimmter Schwellwert, die dann eben auch spezifisch für diese Neuronen sind, dann gibt es eine 1 aus und wenn der Schwellwert eben nicht erreicht wird, dann eine 0. Der Unterschied hier ist jetzt zum einen, dass man gleich ein ganzes Netz aus mehreren Neuronen hat, aber auch, dass es nur diese additiven Eingänge gibt. Es gibt nicht die subtraktiven Eingänge wie in dem McCulloch-Pitts-Modell. Das liegt auch daran, dass das, also das McCulloch-Pitts-Modell ist etwas, was man elektronisch relativ leicht nachbauen kann mit Transistoren und so weiter, aber das Perzeptron selber sollte eher auch in Software laufen und da funktioniert es halt einfacher, wenn alle Eingänge sich ungefähr gleich verhalten. Deswegen hat man ja nur noch diese additiven Werte gehabt. Gut, in seiner Standardausführung besteht jetzt so ein Netz eben aus Inputneuronen, das können dann mehrere sein, die dann jeweils Eingangswerte haben. Dann gibt es noch eine Mittelebene, das sind dann die Neuronen, an die die Werte übergeben werden und im Fall von Perzeptron hat man die Gewichtungswerte hier zufällig generiert und dann hat man ein oder mehrere Outputneuronen, deren Ausgabe dann das Ergebnis ist. Also wenn man jetzt zum Beispiel sagt, man möchte Handschrifterkennung machen von Zahlen, was so eine ganz klassische Aufgabe der KI-Forschung war seit den, ja ich glaube 80er Jahren, bis das dann irgendwann mal gelöst wurde, aber das hat mehrere Jahrzehnte gedauert, dann hätte man zum Beispiel 10 Outputneuronen und je nachdem, welches davon dann eine 1 ausgibt, das entspricht dann eben einer Ziffer, die erkannt wurde. Eine Besonderheit von Perzeptron im Gegensatz zu den McCulloch-Pitts-Neuronen, die dann ja im Prinzip dazu da sind, Computer nachzubauen, können die Perzeptronen eben trainiert werden. Und Training heißt dann, dass die Gewichtungswerte auf der Outputseite des Netzwerkes sich verändern können. Ja, im Prinzip gibt man dann Eingangsdaten in dieses neuronale Netz rein und guckt dann, was eben rausgekommen ist und dann weiß man, was rauskommen soll und guckt dann, ja wie hätte man die Gewichtung der Ausgabeneuronen ändern müssen, damit auch das Ergebnis stimmt.
Janine: Das heißt, es wird manuell eingegriffen einmal?
Helena: Naja, man hat Trainingsdaten. Also das manuelle Eingreifen ist letztlich einfach ein Algorithmus, mit dem man ja guckt, welche Werte hätten das Ergebnis gehabt und dann macht man das ganz oft für verschiedene Eingangs- und Ausgangswerte und vergleicht dann diese Werte, die diese Ergebnisse hätten produzieren sollen und verändert dann die Gewichtungswerte graduell. Und zwar immer in die Richtung, in der man denkt, das wird dann richtiger sozusagen. Also man berechnet einen sogenannten Gradienten, das ist dann eben eine Steigung, die man in verschiedenen dimensionalen Räumen machen kann. Und man möchte quasi immer versuchen, den steilsten Abstieg zu nehmen, um möglichst wenig Trainingsrunden zu brauchen und dann geht man eben runter, bis man das Minimum erreicht hat und ab wo es dann nicht mehr besser wird.
Janine: Mhm.
Helena: Wichtig bei den Perzeptron-Modellen ist eben, dass nur die letzte Schicht trainiert wird und die können aber mehrere Schichten haben, da sind dann eben Zufallszahlen drin. Und letztlich fängt man bei jedem neuronalen Netz immer mit Zufallszahlen an, mit denen man das gewichtet, wenn man noch nicht trainiert hat und trainiert dann eben die entsprechenden Werte. Was jetzt ein Problem vom Standardperzeptron war, ist, dass die klassische Aussagenlogik damit nicht umsetzbar gewesen ist, weil man das exklusive "oder" nicht erzeugen konnte, weil man ja nur die additiven Eingänge hat und nicht irgendwie in der Lage war, Ausschlüsse zu generieren. Was eben auch daran liegt, bei einem Netz könnte man ja Ausschlüsse dadurch erzeugen, dass man in bestimmte Richtungen die Verbindungen abschwächt und in andere verstärkt, aber um das zu erreichen, müsste man die Mittelebene trainieren. Wenn man nur die letzte Ebene trainiert, kann man das exklusive "oder" eben nicht darstellen. Ja, das hat dann eben längerfristig die neuronalen Netzerforschung des Perzeptrons eingeschränkt, dass man festgestellt hat, ja, bestimmte Dinge lassen sich damit nicht abbilden. Und wie gesagt, die Lösung ist dann eben, dass man zwischen Eingabeneuron und Ausgabeneuron noch eine Mittelebene braucht, aber man kann die eben erstmal nicht trainieren mit dem, was man Anfang der 1980er Jahre an Perzeptron generiert hat.
Janine: Und was war dann der nächste Schritt, um da weiterzukommen?
Helena: Ja, also jetzt hatte ich hier jetzt nochmal ein konkreteres Beispiel erstmal, um das Training zu erklären, bevor wir dann in den nächsten Schritt kommen.
Janine: Ja, sehr gut.
Helena: Gut, wir hatten jetzt gerade einmal kurz das Training angesprochen, jetzt möchte ich dann auch einmal ein bisschen besser drauf eingehen. Also, wie trainiert man so ein Perzeptron-Netz? Das geht mit überwachtem Lernen, das heißt, man hat Eingangsdaten und weiß, was die sind. Das heißt, man kann Eingangsdaten reingeben und immer beim Ergebnis gucken, war das richtig oder nicht. Und am Anfang initialisiert man eben alle Gewichtungen mit Zufallszahlen, wie gesagt, und dann wendet man einfach das neuronale Netz auf die Daten an und guckt, ob die Vorhersage stimmt. So, der dritte Schritt ist dann, man guckt, ob das erwartete Ergebnis vorausgesagt wurde oder nicht. Mathematisch wird dann eine Zahl berechnet, wie groß der Fehler ist, also wie stark die Vorhersage vom Zielwert abweicht und wenn man eben ausrechnen kann, wie groß ein Fehler ist, kann man eben diesen Gradienten auch berechnen, weil wenn man jetzt, keine Ahnung, 100 Daten hat, an denen man trainiert, kann man dann gucken, ja, für welche Daten ist denn das Ergebnis besonders schlecht und an der Stelle würde man eben stärker in die Richtung gehen, dass das korrigiert wird. Dann definiert man noch eine Lernrate, zum Beispiel 0,01 und damit berechnet man das neue Gewicht aus dem Fehler, indem man eben die Fehler für alle Trainingseinheiten benutzt und dann mit 0,01 trainiert, weil man möchte ja auch nicht zu schnell immer hin und her pendeln. Wenn man einfach mal den Fehlerwert nehmen würde, könnte man ja dann für manche Sachen die Vorhersage korrigieren und für andere wieder falsch machen und das würde dann hin und her pendeln. Aber deswegen will man eben iterativ vorgehen und zwar langsam in kleinen Schritten und deswegen eben eine Lernrate von zum Beispiel 0,01.
Janine: Also gewissermaßen eine bedachte Annäherung an das, was man dann möchte, damit man überhaupt weiter vergleichen kann, wie entwickelt sich das gerade?
Helena: Ja, und das Ganze wird dann auch als Gradientenabstiegsverfahren genannt, was so ein Standardalgorithmus in vielen Bereichen der Informatik ist, wenn man Dinge numerisch berechnen möchte. Ja, und dann wiederholt man eben die Schritte 2 bis 4, bis das Ergebnis zufriedenstellend ist. Also zufriedenstellend, man definiert das dann entweder durch eine bestimmte Rate, also Qualität von den Ergebnissen oder an einer Maximalanzahl an Werten. So, und wenn man einmal das Training für alle Trainingsdaten einmal gemacht hat und für alle Gewichtungen ebenfalls, dann wird das Ganze als Epoche bezeichnet. Also wenn man jetzt irgendwie so ein neuronales Netz trainiert, dann sieht man, ja, es passiert gerade viel Training und dann kann einem das Programm zum Beispiel sagen, ja, jetzt habe ich eine Epoche trainiert und eine Epoche heißt dann, dass jeder Trainingsdatensatz einmal durchgelaufen ist. Hierzu kann man ja immer noch sagen, bei Perzeptronen kann nur die letzte Ebene der Neuronen trainiert werden.
Janine: Ja, und da wir uns ja alle schon eine Weile mit allem rund um KI, neuronalen Netzen und Maschinenlearning beschäftigen, gezwungenermaßen, weil es so weit in den Alltag reinreicht, können wir ja vielleicht nochmal den Begriff verwenden, den du auch aufgeschrieben, aber ich glaube noch gar nicht gesagt hast. Das, was bei den Perzeptronen passiert, ist das, was wir als überwachtes Lernen bezeichnen.
Helena: Ja, genau. Das ist überwachtes Lernen und überwachtes Lernen heißt immer, dass man ein gewünschtes Ergebnis kennt. Also das heißt, man hat Eingangsdaten, die man da reinführt hat und man weiß immer, man hat diese gelabelt, diese Eingangsdaten und das Label ist dann das Ergebnis. Und überwachtes Lernen hat natürlich immer den Nachteil, dass man prinzipbedingt weniger Daten hat, die korrekt gelabelt sind.
Janine: Also so überspitzt übertragen auf eine Alltagssituation könnte ich mir jetzt vorstellen, dass es auch so ein bisschen so ist, wie wenn man einem Hund oder einer Katze oder etwas einem Trick beibringt. Man weiß, wie Sitz oder Rolle aussehen soll und hat das Bild im Kopf und versucht nun das Tier so lange zu trainieren, bis es tatsächlich das gewünschte Ergebnis liefert.
Helena: Genau und dann gibt man dem Tier halt das Leckerli, wenn es das richtig gemacht hat.
Janine: Ja und das ist dann gewissermaßen die richtige Gewichtung.
Helena: Ja.
Janine: Ja, also das klingt auf jeden Fall alles mit den Eingangsdaten und dem Trainieren von Daten und den Netzen ja schon relativ vertraut mit dem ganzen Vokabular, das uns ja schon jetzt ein paar Jahre begleitet. Aber von der Leistungsfähigkeit her ist das, was jetzt Helena bei den Perzeptronen beschrieben hat, noch weit weg von dem, mit dem wir heute arbeiten. Eben mit dieser Einschränkung auch, es wird nur die letzte Ebene trainiert und es gibt noch wichtige Entwicklungsschritte, die dafür nötig waren, zu dem Punkt zu kommen, an dem wir heute sind. Welche sind das denn noch, Helena?
Helena: Ja, der erste wichtige Entwicklungsschritt ist, weil wir schon so sehr darauf rumgeritten sind, dass nur die letzte Ebene trainiert wird, dass man alle Ebenen trainieren können will und das wurde 86 eben veröffentlicht in Form des Algorithmus der Backpropagation. Also man kann im Prinzip sagen, wenn man Eingangswerte in so ein neuronales Netz reinpackt, dann hat man die erste Ebene, wo die verarbeitet werden und dann die zweite Ebene, wo die verarbeitet werden und dann, keine Ahnung, mehrere Ebenen und dann die letzte Ebene und dann den Ausgang und das Ganze wird dann eben als Forward Propagation bezeichnet, also die Daten wandern vorwärts durch das neuronale Netz. Und man möchte ja, wenn man das Ergebnis hat, dann auch die Trainingswerte, also die Gewichtung auf allen Ebenen anpassen und dann muss man eben den berechneten Fehler rückwärts wieder durch das Netzwerk ausbreiten und das ist dann die Backpropagation. Also wir erklären jetzt nicht, wie der Algorithmus funktioniert. Wenn man das Netz jetzt mehrere Schichten tief lernen lässt, also quasi die Tiefe ist die Menge der Schichten, die man trainiert, dann bezeichnet man das Ganze auch als Deep Learning. Ja, im Prinzip seit es Backpropagation gibt, hat man noch nicht unbedingt auch immer Deep Learning gemacht, weil das Problem ist, dass sehr viel Rechenleistung verbraucht ist, insbesondere das Deep Learning und man kann sagen, gut, der Algorithmus existiert seit 86, aber die Hardware, mit der man dann ausreichend große neuronale Netze trainieren kann, existiert erst seit Ende der 2000er Jahre und dabei geht es nicht nur um die Hardware, sondern eben auch darum, dass die Software zur Verfügung steht, denn bei der Hardware handelt es sich um Grafikkarten. Und naja, Grafikkarten wurden halt immer schneller und konnten immer besser Grafik berechnen, weil Computerspiele eben ein Milliardenmarkt geworden sind und man daher durch Entwicklung von Grafikkarten, ja, hat sich eben gelohnt, da sehr viel Geld reinzustecken und weil eben so ein Bildschirm sehr viele Pixel hat, ist es bei Grafikkarten eben auch wichtig, dass sehr viele Dinge parallel gerechnet werden können, damit man schneller den Bildschirminhalt wechseln kann. Da geht es dann gar nicht immer um die Genauigkeit der Berechnung, sondern nur darum, möglichst viel parallel zu machen. Allerdings hatten Grafikkarten natürlich einen sehr eingeschränkten Nutzungsbereich, also Grafikkarten wurden dann eben über Grafikbibliotheken programmiert, die dann nur Grafikfunktionen unterstützt haben, bis dann eben, ja, Mitte der 2000er eine Firma namens Nvidia, die kennt man vielleicht, auf die Idee gekommen ist, ja, es gibt jetzt nur Grafikbibliotheken, die unsere Grafikkarten nutzen, aber eigentlich wäre es doch auch nicht schlecht, diese große Parallelrechenkapazität auch für andere Anwendungen zur Verfügung zu stellen, weshalb sie dann eben, ja, eine Plattform namens CUDA zur Verfügung gestellt haben, was eine Programmierschnittstelle ist, über die man eben das Ganze programmieren kann, und zwar nicht nur für Grafik, sondern für alle möglichen Dinge. Dabei ist jetzt noch nicht unbedingt, ja, im Fokus gewesen, dass es jetzt auf jeden Fall mit Machine Learning und neuronalen Netzen weitergeht, sondern eben auch um andere Formen von Datenanalysen. Aber dadurch, dass man dann eben diese Grafikkarten und diese parallelen Rechenmaschinen gut programmieren konnte, hat sich dann eben gezeigt, dass man jetzt in der Lage ist, auch größere neuronale Netze zu trainieren. Weshalb dann so ab 2012 rum sich der Begriff Deep Learning für alles, was mit neuronalen Netzen auf Grafikkarten zu tun hat, durchgesetzt hat, weil es jetzt plötzlich möglich war, das einfach zu machen. Ja, das ist der Weg bis zum Deep Learning, aber das ist jetzt ja auch schon wieder ein paar Jahre her. Also 2012 war so das Jahr, wo gezeigt wurde und klar wurde, ja, das funktioniert jetzt erstaunlich gut, weil neuronale Netze eben die Eigenschaft haben, sehr viel besser zu werden in dem Moment, wo sie auch sehr viel größer werden. Also wenn sie sehr klein sind, dann können sie nicht so viel, sondern die Skalierung ist hier wichtig.
Helena: Gut, dann kommen wir schon zu den heutigen Modellen. Also was ich jetzt bisher erklärt hatte mit den Perzeptronen, ist, das sind dann eben neuronale Netze, die in eine Richtung funktionieren. Und das ist lange Zeit bei neuronalen Netzen Standard gewesen, dass es Ebenen gibt, die nacheinander ausgeführt werden. Und das wurde dann eben geändert durch die Transformer-Modelle, bei denen auch zirkuläre Strukturen existieren, wo dann eben einzelne Bereiche mehrfach ausgeführt werden mit leicht veränderten Daten.
Janine: Darüber haben wir ja tatsächlich auch schon in anderen Folgen geredet, zum Beispiel über Whisper, wo es um Transkriptionen ging. Ja, das ist auf jeden Fall da ein bisschen genauer noch erklärt, als wir jetzt wahrscheinlich hier darauf eingehen.
Helena: Genau, oder eben in der chatGPT-Folge, wo wir auch den Attention-Mechanismus, der eben iterativ durch sein Netz durchgeht und Wörter miteinander in Bezug setzt. Das Ganze läuft eben zirkulär ab und irgendwann kommt dann eben die Vorhersage, welches Wort denn jetzt als nächstes kommen soll. Das Ganze wird dann fortgeführt auch in sogenannten Reasoning-Modellen, also Modellen, die in der Lage sind, nicht einfach nur Text vorherzusagen, sondern auch sozusagen nachzudenken. Und ein bekanntes Beispiel davon ist jetzt vor kurzem sehr in den Medien gewesen, nämlich das Deep-Seek-Modell. Letztlich ist das auch ein Transformer, der zirkulär arbeitet mit den Eingangsdaten. Und dessen Aufgabe soll aber erst mal sein, Fakten aufzulisten, die relevant sind für die Aufgabe und dann eben Zwischenschritte zu generieren. Das heißt, man hat in diesem Fall nicht nur innerhalb vom neuronalen Netz zirkuläre Strukturen, sondern das Ganze soll selber Schritt für Schritt auf die richtige Lösung kommen, mit dem Ziel, dass man da auch komplexere Fragen mit beantworten kann, als chatGPT das in seiner ersten Version konnte. Also bei chatGPT, wenn man das O1-Modell benutzt, kriegt man eben auch diese Reasoning-Funktion. Man sieht die Zwischenschritte aber nicht, die das Ding beim Denken quasi macht. Wenn man jetzt sich Deep-Seek, das kann man sich tatsächlich einfach runterladen, das Modell, und dann gehen die Anfragen auch nicht nach China, wenn man daran schickt.
Janine: Da hängt noch eine ganze Menge mehr mit dran, auf was wir jetzt nicht eingehen. Wir bleiben da bei der technischen Seite, denke ich mal.
Helena: Ja, jedenfalls sieht man dann eben die Zwischenschritte, die es macht, wie es quasi nachdenkt und am Ende kommt dann auch eine Antwort raus. Und das ist durchaus auch ganz interessant, insbesondere, wenn man sich auch anguckt, wie das menschliche Gehirn im Vergleich dazu funktioniert.
Janine: Ja, es ist auf jeden Fall dadurch ein bisschen besser möglich, so stelle ich es mir zumindest vor. Ich habe jetzt noch nicht damit gearbeitet, im Gegensatz zu dir, dass die Punkte, wo Fehler passieren, nachvollziehbarer werden und da ganz anders angesetzt werden kann, um ja dann vielleicht doch noch Informationen hinzuzufügen, die das Ergebnis tatsächlich verbessern. Wie in der Argumentation mit einem Menschen eigentlich, wenn jemand etwas erklärt und ich habe den Gedankengang vor mir, was oft passiert, wenn man mit Menschen redet, weil sie manchmal einfach sprechend denken, dann kann man an einzelnen Stellen einhaken und sagen, ich gebe dir noch mal eine Zusatzinformation, vielleicht verändert sich dann ja dein Argument.
Helena: Ja, ich meine, gedacht ist es ja auch im Hinblick auf, man möchte irgendwie was ausrechnen und benutzt halt schriftliche Multiplikation zum Beispiel, da muss man ja auch Zwischenschritte aufschreiben. Oder man berechnet eine komplexere physikalische Aufgabe und braucht dann eben die Zwischenschritte und muss erst mal alle Formeln aufschreiben, die relevant sind, um auf eine Lösung zu kommen. Das ist, glaube ich, auch so in der Hinsicht gedacht, dass man versucht, so näher an das menschliche Denken und Arbeiten dran zu kommen.
Janine: Ja, klingt auf jeden Fall so. Und bestimmt auch immer noch mit der Idee, irgendwann mal menschliches Bewusstsein nachzuahmen.
Helena: Ja, das ist ja gerade ganz großes Thema, dass man ja eine generelle Artificial Intelligence, also eine allgemeine KI baut, die nicht nur, ja, keine Ahnung, Textvervollständigung kann, wie das jetzt chatGPT macht, sondern die selber denken kann. Wer weiß, wann das kommt.
Janine: Es hat sich jetzt sehr schön gezeigt und ich glaube, damit gehen wir so ein bisschen ins Fazit schon über.
Helena: Ja.
Janine: Also, hallo Fazit. Ich finde es sehr schön, dass sich tatsächlich aufgezeigt hat, wie halt immer ein Entwicklungsschritt dazu gekommen ist, der immer ein bisschen mehr reingegeben hat, um die Ergebnisse einfach zu verbessern. Also, eben angefangen mit dem elektronischen Neuron, dann das Perzeptron, das das nochmal verändert hat, wie das trainiert werden konnte und bis hin zu den neuen Algorithmen, die dann reingegeben wurde, dass das Deep Learning hinzugekommen ist und eben die Transformer-Modelle, um quasi nochmal etwas aufgreifen zu können und darauf aufbauend, dann das Ergebnis weiter zu bringen, bis hin jetzt zu diesem Reasoning-Modell. Also, es ist eigentlich tatsächlich eine sehr schön zu sehende Linie, wie sich das immer weiter verbessert hat, hin zu dem Punkt, tatsächlich irgendwie so etwas wie Denken zu simulieren.
Helena: Ja, man kann jetzt auch noch, also ich werde jetzt auch nochmal ein bisschen Vergleiche von den modernen neuronalen Netzen zum menschlichen Gehirn anstellen. Also, das menschliche Gehirn hat viele hundert Milliarden Neuronen und jedes Neuron hat etwa tausend Verbindungen. Also, tausendmal mehr Verbindungen gibt es als Neuronen und chatGPT hat 400 Milliarden Neuronen mit 12.000 Verbindungen. Also, im Prinzip sogar mehr Verbindungen, allerdings sind die alle sehr starr, weil man immer 12.000 Neuronen auf einer Ebene hat, die dann nicht untereinander kommunizieren, sondern immer nur mit der nächsten Ebene. Das ist ein sehr großer Unterschied natürlich zum menschlichen Gehirn, wo diese tausend Verbindungen halt sehr viel dynamischer sind und dadurch eben auch deutlich flexibler ist und viel kleiner sein kann, um bessere Ergebnisse zu liefern in vielerlei Hinsicht.
Janine: Ich stelle mir das so vor, dass dadurch quasi das assoziative Denken des Menschen da eben herkommt, dass die Strukturen und Verbindungen flexibler sind und neu entstehen können untereinander, ohne dass wir das vielleicht auch bewusst machen und dass wir Wissen übertragen können auf etwas anderes, um es in einem anderen Kontext anzuwenden.
Helena: Ja, ich meine, das versucht man ja mit diesem Attention-Mechanismus ja auch nachzubilden, das Übertragen von Wissen.
Janine: Ja.
Helena: Aber ja, dadurch, dass das alles eben durch relativ kleine Computerchips berechnet werden können soll, braucht man eben diese klare Struktur, die so ein künstliches neuronales Netz hat mit den verschiedenen Ebenen hintereinander. Es ist halt viel einfacher umzusetzen technisch, als so wie das menschliche Gehirn funktioniert. Ja, also die Struktur im menschlichen Gehirn ist halt auch insofern nochmal besonders, weil es parallel zum Anwenden weiterlernt. Da haben wir ja schon gesagt, wenn bestimmte Verbindungen besonders oft benutzt werden, dann werden die besser und so lernt das menschliche Gehirn weiter, während das eben bei KI-Modellen bei neuronalen Netzen nicht so ist. Die werden einmal trainiert und dann kann man das Ergebnis wieder als Grundlage nehmen, um sie weiter zu trainieren, aber die Anwendung selber, die sogenannte Inference, da ändert sich gar nichts am Ergebnis. Also das ändert gar nichts an der Struktur des neuronalen Netzes, sondern es gibt einfach was aus und dann kann natürlich so ein Anbieter wie OpenAI daherkommen und Feedback von den Nutzern einsammeln, um dann beim nächsten Mal, wenn sie es weiter trainieren, das zu verwenden, um das Netz zu feintunen, aber das wird nicht die ganze Zeit durch die Benutzung weiter trainiert. Dann gibt es noch einen großen Unterschied, dass ein künstliches neuronales Netz eben auf Anfragen basiert. Also es arbeitet nur, wenn man Eingangsdaten aktiv da reinfüttert, während das menschliche Gehirn die ganze Zeit arbeitet. Also es ermöglicht, den Kontext besser zu behalten über einen längeren Zeitraum, aber das heißt auch, dass man ja eben Träume haben kann, die jetzt nicht direkt von äußeren Einflüssen kommen. Die können natürlich von Dingen kommen, die einem an dem Tag passiert sind oder die man für den nächsten Tag erwartet, aber diese Einflüsse passieren nicht in dem Moment des Traumes. Ja, was man vielleicht auch noch sagen sollte, ist: neuronale Netz bezeichnet auch unser Gehirn, sind auch neuronale Netze, weshalb es dann auch oft von künstlichen neuronalen Netzen die Rede ist, wenn man so moderne KI-Systeme meint, wobei man das künstlich auch oft einfach weglässt.
Janine: Das stimmt.
Helena: Ja, das war mein Fazit.
Janine: Das war dein Fazit. Dann ja, machen wir doch mal mit dem Rest des Endes weiter. Wenn ihr unsere Folgen hören möchtet, folgt uns doch gerne auf Mastodon unter @datenleben@podcasts.social oder guckt auf unserer Webseite vorbei www.datenleben.de. Da könnt ihr uns auch natürlich gerne Feedback hinterlassen oder auch per Mail. Wir freuen uns immer sehr über Kommentare zu unseren Folgen. Ja, und falls euch die Arbeits- und Denkweise gefällt, könnt ihr uns auch als Data Scientist für Analysen und Projekte buchen.
Helena: Ja, und dann bleibt mir nichts anderes als für eure Aufmerksamkeit zu danken und bis zum nächsten Mal. Ciao.
Janine: Tschüss.