Software 2.0

Gespeichert von Erik Wegner am/um
Aufmacherbild

Im Video https://vimeo.com/272696002 spricht Andrej Karpathy über Software-Entwicklung 2.0. Im Kern beschreibt er, dass Software 1.0 bedeutet, Algorithmen mit Ingenieurswissen zu erarbeiten.

Die Software-Entwicklung 2.0 bedeutet, über eine Klassifizierung von Eingangsdaten eine Optimierung auszuführen, bis das gewünschte Resultat erreicht ist. Als Eingangsdaten kommen alle möglichen Quellen in Frage: Kameras, Sensoren, Texte. Die Klassifizierung ordnet anhand von Beispielen die gewünschten Ergebnisse zu, im Fall von Tesla bespielsweise die Erkennung der Fahrspuren. Die Optimierung erzeugt Gewichtungen, die auf alle Eingangsdaten angewendet werden, und bewertet automatisch die Güte. Dieser letzte Teil wird wiederholt, bis das Ergebnis hinreichend zufriedenstellend ist.

Mir macht das Video deutlich, dass die Ergebnisse der maschinellen Optimierung für viele Probleme schneller bessere Lösungen erzeugen. Das konnte man an der Meldung zu AlphaGo Zero schon ablesen. Was in der Präsentation auch weiter ausgeführt wird, sind die Probleme und Herausforderungen, die diese neue Form der Softwareentwicklung mit sich bringen.

Auf jeden Fall werde ich mich mit dem Thema beschäftigen, um selbst zu lernen, wie maschinelles Lernen funktioniert und welche Erkenntnisse gewonnen werden können.