Wie funktioniert künstliche Intelligenz?

Wenn man sich auf Wikipedia über künstliche Inteligenz informieren möchte werden die Dinge sehr schnell absurd mathematisch. Zu mathematisch für mich. Ich muss mir die Dinge erst mal einfach erklären um dann zum komplexeren Teil des Themas vorzudringen. Das möchte ich in diesem Beitrag versuchen.

Aktuelle KI Systeme bestehen meistens aus einem neuronalen Netz das über maschinelles Lernen trainiert wird. Zu beiden Begriffen gleich mehr. Diese Kombination ist meiner Meinung nach die momentan beeindruckendste Methode um eine künstliche Intelligenz zu ermöglichen.

Ein neuronales Netz besteht aus mehreren hintereinander liegenden Schichten von künstlichen Neuronen.

neuronalesnetz

Künstliche Neuronen sind von der Idee her den natürlichen Neuronen in unserem Gehirn nachempfunden. Sie sind untereinander vernetzt, für unsere Darstellung erst mal jeweils nur mit den Neuronen in der Schicht davor.

Eine Neuronenschicht kann dabei aus Hunderten oder Tausenden Neuronen bestehen, ein neuronales Netz besteht aus mehreren solcher Neuronenschichten.

Die erste Schicht wird dabei Eingabeschicht genannt, die letzte Schicht Ausgabeschicht. Dazwischen liegen eine oder mehrere versteckte Schichten.

Die einzelnen Neuronen der Eingabeschicht (gelbe Kreise) erledigen dabei ganz einfache Aufgaben. Bei der Bilderkennung betrachtet ein Neuron in der Eingabeschicht zum Beispiel einen ganz bestimmten Bildpunkt und „feuert“ – also gibt ein Signal ab – wenn der Bildpunkt zum Beispiel schwarz ist.

Die Neuronen der nächsten Schicht (grüne Kreise) sind mit den Neuronen der ersten Schicht verbunden, da kann dann zum Beispiel ein Neuron sitzen das erkennt wenn diese und jene Neuronen der Eingabeschicht feuern dann handelt es sich um eine Linie im Bild.

Die Neuronen der darauffolgenden Schichten (im Bild oben nicht dargestellt) erkennen dann aus den gefundenen Linien wiederum komplexere Strukturen. Das geht so weiter bis dann ein Neuron in einer sehr späten Schicht erkennt: „Ja, das sollte ein Auge sein“.

Und das Neuron in der letzten, der Ausgabeschicht (blaue Kreise), sagt dann zum Beispiel „2 Augen, 2 Hörner, ein Schwanz: Mit großer Wahrscheinlichkeit eine Kuh“.

Dazu muss das System aber vorher mit hunderten Bildern von Kühen, Pferden, Hunden, usw. trainiert werden. Man zeigt dem System also ein Bild und sagt: Das ist eine Kuh. Und so weiter. Das nennt sich dann „überwachtes Lernen“.

Also ähnlich wie ich es mit meinen eigene Kindern gemacht habe als sie noch so klein waren das sie sich für Bilderbücher begeistern konnten. Gut, ich musste ihnen nicht hunderte Bilder von Kühen zeigen, aber das ist eben einer der Punkte wo der menschliche Geist den KI Systemen noch weit überlegen ist.

So ein KI System muss also lernen. Das macht es dadurch das die Verbindungen der Neuronen (im Bild oben die Pfeile) gewichtet sind. Das bedeutet das es für die Signalauslösung eines Neurons wichtige und unwichtige Neuronen in der vorherigen Schicht gibt.

Und beim Training eines solchen neuronalen Netzwerks werden genau diese Gewichtungen permanent verändert bis das beste Ergebnis erzielt wird, also das System bei die meisten Bildern von Kühen auch wirklich als „Kuh“ erkennt. Oder „Pferd“. Oder was auch immer ich trainieren möchte.

Ob ich so ein neuronales Netz nun mit Bildern, Texten, Sprache oder anderen Daten trainiere ist erst mal egal. Wichtig ist das ich einen Trainingsdatensatz habe der digital verarbeitet werden kann.

In der echten Anwendung sind neuronale Netz natürlich ein ganzes Stück komplizierter als hier beschreiben, es gibt zum Beispiel mehrere versteckte Schichten (das nennt sich dann Deep Neural Network), Drop Out Schichten oder Feedbackverbindungen von späteren auf frühere Schichten. Aber das Prinzip bleibt erst mal das gleiche.

Im Beitrag „Was ist Maschinelles Lernen?“ gibt es weitere Informationen zum Training eines neuronalen Netzwerks.