2

die Frage Inspired:Warum leidet Deep Learning nicht unter Fehlern bei der Gleitkommazahl oder der numerischen Genauigkeit, wenn das Training hauptsächlich auf Daten mit Mittelwert 0 und Standard 1 basiert?

Why do different methods for solving Xc=y in python give different solution when they should not?

, die numerische Ausgabe aufgrund Gleitpunkte zu haben scheint, Matrizen invertiert und Werte zu [-1,1] beschränken, was ich neugierig bin jetzt Deshalb leidet tief Lernen nicht von Schwimmer oder numerische Genauigkeitsfehler, wenn der größte Teil des Trainings auf Daten mit Mittelwert 0 und Standard 1 basiert (ich gehe davon aus, dass die meisten Daten in diesem Bereich vorverarbeitet wurden), und ich denke, dass dies in etwa richtig sein muss hohe Auslastung der Batch-Normalisierung). Liegt es daran, dass tiefes Lernen nicht dadurch trainiert wird, dass ein Polynom zu einem sehr hohen Grad angehoben wird, oder warum ist tiefes Lernen normalerweise gut? Gibt es etwas Spezielles mit SGD oder ist die (populäre) Aktivierungsfunktion, relu, elu usw., nicht numerisch instabil (verglichen mit einem Polynom hohen Grades)? Oder vielleicht verhindert das GPU-Training die Gleitkommadarstellung alle zusammen? Oder warum ist Deep Learning Training numerisch stabil?

Antwort

1

Es gibt nichts wirklich Magisches an DL als solches - es leidet ständig unter numerischen Fehlern. Aufgrund der Größe und Anzahl der Nichtlinearitäten führen numerische Instabilitäten in DL jedoch normalerweise zu Unendlichkeiten oder Nans, nicht - falschen Antworten. Folglich sind sie normalerweise leicht zu erkennen. Insbesondere gibt es nichts Hartes über [0,1] Intervall, in der Tat ist es ein großer Lagerplatz für Schwimmer, wie quarter of representable floats actually live in [0,1]! Das Problem, auf das Sie sich beziehen, liegt darin, einen großen Exponenten einer solchen Zahl zu nehmen, der gefährlich nahe an der Maschinenpräzision liegt. Keine der Standard-DL-Techniken benötigt 30-mal Aktivierung. Tatsächlich sind die meisten der erfolgreichsten DL-Techniken (basierend auf Sigmoiden, Tanhs und Relus) nahezu linear, und daher stammen die numerischen Instabilitäten hauptsächlich von exp-Operationen in Wahrscheinlichkeitsschätzungen.

So:

  • geht es um hohe Polynom? ja, das ist das Hauptproblem, und in DL nicht aufgetreten.
  • gibt es etwas besonderes über SGD? Nicht wirklich.
  • geht es um Aktivierungsfunktionen? Ja, sie lassen so große Präzision nicht fallen (Exponent ist die Ausnahme, und es führt zu numerischen Problemen)
  • ist GPU floats zu vermeiden? Nein, GPUs haben damit nichts zu tun.
Verwandte Themen