Allgemeines

Das digitale Gehirn: Auf Tuchfühlung mit neuronalen Netzen

Bildquelle: Pexels

Liebes Tagebuch,

es ist an der Zeit, dass ich dir von einem wichtigen Begleiter in meinem Leben erzähle. Er versetzt mich auf die Überholspur, greift mir unter die Arme, wenn es brenzlig wird und wärmt mich, wenn ich friere. Böse Zungen behaupten, ich hätte eine übermäßige Zuneigung entwickelt. Dabei wünsche ich meinem Audi lediglich eine gute Nacht und umarme ihn, wenn er mich wieder einmal sicher heimgebracht hat.

Es sind einfach die Details, mit denen mich mein Hightech-Auto verwöhnt. Besonders eine Funktion verzückt das IT-Girl in mir: Ich kann mit dem Navi kommunizieren, indem ich mein Ziel auf eine Fläche in der Mittelkonsole schreibe. Davon abgesehen, dass die Sauklaue selbst für mich kaum lesbar ist, frage ich mich: Wie kann das eigentlich funktionieren?
Meine Recherche führt mich direkt zu einem YouTube Tutorial über Handschrifterkennung. Und schwupps, schon habe ich mich im neuronalen Netz verfangen.1.

Das neuronale Netz gehört zum Themengebiet der künstlichen Intelligenz und ermöglicht, dass ein Computer eine Aufgabe eigenständig löst.2. Zusammengefasst ist das Ziel, Daten (bzw. einen Input) in das Konstrukt hineinzugeben und daraus Informationen (bzw. einen Output) zu erhalten.

Das Gehirn in digital: Aufbau eines neuronalen Netzes

Vom Aufbau her liegt die Messlatte hoch: Das neuronale Netz soll der Struktur des menschlichen Gehirns nachempfunden sein. Das klingt spannend genug, um näher hinzusehen:

Fangen wir damit an, was ein Neuron überhaupt ist. Als Disclaimer vorab: Ich bin kein Experte für Biologie oder Informatik (ich arbeite dran). Aber für Normalos wie mich genügt erstmal zu wissen: Ein Neuron kann Impulse empfangen, damit etwas anstellen und das Ergebnis wieder als Impuls ans nächste Neuron weiterschicken. Für genau diesen Transport braucht es zwischen den Neuronen unzählige Verbindungen – sie bringen die Impulse von A nach B und zwar so zahlreich, dass sie ein Netz zwischen den Neuronen spinnen. Damit haben wir schonmal herausgefunden, wie es zur Namensgebung kam.3.

Es ist noch zu ergänzen, dass die Neuronen bei der digitalen Variante schön aufgeräumt in Schichten angeordnet sind. Ich verallgemeinere nun, doch in der Regel ist es eine Einbahnstraße, wie das Netz eine Aufgabe löst:

Die Aufgabenstellung wird als erstes in die Eingabeschicht (Input Layer) gekippt, wo sie einzelne Neuronen verarbeiten. Im Fall meines Auto-Navis ist der Input ein handgekritzeltes Etwas, mit dem ich gerade die Postleitzahl angebe. Das Bild wird in einzelne Pixel zerlegt, von denen jedes in ein Neuron wandert.

Die Lösung der Aufgabe liefern die Neuronen der Ausgabeschicht (Output Layer). Um beim Navi-Beispiel zu bleiben, gibt die Output-Ebene aus, um welche Ziffer von 1-9 es sich beim Gekritzel handelt.

Der wahre Hirnschmalz steckt in den Zwischenebenen, sprich in allem, was zwischen Input und Output liegt. Was hier im Detail passiert, ist im Ergebnis unsichtbar, weshalb man auch von der verborgenen Schicht (Hidden Layer) spricht.4. Grafisch veranschaulicht sieht ein neuronales Netz wie folgt aus.

Bildquelle: Autor. Powered by Elisabeth Thirmeyer

Magie oder Mathematik? Die Verwandlung von In- zu Output

