Blog

Warum künstliche Intelligenz uns zeigt, dass Agilität funktioniert

22 Jul, 2016
Xebia Background Header Wave

Quelle: https://quevidaesta2010.blogspot.ch/2016/03/como-funciona-alphago.htmlMitte März 2016 hat Googles KI-Projekt Deepmind AlphaGo Lee Sedol, einen der weltbesten Go-Spieler besiegt. Ein Meilenstein für die Forschung zur künstlichen Intelligenz und für mich Anlass, Parallelen zwischen neuronalem Lernen und den Prinzipien der Agilität zu ziehen. Denn künstliche Intelligenz zeigt uns, wie und warum Agilität funktioniert. Um Parallelen erkennen zu können, ist es zunächst nötig, sich die Funktionsweise von neuronalem Lernen (oder maschinellem Lernen) und AlphaGo vor Augen zu führen.

Funktionsweise von neuronalem Lernen

Vereinfacht lassen sich 3 Kategorien unterteilen: Überwachtes Lernen (supervised learning), bestärkendes Lernen (reinforcement learning) und unüberwachtes Lernen (unsupervised learning). AlphaGo besteht aus mehreren neuronalen Netzen, die überwachtes und bestärkendes Lernen kombinieren (Policy Networks).

Quelle: SwissQ, Horst BauerObenstehende Abbildung zeigt, als Beispiel für überwachtes Lernen, ein mehrschichtiges Feed-Forward-Netz, das eine gerasterte Ziffer in die Klassen 0 bis 9 einteilt. Ziel ist, das neuronale Netz schrittweise so zu modifizieren, dass die gewünschte Ausgabe entsteht und auch für neue unbekannte Eingabemuster korrekte Ergebnisse liefert (Generalisierung). Die Ziffernmatrix als Eingabemuster wird zunächst vektorisiert und aktiviert die Eingabeknoten (Neuronen). Jeder Knoten des Netzes kann mit allen Knoten der nächsten Schicht kommunizieren. Die Knoten werden schichtweise aktiviert (Vorwärtspropagierung) und erzeugen schliesslich ein Ausgabemuster für die aktuelle Eingabe. Im Beispiel wurden die Zahlen 3 und 9 erkannt. Das Ausgabemuster wird mit der erwünschten Ausgabe verglichen und ein Differenzvektor als Feedback gebildet. Dieser wird schichtweise zurückgegeben (Rückwärtspropagierung) und dabei die Verbindungen zwischen den Knoten neu gewichtet, um als Ausgabe die Zahl 3 zu erhalten. Dieser Vorgang wird sehr oft wiederholt, unterliegt also vielen Iterationen.

Quelle: SwissQ, Horst BauerDas Spiel Go eignet sich besonders gut für dieses Vorgehen, da sich die Spielsituationen gut in Bildrastern darstellen lassen, die dann als Eingabemuster dienen. AlphaGo implementiert darüber hinaus einen Vorhersagealgorithmus, der für jeden Spielzustand eine Prognose (Schätzung) über den Gewinner abgibt (Value Network) und einen schnellen Zugauswahlmechanismus (Monte-Carlo-Tree-Search), um alle möglichen folgenden Spielzüge zu priorisieren, so dass nicht mehr alle Spielzüge in Betracht gezogen werden müssen, sondern nur die besten drei.

Parallelen zu agilen Prinzipien

