Stefan Geschwentner über Künstliche Intelligenz und einer Aufforderung zum Duell von Google’s KI

Das Thema Künstliche Intelligenz beschäftigt mittlerweile gesamte Industrie- und Wirtschaftszweige. Wo kann Künstliche Intelligenz Vorteile im globalen Wettbewerb bringen und wie kann diese Technologie eingesetzt werden?

Mit dem Programmierer und Entwickler Stefan Geschwentner, der momentan die Entwickler-Community des weltweit führenden Open-Source Schachprogramms Stockfish leitet, beschäftigt die code’n‘ground AG als Spezialist für digitale Transformation einen ausgewiesenen Profi in Sachen Machine Learning und Künstliche Intelligenz.

Im Interview verrät Stefan Geschwentner, wie er zum Thema „Künstliche Intelligenz“ kam, was Ihn daran reizt und wo er die Potenziale sieht.

Stefan, wenn ich Dich zuhause besuche, öffnet mir dann ein Roboter die Tür und ein Bot bietet mir aus dem Off einen Cappuccino an?

Stefan Geschwentner (lacht):
Nein, gar nicht! Es gibt bei mir keine „fancy home“-Geschichten. Ich bin kein Technikbastler oder Gadget-Typ. Mein Rechner ist das Herzstück, den ich auch überall mit hinnehme. Außerdem besitze ich jede Menge Fachliteratur über Informatik. Aber sollten wir in der Firma mal einen Roboter bauen, würde ich den schon mal mit nach Hause nehmen zum Testen!

Du bist derzeit Chef-Entwickler von Stockfish – dem aktuellen Weltmeister im Computer Schach – der 2017 von Googles Alpha Zero herausgefordert wurde. Und wer im Bereich Künstliche Intelligenz von Google herausgefordert wird, der hat definitiv Rederecht in Sachen KI, Machine Learning & Co. Wie bist Du zu dieser Aufgabe gekommen?

Stefan Geschwentner:
Erstens habe ich schon ganz früh ein großes Interesse an Computern gehabt. Meinen C64 habe ich mit 14 Jahren nicht zum Spielen – wie die meisten anderen – sondern zum Programmieren verwendet. Und zweitens spiele ich gerne Schach. Das habe ich sogar lange Zeit im Verein gespielt. Kombiniert man das, kommt die Programmierung eines eigenen Schachprogramms dabei heraus und wie jetzt das Engagement für Stockfish. Außerdem reizen mich schon immer Competitions zum Programmieren künstlicher Intelligenzen, wie zum Beispiel die Google AI-Challenge, bei der ich mehrmals unter die Top 100 aller Teilnehmer gekommen bin.

Was ist so reizvoll am Thema KI?

Stefan Geschwentner:
Wenn ich etwas programmiere, dann geschieht etwas. Das Programm erzielt eine Lösung, die sichtbar ist. Somit sind auch Erfolge direkt sichtbar. Das wird besonders bei den Challenges und Competitions deutlich. Die Kombination von Wettbewerbscharakter und dem Entdecken von Neuem ist das Entscheidende! Aber auch die Forschung zu diesem Thema, die ja noch lange weitergehen wird, reizt mich.

Warum eignet sich Schach so gut dafür, maschinelles Lernen zu verbessern?

Stefan Geschwentner:
Spiele sind schon immer ein gutes Gebiet, um Machine Learning zu fördern. Sie haben klare Regeln und sind nicht zu komplex. Schach gilt als Königin der Spiele, insofern bietet es sich als Herausforderung für künstliche Intelligenz geradezu an. Schon seit den 90er-Jahren ist die Leistung der Schachcomputer so stark, dass Menschen im Schach geschlagen werden können. Als Folge davon nimmt das Interesse an Events ab, bei denen Computer gegen Menschen Schach spielen. Der Fokus richtete sich anschließend auf noch schwierigere Brettspiele wie zum Beispiel das japanische Go-Spiel. Möglich wird diese Weiterentwicklung auch durch die immer größere Spielstärke bzw. Rechenleistung der Computer. Trotz des abnehmenden Interesses entwickeln viele Hobby-Programmierer und auch einige kommerzielle Anbieter Schachcomputer weiter.

