autodifferentiëlen
Autodifferentiëren, oftewel automatische differentiatie, is een verzameling technieken om afgeleiden van functies die door een computerprogramma zijn gedefinieerd nauwkeurig tot op machineprecisie te berekenen. In tegenstelling tot symbolische differentiatie, die wiskundige uitdrukkingen algebraïsch vereenvoudigt, en numerieke differentiatie, die afgeleiden schat met eindige verschillen, levert automatische differentiatie afgeleiden die exact zijn voor de gegeven implementatie tot de grenzen van representatie. AD werkt door tijdens de uitvoering van het programma een computationele grafiek op te bouwen die alle bewerkingen en tussentijdse waarden vastlegt, en vervolgens de kettingregel toe te passen om de gewenste afgeleiden te berekenen.
Er bestaan twee hoofdbenaderingen: forward mode en reverse mode. Forward mode propagateert de afgeleide mee met
Implementaties kunnen plaatsvinden via operator overloading of via broncode-transformatie. Moderne frameworks zoals TensorFlow, PyTorch, JAX en
Toepassingen omvatten training van neurale netwerken, optimale systemen in wetenschappelijke simulaties, structurele optimalisatie en financiële modellering.
De basisidee dateert uit de jaren 1960–1990 met bijdragen aan de ontwikkeling van automatische differentiatie; de