Kann sein, das ich hier über das Ziel hinaus schieße, aber ich finde es schon passend, mal ein kleines Stück tiefer in das Herz des Tesla zu gucken
Daher versuche ich mal eine Erklärung (Der Beitrag kann gerne in einen anderen Thread verschoben werden, falls es hier nicht hin paßt).
Das Folgende ist sicher auch nicht vollständig und im Detail bestimmt fehlerhaft (ich habe keine konkreten Infos darüber wie Tesla FSD wirklich im Detail funktioniert) aber so ungefähr muß das im FSD-Rechner (V12) ablaufen nach allem was ich über neuronale Netze weiß:
1.) Ein Neuronales Netzwerk (NN) besteht, stark vereinfacht ausgedrückt immer aus:
- Eingabelayer (FSD:um Einzelne Videobilder ins NN zu speisen)
- Model (das eigentliche physische Netzwerk)
- Ausgabelayer (FSD: Fahrdaten: Lenkung, Stromzufuhr, Bremse, …)
Das Eingabelayer besteht bereits aus Neuronen, jeweils ein Neuron pro Bildpixel, also eine ganz Menge! Das NN verarbeitet Einzelbilder nacheinander (ich meine es sind ca. 30 Bilder pro Sekunde bei HW3) Ausserdem vermute ich, das die Fahrdaten zum jeweils vorherigen Bild ebenfalls im Eingabelayer eingespeist werden.
Im Ausgabelayer stehen die zugehörigen vom NN ermittelten Fahrdaten.
Es ist klar das das NN getaktet arbeitet, vermutlich mit 30 Takten pro Sekunde, um jedes Videobild zu erfassen.
2.) Beim Training des NN werden ausgewählte ‚gute’ Videosequenzen in den Eingabelayer gegeben. Dazu müssen die Videos jeweils folgende schritte durchlaufen:
- Segmentierung in Einzelbilder
- Pro Bild alle Pixel bestimmen
- jedes Pixel eines Bildes in ein Neuron des Eingabelayers füttern
Das NN leitet dann aus der Bildeingabe ab, wie die aktuellen Fahrdaten zum Bild sein müssten. Hier wird dann auch klar, dass die Fahrdaten vom vorherigen bild auch mit berücksichtigt werden müssen, weil das Problem ja dynamisch ist(das Auto bewegt sich)
Wenn die Videosequenz durchlaufen ist, werden die Vorhersagen des Netzes mit den echten Fahrdaten verglichen und aus der Differenz dann abgeleitet, wie die Gewichte in den Millionen (ich meine es sind tatsächlich 80 Milliarden) von künstlichen Neuronen im inneren des Netzes angepaßt werden müssen, damit das berechnete Ergebnis (sollte es vom Original abweichen) besser zu den Fahrdaten des videos passt.
Das Netz wird mit Millionen von Video Sequenzen trainiert und mit jedem Eingespeisten Video wird das NN ein winziges kleines stück besser bei seinen Vorhersagen, als es vorher war.
Ist die Trainingsphase abgeschlossen, dann kann das NN sich an den Kameradaten eines realen Fahrzeugs messen
und wenn das Training gut war, fährt nun der Wagen halbwegs ordentlich, und zwar überall, wo es Strassen gibt…
Und genau hier kommt dann meine Vermutung hinzu, dass ein FSD nur dann richtig gut wird, wenn es nach dem Training noch ein lokales fine tuning macht, so dass lokale Begebenheiten mit in das Netz aufgenommen werden. Wie genau das dann geht, weiß ich auch nicht, aber es scheint mir sinnvoll und wichtig zu sein.
Schlussbemerkung: Das Training bei Tesla läuft mit Sicherheit etwas anders ab, meine Erklärungsversuche berücksichtigen einige Punkte nicht, bzw. nur unvollständig. Aber ich denke ich liege nicht ganz falsch. Außerdem wird unsere Europaversion möglicherweise noch etwas anders funktionieren, da wir hier noch kein end to end System haben (video in, Fahrdaten out) sondern mit einem teilweise regelbasiertem System rumkutschieren