Difference between revisions of "Differentiable Programming"
m |
m (Text replacement - "http:" to "https:") |
||
| Line 5: | Line 5: | ||
|description=Helpful resources for your journey with artificial intelligence; videos, articles, techniques, courses, profiles, and tools | |description=Helpful resources for your journey with artificial intelligence; videos, articles, techniques, courses, profiles, and tools | ||
}} | }} | ||
| − | [ | + | [https://www.youtube.com/results?search_query=Differentiable+Programming YouTube search...] |
| − | [ | + | [https://www.google.com/search?q=Differentiable+Programming ...Google search] |
| − | * [ | + | * [https://en.wikipedia.org/wiki/Category:Programming_paradigms Programming paradigms | Wikipedia] |
* [[Algorithm Administration#Automated Learning|Automated Learning]] | * [[Algorithm Administration#Automated Learning|Automated Learning]] | ||
| − | * [ | + | * [https://en.wikipedia.org/wiki/Automatic_differentiation Automatic differentiation - Wikipedia] |
* [[Graph]] | * [[Graph]] | ||
** [[Graph Convolutional Network (GCN), Graph Neural Networks (Graph Nets), Geometric Deep Learning]] | ** [[Graph Convolutional Network (GCN), Graph Neural Networks (Graph Nets), Geometric Deep Learning]] | ||
| − | * [ | + | * [https://medium.com/syncedreview/julia-computing-mit-introduce-differentiable-programming-system-bridging-ai-and-science-738c8a9eb0b9 Julia Computing & MIT Introduce Differentiable Programming System Bridging AI and Science | Yuqing Li - Synced - Medium] |
| − | * [ | + | * [https://fluxml.ai/Zygote.jl/dev/ Zygote] Zygote extends the Julia language to support differentiable programming. With Zygote you can write down any Julia code you feel like – including using existing Julia packages – then get gradients and optimise your program. Deep learning, ML and probabilistic programming are all different kinds of differentiable programming that you can do with Zygote. |
“People are now building a new kind of software by assembling networks of parameterized functional blocks and by training them from examples using some form of gradient-based optimization.” - [[Meta|Facebook]] Chief AI Scientist [[Creatives#Yann LeCun | Yann LeCun]] | “People are now building a new kind of software by assembling networks of parameterized functional blocks and by training them from examples using some form of gradient-based optimization.” - [[Meta|Facebook]] Chief AI Scientist [[Creatives#Yann LeCun | Yann LeCun]] | ||
| − | Differentiable programs are programs that rewrite themselves at least one component by optimizing along a gradient, like neural networks do using optimization algorithms such as gradient descent. Here’s a graphic illustrating the difference between differential and probabilistic programming approaches. [ | + | Differentiable programs are programs that rewrite themselves at least one component by optimizing along a gradient, like neural networks do using optimization algorithms such as gradient descent. Here’s a graphic illustrating the difference between differential and probabilistic programming approaches. [https://pathmind.com/wiki/differentiableprogramming A Beginner's Guide to Differentiable Programming | Chris Nicholson - A.I. Wiki pathmind] |
| − | TensorFlow 1 uses the static graph approach, whereas TensorFlow 2 uses the dynamic graph approach by default. [ | + | TensorFlow 1 uses the static graph approach, whereas TensorFlow 2 uses the dynamic graph approach by default. [https://en.wikipedia.org/wiki/Differentiable_programming Differentiable programming | Wikipedia] |
| − | <img src=" | + | <img src="https://pathmind.com/images/wiki/differentiable_probabilistic.jpg" width="800" height="500"> |
<youtube>qhPBfysSYI8</youtube> | <youtube>qhPBfysSYI8</youtube> | ||
Latest revision as of 09:31, 28 March 2023
YouTube search... ...Google search
- Programming paradigms | Wikipedia
- Automated Learning
- Automatic differentiation - Wikipedia
- Graph
- Julia Computing & MIT Introduce Differentiable Programming System Bridging AI and Science | Yuqing Li - Synced - Medium
- Zygote Zygote extends the Julia language to support differentiable programming. With Zygote you can write down any Julia code you feel like – including using existing Julia packages – then get gradients and optimise your program. Deep learning, ML and probabilistic programming are all different kinds of differentiable programming that you can do with Zygote.
“People are now building a new kind of software by assembling networks of parameterized functional blocks and by training them from examples using some form of gradient-based optimization.” - Facebook Chief AI Scientist Yann LeCun
Differentiable programs are programs that rewrite themselves at least one component by optimizing along a gradient, like neural networks do using optimization algorithms such as gradient descent. Here’s a graphic illustrating the difference between differential and probabilistic programming approaches. A Beginner's Guide to Differentiable Programming | Chris Nicholson - A.I. Wiki pathmind
TensorFlow 1 uses the static graph approach, whereas TensorFlow 2 uses the dynamic graph approach by default. Differentiable programming | Wikipedia