Agile ManifestoWie steht dies nun im Zusammenhang mit den Prinzipien der Agilität? Welche Parallelen lassen sich erkennen?

  1. Es ist ein relativ einfaches System, das fast ohne Regeln (Spezifikationen) auskommt: Es gibt einen Input-, einen Output- und einen Feedbackkanal. Die Spielregeln spielen eine untergeordnete Rolle (keine hartcodierten Entscheidungsprozesse).
  2. Das Ergebnis (Output) wird in nächster Iteration als neue Grundlage (Input) in Form eines Feedbacks benutzt, Fehler sind elementare Datengrundlage zur Verbesserung des Ergebnisses
  3. Viele Iterationen verbessern das Ergebnis in einem ständigen Prozess
  4. Es wird nur das Inkrement (Teilergebnis) betrachtet und zur (Neu-)Bewertung herangezogen, nicht das System oder der Prozess selbst
  5. Durch Priorisierung werden nur die vielversprechendsten Tasks (Züge) weiterverfolgt, um Ressourcen zu sparen und den „Business Value“ zu erhöhen
  6. Es liegt ein hohes Gewicht auf der Kommunikation (in Form von Vorwärts- und Rückwärtspropagierung und Neugewichtung der Knotenverbindungen)

Natürlich gibt es auch Aspekte, die sich der Analogie verweigern und abgegrenzt werden müssen:

  1. Simplicity oder KISS (Keep it short and simple)? AlphaGo wurde mit 100.000 Spielen trainiert und ist über 30 Millionen Mal gegen sich selbst angetreten (bestärkendes Lernen). In herkömmlichen Projekten würden derart viele Iterationen den Rahmen weit sprengen!
  2. Die „Learnings“ sind nicht auf andere Themen oder Domänen übertragbar, die Generalisierung findet nur innerhalb des gegebenen Kontextes statt.
  3. Es ist schwer vorhersagbar, wie lange das Netz braucht, um ein bestimmtes Ergebnis zu liefern. Dies mag zwar auch für einige Projekte gelten, jedoch ist das in der Regel nicht erwünscht oder akzeptiert.
  4. Auch wenn AlphaGo nicht gewonnen hätte, wäre der agile Aspekt des neuronalen Lernens nicht in Frage gestellt, und zwar in dem Sinne, dass Anpassungsfähigkeit (Inspect & Adapt) auf die Verbesserung des bisherigen Zustands abzielt und nicht auf das bestmögliche Ergebnis. Oder anders ausgedrückt: AlphaGo hätte lediglich noch nicht gewonnen, da noch mehr Iterationen benötigt gewesen wären.
  5. Bezogen auf Vorgehensmodelle in Projekten ist es wichtig, den Kontext zu berücksichtigen. So hat etwa das V-Modell Vorteile, wenn der Gegenstand des Projekts und dessen Ergebnis klar beschrieben werden kann. Es gilt in jedem Projekt neu abzuwägen, inwieweit agile oder phasenorientierte Ausprägungen einfliessen sollten.
  6. AlphaGo kann in kurzer Zeit sehr viele Informationen verarbeiten und ist daher nahezu vollständig informiert. Es ist zu berücksichtigen, dass Menschen im Allgemeinen und somit auch beim agilem Vorgehen nicht zu 100% informiert sein können. Dies bedeutet aber nicht das Agilität nicht funktionieren kann.

Schlussfolgerung

Mit neuronalem priorisierten Lernen können sehr gute Resultate erzielt werden. Die Ähnlichkeit der Prinzipien zeigt, dass Agilität funktioniert. Es werden keine fertigen Spezifikationen benötigt, Lernen findet durch Beispiele statt. Es wird möglichst oft Feedback gegeben. Fehler werden nicht vermieden, sondern willkommen geheissen. Sie bilden die Grundlage für eine nächste Iteration in einem ständigen Prozess, der nicht Regeln betont, sondern eine offene Kommunikation und die Fokussierung auf das Wesentliche durch Priorisierung. Diese Offenheit und Bereitschaft zur Anpassung stellt dann die Grundlage für künftigen Erfolg dar. AlphaGo hat gewonnen, und dabei neue Spielzüge entdeckt, die nun von menschlichen Spielern übernommen werden. Auch Agilität bietet die Möglichkeit zur kontinuierlichen Verbesserung. Wenn man sich dabei zusätzlich noch an bestimmte Rahmenbedingen hält, steht einem erfolgreichen Projekt nichts mehr im Wege.

Quellen:

Questions?

Get in touch with us to learn more about the subject and related solutions