Forscher von Microsoft Research und der University of Cambridge haben am 7. November 2016 die erste Fassung ihrer DeepCoder-Studie veröffentlicht. Das System sucht kurze Programme, deren Verhalten vorgegebenen Ein- und Ausgabebeispielen entspricht.
Vorhersage lenkt die Suche
Ein neuronales Netz schätzt, welche Funktionen zur Lösung passen könnten. Klassische Suchverfahren prüfen anschließend mögliche Programme. Das Netz ersetzt die Suche also nicht. Die Forschungsfassung beschreibt unter anderem Tiefensuche und den SMT-basierten Solver Sketch.
Die verwendete Sprache verarbeitet Ganzzahlen und Listen. Sie enthält beispielsweise Sortieren, Filtern und Summieren, aber keinen frei formulierbaren Kontrollfluss. Trainiert wird mit automatisch erzeugten Programmen und ihren Ergebnissen.
Begrenzte Aufgaben statt vollständiger Anwendungen
Die Tests zeigen deutliche Beschleunigungen gegenüber den verglichenen Suchverfahren. Untersucht werden jedoch kurze Abläufe, keine kompletten Anwendungen. Daraus folgt kein Nachweis, dass DeepCoder beliebige Entwicklungsaufgaben übernehmen kann.
Während der TensorFlow Playground Lernvorgänge anschaulich macht, untersucht DeepCoder einen konkreten Einsatz gelernter Vorhersagen: die Reihenfolge, in der ein Solver mögliche Lösungen prüft.