Wie lernt eine Maschine denn genau?

Stefan Geschwentner:
Auf jeden Fall ganz anders als ein Mensch! Eine Methode des maschinellen Lernens, die auch Stockfish benutzt, ist das sogenannte Reinforcement Learning, das verstärkende Lernen. Beim Schach gilt das Modell einer abgeschlossenen Welt mit Regeln. Spiele wie Schach werden durch ihre Regeln vollständig bestimmt und sind daher gut zu modellieren. Es ist ein logisches Modell ohne Zufälle oder Unsicherheiten, wo es darum geht, Stellungen mittels einer oder auch mehrerer Kennzahlen zu bewerten, um Züge und Aktionen vorausplanen zu können. Diese Bewertungen erfolgen über Zahlenwerte. Der Computer probiert bis zu einem bestimmten vorgegebenen Zeitpunkt verschiedene Zugvarianten aus und erstellt anschließend eine Bewertung davon. Eine Bewertung setzt sich zusammen aus vom Menschen erdachten Bewertungsmerkmalen mit einem jeweils spezifischen Gewicht sowie einer Bewertungsfunktion.

Bis zu welchem Zeitpunkt und welcher Tiefe Zugvarianten überprüft werden, wird dynamisch entschieden und ist auch eine Kombination von vom Menschen vorgegebenen Faktoren und automatisch lernbaren Gewichtungen. Der Computer entscheidet sich letztlich für den Zug mit der besten Bewertung. Der Zug mit der abschließend besten Bewertung wird von der Maschine dann vorgeschlagen oder gespielt.

Stockfish kann zwar keine neuen Bewertungsfaktoren lernen, aber Gewichte. Zum Beispiel, wie viel eine Dame bei einem bestimmten Zug wert ist. In Trainingspartien können durch das Spiel gegen sich selber diese Gewichte dann gelernt und verbessert werden.

Gibt es Synergien zwischen Deiner Entwicklungsarbeit für Stockfish und Deiner Arbeit bei code’n‘ground?

Stefan Geschwentner:
Ja, die gibt es! Durch das Programmieren bei Stockfish lerne ich sehr viele Algorithmen kennen und habe generell überhaupt keine Berührungsängste mit dem Thema KI und Informatik. Ich habe dadurch auch gelernt, mich schnell und einfach in theoretische Papiere einzulesen, was auch im Tagesgeschäft ein Vorteil sein kann. Einiges, was ich für die Entwicklung von Stockfish brauche, findet auch in unserem ZIM-Projekt Verwendung. Dabei geht es um die Entwicklung einer Software für die Herstellung von Zahnprothesen. Vom gescannten Abdruck eines Gebisses über die Verarbeitung des Scans, die Erstellung einer vorläufigen Prothese über die Optimierung der Zahnaufstellung bis hin zur finalen Prothesenfertigung bilden wir den gesamten Prozess digital ab. Die Algorithmen für die Optimierung, die wir verwenden, sind ähnlich wie bei Stockfish.

Was wird nach den Schachcomputern kommen? Gibt es bereits andere Open Source-Programme im Bereich KI bzw. Machine learning?

Stefan Geschwentner:
Mittlerweile ist das sogenannte Deep Learning ein vielversprechender Ansatz. Man muss sich das wie ein neuronales Netz mit vielen Schichten vorstellen, wobei jede Schicht auf der vorhergehenden aufbaut. Das Verfahren wurde zuerst erfolgreich in der Bilderkennung eingesetzt. Dort ist die Basis ist ein Bild. Eine erste Verarbeitungsschicht erhält die Info: Hier ist ein Bild! Diese Info wird in die nächste Schicht gesteckt: Dieses Bild enthält eine Kante! Als nächstes ergeben dann vier Kanten ein Quadrat usw. bis vielleicht ein ganzes Haus erkannt wird. So bauen die Schichten aufeinander auf und es kommen immer neue Merkmale hinzu. Die Algorithmen erkennen immer komplexere und tiefere Konzepte, daher der Begriff Deep Learning. Weil das Deep Learning sehr rechenintensiv ist, verwendet man dafür nicht nur Computer, sondern teilweise extra dafür entwickelte Grafikkarten. Dadurch erzielt man die gewünschte Schnelligkeit.

