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