Die am nächsten verwandte Implementierung in Haskell, die ich gesehen habe, ist der Vorwärtsmodus bei http://hackage.haskell.org/packages/archive/fad/1.0/doc/html/Numeric-FAD.html.Gibt es eine funktionierende Implementierung von Reverse-Modus automatische Differenzierung für Haskell?
Die am nächsten verwandte verwandte Forschung scheint Umkehrmodus für eine andere funktionale Sprache im Zusammenhang mit Schema bei http://www.bcl.hamilton.ie/~qobi/stalingrad/ zu sein.
Ich sehe den umgekehrten Modus in Haskell als eine Art heiligen Gral für viele Aufgaben, mit der Hoffnung, dass Haskells verschachtelte Datenparallelität eine schöne Beschleunigung in der schweren numerischen Optimierung erreichen könnte.
Eine mögliche Alternative: Ich hatte ziemlich viel Erfolg mit der Optimierung großer Systeme (z. B. 10000 dimensional) mit Vorwärts-AD. (Der Code war C++, aber größtenteils in einem rein funktionalen Stil geschrieben.) Der Trick bestand darin, die Seltenheit meines Problems auszunutzen, sodass ich einen Sparse-Typ verwenden konnte, um die Derivate darzustellen. Es war schneller als die umgekehrte AD-Version für mein Problem (wieder in C++ geschrieben, aber überhaupt nicht rein). – sigfpe
Wirklich? Ich frage mich, wie ich so etwas erreichen kann. Irgendwelche Leads? –