back
1 comments
Automatic Differentiation is about leveraging AI (i.e., LLM's, ChatGPT, etc.) to write computer programs in non-AI conventional programming languages (i.e., C, C++, Assembler, Pascal, Go, Python, Julia, etc., etc.)

This specific area of focus in Computer Science is apparently referred to as "Differentiable Programming":

https://en.wikipedia.org/wiki/Differentiable_programming

>"Most differentiable programming frameworks work by constructing a graph containing the control flow and data structures in the program.[7]

[...]

The use of Just-in-Time compilation has emerged recently as a possible solution to overcome some of the bottlenecks of interpreted languages. The C++ heyoka and python package heyoka.py make large use of this technique to offer advanced differentiable programming capabilities (also at high orders). A package for the Julia programming language – Zygote – works directly on Julia's intermediate representation. [7][11][5]

A limitation of earlier approaches is that they are only able to differentiate code written in a suitable manner for the framework, limiting their interoperability with other programs. Newer approaches resolve this issue by constructing the graph from the language's syntax or IR, allowing arbitrary code to be differentiated. [7][9]"

Related:

Intermediate Representation (IR):

https://en.wikipedia.org/wiki/Intermediate_representation

Control Flow Graph (CFG):

https://en.wikipedia.org/wiki/Control-flow_graph