Difference between revisions of "Differentiable Programming"

From
Jump to: navigation, search
Line 10: Line 10:
 
* [http://en.wikipedia.org/wiki/Category:Programming_paradigms Programming paradigms | Wikipedia]
 
* [http://en.wikipedia.org/wiki/Category:Programming_paradigms Programming paradigms | Wikipedia]
 
* [[Automated Machine Learning (AML) - AutoML]]
 
* [[Automated Machine Learning (AML) - AutoML]]
 +
* [http://en.wikipedia.org/wiki/Automatic_differentiation Automatic differentiation - Wikipedia]
 +
* [[Graph]]
 +
** [[Graph Convolutional Network (GCN), Graph Neural Networks (Graph Nets), Geometric Deep Learning]]
 
* [http://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]
 
* [http://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]
 
* [http://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.  
 
* [http://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.  

Revision as of 17:57, 26 April 2020

YouTube search... ...Google search

“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