Auf den ersten Blick wirkt es wie Hokuspokus, dass ein Computer „von selbst“ Probleme löst. In Wahrheit steckt ein mathematisches Muster dahinter. Ein Muster, das recht schnell sehr komplex werden kann – doch auf die Basics reduziert, lässt es sich erstaunlich gut nachvollziehen. Im Großen und Ganzen besteht die Verwandlung aus 3 Schritten:

Gewichten, summieren und zuschneiden. Und das wenn‘s nötig ist über viele, viele Neuronen hinweg. So wird eine Aufgabenstellung Stück für Stück aufgearbeitet und in ein Ergebnis übersetzt. Die nachfolgende Abbildung zeigt beispielhaft, was sich bei jedem Neuron abspielt.

Bildquelle: Autor. Powered by Elisabeth Thirmeyer

Solltest du genauso neugierig sein wie ich, gehen wir der Sache noch etwas näher auf den Grund (dazu kannst du die folgenden Fenster aufklappen).

Für jede Verbindung, die zum Neuron hinführt, gibt es eine Gewichtung – der Impuls, der von Neuron A kommt, kann also stärker sein als der von Neuron B.

Der Clou: Während das neuronale Netz „lernt“, berechnet es die Gewichtungen ganz von selbst so, dass sie zum gewünschten Output führen. Das „Wie“ wird nun recht mathematisch (ich fasse mich kurz, versprochen!):

Das neuronale Netz hat zum Ziel, so wenig Fehlaussagen wie möglich zu machen. Die Fehlerquote wird über eine Zahl ermittelt – je kleiner sie ist, desto besser. Um genau dieses Minimum zu ermitteln, kommt beispielsweise das Gradientenverfahren zum Einsatz. Es tastet sich Stück für Stück an das beste Gewicht heran – bzw. an die Stelle, an dem der Fehlerwert am geringsten ist.5. Plötzlich klickt es bei mir: Im Mathe-Unterricht sollte ich früher auch lokale Tiefpunkte ermitteln.6. Gut, dass das nun ein sogenannter Machine Learning Framework wie zum Beispiel PyTorch oder TensorFlow übernimmt.7.

Alle Impulse, die über die Verbindungen beim Neuron landen, werden nach ihrer Gewichtung zusammengezählt. Damit das funktioniert, muss die Aufgabenstellung in Zahlen formuliert sein. Nehmen wir an, meine Handschrift erfolgt in schwarzer Schrift auf weißem Hintergrund. In dem Fall kann ein Netz einzelne Pixel analysieren, indem 0 für weiß steht und 1 für schwarz. Mit solchen Werten können dann problemlos Summen gebildet werden.

Das Zuschneiden passiert mit einer Aktivierungsfunktion. Sie sorgt dafür, dass aus einer unendlichen Zahlenvielfalt bspw. nur noch Zahlen zwischen 0 und 1 herauskommen. In der obigen Abbildung habe ich dafür die Sigmoid-Funktion herangezogen.
Das verdichtet die Werte, damit sich das Ergebnis leichter interpretieren lässt. Im Navi-Beispiel könnte man es so übersetzen, dass jede Ziffer von 1-9 ihr eigenes Output-Neuron bekommt. Identifiziert das neuronale Netz eine 3, macht sich das Output-Neuron Nummer 3 lautstark mit einer 1 bemerkbar, der Rest bleibt bei 0.

Neben der Aktivierungsfunktion gibt es mit dem Bias noch ein weiteres Werkzeug zur Anpassung. Es erlaubt, Werte zu erhöhen oder zu verringern. Damit verschiebt man das Ergebnis also in die „richtige Richtung“ und es lässt sich auch vermeiden, dass sich eine 0 in den Rechenweg mischt. Selbst bei mir blieb in der Schule hängen, dass damit nicht gut Kirschenessen ist – besonders, wenn man teilen möchte.8.


Neuronale Netze teilen sich zwar das Grundkonzept, jedoch bestimmt die Details der Einzelfall – wie etwa die Anzahl der Ebenen und Neuronen. Steht die Struktur, geht es darum, es intelligent zu machen. Dabei kann man nachhelfen und dem Netz zunächst die Ergebnisse vorgeben, sodass es gezielt davon lernt. Diesen Ansatz nennt man Supervised Learning9. – das schauen wir uns für mein Navi-Beispiel nachfolgend genauer an.

