08.01.2020

Interview: Induktive Programmierung

Datensparsam lernen

Prof. Ute Schmid hat nicht nur einen Abschluss in Informatik, sondern ist auch diplomierte Psychologin. Seit 2004 lehrt sie Angewandte Informatik an der Universität Bamberg. Sie forscht in den Bereichen Künstliche Intelligenz und hier vor allem maschinelles Lernen und kognitive Modellierung. Bei fortiss wird sie in das Leitprojekt „Robuste KI“ eingebunden und ihre Expertise in induktiver Programmierung einbringen. Im Interview erläutert sie, warum diese wichtig ist.

Was hat Sie nach Ihrem Psychologie-Studium zur Informatik gebracht?
Der Einstieg kam übers Programmieren. Ich wollte als Studentin der Psychologie ein Programm zur Auswertung von Log-File-Daten schreiben, also Eingabefolgen am Computer. Deshalb habe ich die Vorlesung „Programmiertechnik für Ingenieure“ besucht – und war begeistert. Die Frage nach den Grundprinzipien des menschlichen Denkens und Lernens, die mich zum Psychologie-Studium gebracht hat, bleibt aber bis heute meine Hauptmotivation. Nachdem ich das Thema zunächst in der Kognitionspsychologie bearbeitet habe, betrachte ich es jetzt aus Perspektive der KI.

Wie kam es zur wissenschaftlichen Zusammenarbeit mit fortiss?
Mit Ihrem wissenschaftlicher Geschäftsführer Harald Rueß verbindet mich das Interesse an der automatischen Synthese von Programmen. 2018 bin ich der Einladung von fortiss gefolgt und habe bei Ihnen in München einen Vortrag gehalten. In der Folge haben wir beschlossen, enger zusammenarbeiten.

Was erwarten Sie sich von der Zusammenarbeit?
Bei fortiss herrscht sehr viel Dynamik hinsichtlich wirklich innovativer und methodisch fundierter Forschungsthemen im Bereich Künstliche Intelligenz. Ich freue mich sehr auf spannende Impulse und fruchtbare Kooperationen.

Welche Projekte im Bereich Künstliche Intelligenz möchten Sie bei fortiss anstoßen?
Ich würde gerne Methoden der induktiven Programmierung für verschiedene Grundlagen- und Anwendungsprojekte im Bereich Maschinelles Lernen erschließen.

Was kann sich der Laie unter induktivem Lernen vorstellen?
In diesem Bereich erforschen wir, wie Programme aus Ein-/Ausgabe-Beispielen oder beobachteten Eingabefolgen in ein System lernen. Das Thema liegt im Schnittbereich von maschinellem Lernen, deklarativer Programmierung und Softwareentwicklung. Ziel ist das Lernen komplexer Regeln aus wenigen Beispielen bzw. Daten.

Warum ist induktive Programmierung wichtig?
Sie komplementiert aktuelle, datenintensive Blackbox-Ansätze des „Deep Learning“, einem Teilgebiet des Maschinellen Lernens, und ermöglicht, dass Modelle aus wenigen Daten induziert werden können. In vielen Anwendungsbereichen beispielsweise bei medizinischen Diagnosen oder in der industriellen Produktion liegen nur wenige Daten auf einmal vor, die man zum Training eines Modells nutzen kann. Methoden der induktiven Programmierung ermöglichen es, Hintergrund- und Expertenwissen beim Lernen zu berücksichtigen. Dadurch kann datensparsam gelernt werden.

Welche Anwendungen betrifft diese Technologie?
Der klassische Anwendungsbereich für Induktive Programmierung ist die sogenannte Endnutzer-Programmierung. Damit wird Nutzerinnen und Nutzern ohne Programmierkenntnisse ermöglicht, die volle Funktionalität von Anwenderprogrammen zu nutzen, etwa Tabellenkalkulation, indem sie einfach Beispiele für das gewünschte Systemverhalten angeben. Das dahinterliegende Makro oder Programm wird dann automatisch generiert. Ein zweiter Anwendungsbereich ist das sogenannte Data Wrangling: Hier geht es um Unterstützung bei der Bereinigung und Transformation komplexer Datensätze. Ich selbst wende induktive Programmierung vor allem an, um Erklärungen für maschinell gelernte Klassifikatoren zu erzeugen.

Welche Herausforderungen gilt es zu überwinden?
Es geht um die Kombination von induktiver Programmierung mit End-to-end-Ansätzen – also Deep-Learning-Ansätzen, bei denen direkt aus den Rohdaten, etwa aus Bildern, gelernt wird. Dies setzt voraus, dass semantisch interpretierbare Informationen aus den neuronalen Netzen extrahiert werden, was teilweise nur in Interaktion mit menschlichen Experten möglich ist. Ich gehe davon aus, dass es für viele praktische Anwendungen ohnehin notwendig wird, interaktive Ansätze des maschinellen Lernens zu nutzen oder zu entwickeln, da es gar nicht möglich oder sehr teuer ist, Trainingsdaten ohne menschliche Hilfe korrekt zu kennzeichnen.

Was möchten Sie mit fortiss erreichen?
Ich würde mich sehr freuen, wenn mindestens eine meiner NachwuchsforscherInnen im Bereich induktive Programmierung promovieren würde. Als Forschungsschwerpunkt stellen wir uns die Generierung von Erklärungen vor, mit denen sich die Entscheidungen von KI-Algorithmen nachvollziehen lassen. Außerdem werden wir Anwendungsprojekte aus verschiedenen Bereichen wie medizinische Diagnose, Gefahrenerkennung beim autonomen Fahren, Qualitätskontrolle in der industriellen Produktion und vorausschauende Wartung durchführen. Vor allem aber hoffe ich, dass meine in der Grundlagenforschung entwickelten Methoden den „Praxis-Check“ bestehen werden.