Minimale automatische Differenzierungs-Engine in Rust
Dies ist eine minimale automatische Differenzierungs-Engine, geschrieben in Rust. Sie kann ein kleines Multi-Layer-Perceptron trainieren, um die XOR-Funktion zu lernen, und einen Berechnungsgraphen eines einzelnen Perceptrons in graph.html rendern. Der Kern ist die Scalar-Struktur, die Wert, optionales Gradient und eine Edge speichert, die die Operation beschreibt, die sie erzeugt hat. Operator-Überladungen und Hilfsfunktionen bauen einen gerichteten azyklischen Graphen, wobei die lokale Ableitung für jede Kante zwischengespeichert wird. `backward()` propagiert rekursiv Gradienten vom Ausgabeknoten und akkumuliert sie in Blattknoten, die mit `Scalar::new_grad` erstellt wurden. Der Graph kann mit `plot::dump_graph` visualisiert werden.