Die Trainingsphase: Ein Netz wird intelligent

Wie der Name verrät, wird das neuronale Netz in der Trainingsphase geschult. In meinem Beispiel geschieht das, indem man dem Netz unzählige Ziffern in verschiedensten Handschriften präsentiert und die richtigen Ergebnisse einsagt. Nach dem Motto: „Diese Striche da sind alles Einser, aber die mit der Nase und dem Mittelstrich sind Siebener“. Mit diesen Infos übernimmt ein Machine Learning Framework das Zepter. Das Programm versucht, auf das gleiche Ergebnis zu kommen und deichselt die Gewichtungen im Netz so zurecht, dass der Output mit dem gewünschten Ergebnis möglichst übereinstimmt.

Die Testphase: Ein Netz zeigt, was es kann

In der Testphase kommt das Netz auf den Prüfstand. Es wird eine neue handgeschriebene Ziffer präsentiert – nun ohne das Ergebnis zu verraten. Diesmal bleibt es dem Netz überlassen, die Antwort zu geben. In der Testphase wird ermittelt, wie zielgenau es die Handschrift erkennt. Es ist unwahrscheinlich, dass es eine hundertprozentige Trefferquote erreicht. Realistischer ist, dass es mein Gekritzel mit einer Wahrscheinlichkeit von 70% als 3 identifiziert und zu 10% als 8.

Exkurs: Quark in – Quark out

Die Qualität der Trainingsdaten ist entscheidend! Soll ein neuronales Netz zum Beispiel zwischen Hunden und Katzen unterscheiden, so spielt auch die Umgebung eine Rolle. Zeigt das Trainingsmaterial die Katzen hauptsächlich im Haus und Hunde unterwegs im Park, unterscheidet das Netz ggf. nicht die beiden Tierarten, sondern nimmt als Unterscheidungsmerkmal Grünflächen. Im Idealfall fällt das noch rechtzeitig in der Testphase auf und kann korrigiert werden.

FAZIT

Künstliche Intelligenz ist der Antrieb, um Maschinen immer menschenähnlicher zu machen. Umso wichtiger finde ich es, sich mit der Technologie dahinter zu befassen. Fakt ist, ich stehe noch ganz am Anfang – zu früh, um ein wirkliches Fazit abzugeben. Dennoch: Mit den obigen Erkenntnissen bin ich beinahe beruhigt, dass sich nicht alles über Eigendynamik und Verselbstständigung erklären lässt. Die Maschine folgt in meinem Beispiel einem logischen, vom Menschen vorgegebenen Schema. Auch wenn sie meine Handschrift liest, wie es eben mein Auto kann.

Egal ob in meinem Navi am Ende wirklich ein neuronales Netz steckt oder doch eine andere Technologie – ich bin dankbar, dass es mich zu diesem Beitrag inspiriert hat. Gleich wieder ein Grund, mich in mein Auto zu kuscheln, oder nicht?



Quellen:

  1. Neural Nine: Neural Network Python Project – Handwritten Digit Recognition – https://www.youtube.com/watch?v=bte8Er0QhDg
  2. https://www.bigdata-insider.de/was-ist-ein-neuronales-netz-a-686185/
  3. Code Bullet: What are Neural Networks || How AIs think – https://www.youtube.com/watch?v=JeVDjExBf7Y
  4. https://studyflix.de/informatik/neuronale-netze-4297
  5. Neural Nine: Neural Networks Simply Explained (Theory) – https://www.youtube.com/watch?v=-rrxxpiZa00
  6. https://studyflix.de/mathematik/extremstellen-4147
  7. https://www.heise.de/select/ix/2019/1/1545999823788057
  8. https://stackoverflow.com/questions/2480650/what-is-the-role-of-the-bias-in-neural-networks
  9. https://www.techtarget.com/searchenterpriseai/definition/supervised-learning

Eine Antwort schreiben

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Cookie Consent mit Real Cookie Banner