Künstliche Intelligenz und wie sie lernt


Die Ursprüngliche Suche nach dem „allgemeiner Problemlöser“ steht nicht mehr im Zentrum der Forschung. Stattdessen: Schreiben von Programmen, die für konkrete Probleme die besten Lösungen finden– sei es die Spracherkennung oder die Suche nach dem passenden Bild.

Im Jahr 1997 besiegte der Schachcomputer Deep Blue den Weltmeister Garri Kasparow in einem ganzen Wettkampf unter Turnierbedingungen (3½–2½) und wurde damit das erste Schach spielende System, welches einen amtierenden Weltmeister besiegte. Es lässt sich hier aber nicht von KI sprechen da die Entscheidungen von Deep Blue auf der „Brute-Force-Methode“ basierten und sehr Hardware abhängig waren.

Das asiatische Spiel Go ist verglichen mit Schach deutlich komplexer, da die Möglichkeiten der Züge ungemein höher sind: Es gibt mehr Brettkonfigurationen als Atome im uns bekannten Teil des Universums. Selbst die besten Go-Programme erreichten nur menschliches Amateur Level. Das liegt daran das „klassische“ KI Systeme auf Suchbäumen basieren, wo die benötigte Rechenleistung proportional zur Baumgröße ist. Was bei Go eine unerreichbare Rechenleistung benötigte. Dennoch schaffte es das Programm „Alpha Go“ von Google DeepMind den Europameister, 2015, 5-0 zu schlagen. 2016 folgte der stärkste Go-Spieler, Lee Sedol, mit einer 4-1 Niederlage. Dies gelang mithilfe zweier Lernmethoden:

1. Monte-Carlo-Baumsuche

Der Fokus liegt hier auf der Analyse der vielversprechendsten Züge das heißt, der Suchbaum wird auf der Basis von Stichproben des Suchraums erweitert. Die Anwendung in Spielen basiert auf vielen Playouts. In jedem Playout wird das Spiel bis zum Ende ausgespielt, indem die Züge zufällig ausgewählt werden. Das endgültige Spielergebnis jedes Playouts wird dann verwendet, um die Knoten in dem Spielbaum zu gewichten, so dass bessere Knoten in zukünftigen Playouts eher ausgewählt werden. Kurzgesagt, der Zug der zu den meisten Siegen geführt hat, wird gewählt. Die Effizienz dieser Methode erhöht sich mit der Zeit, da immer mehr Playouts den Zügen zugeordnet werden, die häufig zum Sieg des aktuellen Spielers geführt haben. Dies ist eine Form des Verstärkenden Lernens: Modell erlernt selbständig eine Strategie, um erhaltene Belohnungen zu maximieren

2.Tiefes neuronales Netzwerk(DNN)

Künstliche neuronale Netze (ANNs) oder konnektionistische Systeme sind Computersysteme, die von den biologischen neuronalen Netzen, inspiriert sind. Das ursprüngliche Ziel war es, Probleme auf die gleiche Weise zu lösen wie ein menschliches Gehirn.

Solche Systeme lernen (verbessern schrittweise ihre Fähigkeit) Aufgaben zu erledigen, indem sie Beispiele betrachten.  Zum Beispiel können sie bei der Bilderkennung lernen, Bilder zu identifizieren, die Katzen enthalten, indem sie Beispielbilder analysieren, die manuell als „Katze“ oder „keine Katze“ gekennzeichnet wurden, und die Analyseergebnisse verwenden, um Katzen in anderen Bildern zu identifizieren. Verwendung für Anwendungen, die mit einem herkömmlichen Computeralgorithmus, der eine regelbasierte Programmierung verwendet, schwierig auszudrücken sind. ZB: Spracherkennung, Übersetzung, Filter in sozialen Netzwerken, Videospiele und medizinische Diagnosen.

Ein ANN basiert auf einer Ansammlung verbundener Einheiten, die als künstliche Neuronen bezeichnet werden (Axonen im Gehirn). Jede Verbindung (Synapse) zwischen Neuronen kann ein Signal an ein anderes Neuron übertragen. Das empfangende Neuron kann das Signal verarbeiten und dann an die mit ihm verbundenen stromabwärts gelegenen Neuronen senden. Neuronen können einen Zustand haben, der durch reelle Zahlen zwischen 0 und 1 dargestellt wird. Neuronen und Synapsen können auch ein Gewicht haben, das sich beim Fortschreiten des Lernens ändert, was die Stärke des Signals, erhöhen oder verringern kann.

Neuronen sind in Schichten organisiert. Verschiedene Schichten können verschiedene Arten von Transformationen durchführen. Derzeit haben neuronale Netze typischerweise einige tausend bis einige Millionen Neuronen und Millionen von Synapsen.

Ein tiefes neuronales Netzwerk (DNN) ist ein ANN mit mehreren versteckten Schichten zwischen den Eingabe- und Ausgabeschichten („Black Box“). DNNs können komplexe nichtlineare Beziehungen modellieren. Die zusätzlichen Schichten ermöglichen es den Input als eine geschichtete Zusammensetzung von Merkmalen (Primitives) aus niedrigeren Schichten zu modellieren. Potentiell komplexe Daten können so mit weniger Einheiten modelliert werden als mit einem ähnlich leistungsstarken flachen Netzwerk.

DNNs sind typischerweise Feedforward-Netzwerke, in denen Daten von der Eingangsschicht zur Ausgangsschicht fließen, ohne zurückzuschleifen. Bei komplexen Arten können sie eine Ebene auch mehrmals durchlaufen.

Die Entwicklung, das Trainieren und Testen eines neuronalen Netzes besteht aus Schritten, die eine strenge Reihenfolge haben.

  • Aufbereiten von Ein- und Ausgabedaten für Experimente
  • Erstellen, Trainieren, Testen und Optimieren von Parametern des Modells

Das Arbeitsergebnis des Modells hängt zu 80% von der ersten Phase ab. „Garbage in, garbage out“.

Hier geht es zum Deutschen Forschungszentrum für Künstliche Intelligenz, wo man sich weiter in die aktuelle Forschungslage einlesen kann.  https://www.dfki.de/web

Zurück zum Anfang