Der Artikel befasst sich mit der Schätzung der numerischen Genauigkeit bei Berechnungen mit Gleitkommazahlen. Es werden zunächst grundlegende Konzepte wie absolute und relative Fehler sowie die Fehlerfortpflanzung bei Funktionsberechnungen eingeführt. Anschließend werden verschiedene Gründe für Abweichungen in numerischen Ergebnissen diskutiert, wie z.B. fehlende Assoziativität der Grundrechenarten.
Der Hauptteil des Artikels widmet sich der Implementierung von erweiterten Gleitkommatypen (xf64, xf32 usw.), die neben dem numerischen Wert auch die Anzahl der exakten Mantissenbits speichern. Für diese Typen werden dann Rechenoperationen und Funktionsberechnungen beschrieben, bei denen die Genauigkeitsschätzung mitgeführt wird.
Besondere Beachtung finden dabei die Matrixmultiplikation und die Berechnung von Gradienten in neuronalen Netzen. Für die Matrixmultiplikation werden zwei Theoreme hergeleitet, die eine untere Schranke für die Genauigkeit der Ergebnisse liefern. Für Gradienten wird gezeigt, wie sich die Genauigkeit aus den Genauigkeiten der Eingaben ableiten lässt.
Abschließend wird die Implementierung des Ansatzes in einer Erweiterung der NumPy-Bibliothek beschrieben. Dabei wird auch auf Einschränkungen bei der Nutzung externer Bibliotheken wie BLAS eingegangen.
Na inny język
z treści źródłowej
arxiv.org
Głębsze pytania