Difference between revisions of "Differentiable Programming"
| 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
- Programming paradigms | Wikipedia
- Automated Machine Learning (AML) - AutoML
- 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