
End-to-End Neural Network
Ein End-to-End Neural Network ist ein lernendes Computerprogramm, das direkt von der Rohdateneingabe bis zum fertigen Ergebnis alles in einem Stück löst. Statt vieler einzeln gebauter Zwischenschritte gibt es nur ein System, das im Training als Ganzes optimiert wird.
Früher baute man Computerprogramme für schwierige Aufgaben aus vielen Einzelteilen. Für die automatische Erkennung gesprochener Sprache gab es zum Beispiel ein Teil, das Geräusche in Laute zerlegte, eines für Silben, eines für Wörter und eines für ganze Sätze. Jedes Teil wurde von Fachleuten getrennt entworfen und getestet. Ein End-to-End Neural Network ersetzt diese Kette durch ein einziges lernendes System. Man schüttet vorne die Rohdaten hinein, hier also die Tonaufnahme, und hinten kommt direkt das gewünschte Ergebnis heraus, hier der geschriebene Text. Was dazwischen passiert, gibt niemand von Hand vor: Das System findet die Zwischenschritte beim Lernen aus Beispielen selbst.
Warum die Zwischenschritte verschwunden sind
Eine Kette aus Einzelteilen hat ein grundsätzliches Problem. Jedes Teil wird für sich optimiert, aber keines kennt das Endziel. Ein Modul kann seine eigene Aufgabe hervorragend erledigen und trotzdem genau die Information wegwerfen, die das nächste Modul gebraucht hätte. Fehler summieren sich außerdem: Wer in Schritt eins einen Laut falsch erkennt, kann das in Schritt vier meist nicht mehr reparieren.
Beim End-to-End-Ansatz wird dagegen alles gemeinsam auf ein einziges Ziel hin trainiert. Jeder interne Teil richtet sich danach aus, was am Ende gut ankommt. Diese gemeinsame Optimierung ist der Hauptgrund, warum solche Systeme seit etwa 2012 in vielen Bereichen die von Hand gebauten Ketten überholt haben. Spracherkennung, maschinelle Übersetzung und Bilderkennung funktionieren heute fast ausschließlich so.
Der Preis dafür ist Datenhunger. Wer die Zwischenschritte selbst vorgibt, gibt dem System Wissen geschenkt. Wer sie weglässt, muss dieses Wissen aus Beispielen erarbeiten lassen, und das braucht sehr viele davon. Bei wenigen tausend Trainingsbeispielen ist ein klassisch zerlegtes System oft immer noch besser.
Was beim gemeinsamen Training passiert
Ein neuronales Netz besteht aus Schichten künstlicher Neuronen, die durch Zahlen verbunden sind. Diese Zahlen heißen Gewichte und sind am Anfang zufällig. Man zeigt dem Netz ein Beispiel, etwa eine Tonaufnahme mit dem passenden Text. Das Netz rät ein Ergebnis, und ein Rechenverfahren misst, wie weit dieses Ergebnis danebenliegt.
Entscheidend ist der nächste Schritt. Der gemessene Fehler wird rückwärts durch alle Schichten zurückverfolgt, bis zur allerersten. Dieses Verfahren heißt Backpropagation. Jedes einzelne Gewicht wird dabei ein winziges Stück in die Richtung verschoben, die den Fehler kleiner macht. Weil der Fehler wirklich durch das gesamte System hindurchläuft, lernen auch die frühesten Schichten, worauf es am Ende ankommt.
Ein häufiger Irrtum ist, dass ein End-to-End-Netz gar keine Struktur mehr habe. Das stimmt nicht. Entwickler legen weiterhin fest, wie viele Schichten es gibt und welcher Bauart sie sind. Nur die inhaltliche Aufteilung der Arbeit wird nicht mehr vorgeschrieben. Der Nachteil: Man kann kaum noch nachsehen, warum eine Entscheidung so ausgefallen ist. Bei einer Modulkette konnte man jeden Zwischenstand prüfen, hier gibt es nur noch Eingabe und Ausgabe.
Vom Sprachassistenten bis zum autonomen Fahren
Am häufigsten begegnet dir der Ansatz beim Diktieren auf dem Smartphone und bei Übersetzungsdiensten. Beide arbeiten seit Jahren end-to-end. Auch Chatbots gehören dazu: Sie zerlegen deine Frage nicht in Grammatikanalyse und Bedeutungssuche, sondern erzeugen die Antwort direkt aus dem eingegebenen Text.
Besonders viel diskutiert wird der Begriff beim autonomen Fahren. Klassische Systeme nutzen getrennte Bausteine für Objekterkennung, Vorhersage und Fahrplanung. Tesla und einige chinesische Anbieter setzen inzwischen auf ein einziges Netz, das direkt von den Kamerabildern zu Lenk- und Bremsbefehlen rechnet. In Meldungen zu Fahrassistenz taucht deshalb oft die Formulierung « end-to-end » als Verkaufsargument auf.
Für Anleger und Beobachter ist das Wort ein Hinweis auf zwei Dinge. Erstens braucht ein solches Unternehmen enorme Mengen an Trainingsdaten, was etablierte Anbieter mit vielen Nutzern begünstigt. Zweitens sind die Ergebnisse schwerer zu prüfen, was Aufsichtsbehörden bei sicherheitskritischen Anwendungen zunehmend beschäftigt.