Praktische Anwendungen von Deep Learning findet man zum Beispiel beim Autonomen Fahren oder in der Medizin bei der Schmerzerkennung. Hier wird code’n’ground regelmäßig von einer Forschungsgruppe der Universität Ulm zu Rate gezogen.

Das aktuelle Open Source-Projekt Leela Chess Zero versucht, DeepMinds AlphaZero für Schach nachzubauen. Es verwendet Deep Learning und damit einen anderen Ansatz als Stockfish.

Zum Schreiben von Lernprogrammen gibt es mittlerweile unzählige Open Source-Pakete und Bibliotheken. Auch die akademischen Papiere zum Thema KI sind quasi in ihrer Anzahl explodiert. KI ist schlicht DAS Thema unserer digitalen Zukunft!

Stefan, vielen Dank für diese interessanten Einblicke in die Welt des Machine Learning!

Die code’n‘ground AG ist ganz nah dran an den Top-Technologien der Zukunft. Sie setzt unter anderem auch Digitalisierungsprojekte im Bereich Künstliche Intelligenz (KI) um. Denn digitale Innovation schafft neue und zukunftsfähige Geschäftsmodelle. code’n’ground ist Autorisiertes Beratungsunternehmen im Förderprogramm go-digital des Bundesministeriums für Wirtschaft und Energie, Partner des ZIM – Zentrales Innovationsprogramm Mittelstand und wurde beim Digital Leader Award 2018 von Computerwoche, CIO & Dimension Data neben Unternehmen wie Lufthansa, Bayern München, Deutsche Bank, Siemens, Volkswagen oder Néstle unter die Top 50-Projekte für beispielgebende digitale Transformation im eigenen Unternehmen gewählt.

Mit Stefan Geschwentner beschäftigt das Unternehmen einen absoluten Profi in Sachen Machine Learning und KI. Geschwentner studierte Mathematik/Informatik an der Universität Ulm und war als Entwickler und Programmierer bereits bei ION Informationssysteme GbR tätig. Sein beruflicher Schwerpunkt liegt auf dem gesamten Gebiet der Informatik, im Speziellen auf der Entwicklung künstlicher Intelligenz. Seit 01.11.2008 ist er bei code’n’ground tätig. Sein großes Hobby ist das Schachspiel. Um das mit seiner Leidenschaft fürs Programmieren zu verbinden, ist Geschwentner Teil der Entwickler-Community (aktuell Chef-Entwickler) von Stockfish, dem weltweit führenden Open Source-Schachprogramm. 2017 gewann das von DeepMind, einem Tochterunternehmen des Google-Konzerns Alphabet Inc., entwickelte Computerprogramm AlphaZero eine Schachpartie mit 64:36 nach 100 Partien gegen Stockfish. Da AlphaZero gegen eine veraltete Version von Stockfish spielte, die Bedenkzeit für die Computer auf eine Minute beschränkt war und im Nachgang lediglich die Ergebnisse von 10 Partien veröffentlicht wurden, sprechen Experten von ungleichen Wettkampfbedingungen und stellen den Gewinn von AlphaZero gegen Stockfish in Zweifel.

Wenn Sie mehr über KI und Machine Learning erfahren wollen oder an der Umsetzung eines Projektes in diesem Bereich interessiert sind, dann freuen wir uns über Ihre Kontaktaufnahme!

Das Interview führte Stefanie Wenta, Wort-Werkstatt Wenta, www.wenta.info