Deep Learning Guide
This article or section is in the process of an expansion or major restructuring. You are welcome to assist in its construction by editing it as well. If this article or section has not been edited in several days, please remove this template. This article was last edited by 62.16.7.196 (talk | contribs) 2 years ago. (Update) |
First Steps
Start with Machine Learning course on Coursera.
Then you should move on to CS231n- course by Stanford, the notes on Github are intuitive.There is also another course by Harvard on Deep Learning for Natural Language Processing - CS224d. Another path recently followed by deep learning enthusiasts is the Deep Learning specialization on Coursera. The specialization contains 5 courses with proper case studies. There is also a Udacity course developed with Google. You can select any of the above courses as per your schedule.
After getting confident enough which you should try reading research papers, and implement some of them. One good resource for a collection of the most influential research paper is Deep Learning Roadmap.
And try participating in Kaggle competitions.
Which tools
You should be comfortable to convert any research paper to code. The community generally uses PyTorch for most research purpose, but Keras is easier to begin with. Other options are:
- TensorFlow (used extensively by Google Brain)
- JAX (used extensively by Google Brain and DeepMind, API very similar to numpy)
- Theano
- TFLearn
- Caffe
- mxnet
How to get help?
- Deep Learning - Reddit
- Machine Learning - Reddit
- StackOverflow
- Awesome deep learning- A curated list of deep learning projects, tutorials, research papers and much more!
- Skillcombo.com - Deep Learning online courses
List of Interesting Blogs and Communities
- Deep Learning enthusiasts on Twitter
- Andrej Karpathy's blog
- Christopher Olah's blog
- Michael A. Nielsen, "Neural Networks and Deep Learning", Determination Press, 2015
- Denny Britz's blog
- deeplearning.net
- Yoshua Bengio's AMA
- Yann LeCun'd AMA
- OpenAI Team's AMA
- Adit Deshpande's blog
Deep Reinforcement Learning
Reinforcement Learning (RL) is a particular way of framing the learning problem, so that instead of being given labels about which option is correct in any given situation (as in supervised learning), you only have a single scalar "reward" signal which you are trying to maximise[1]. For example, to learn to play chess, if you knew the best move in every situation, you could train a supervised learning (SL) system with these ground-truth labels. If you only have an entire game followed by a win/loss binary signal, you could use reinforcement learning to learn to play in such a way that wins are maximised. Thus RL is more generally applicable than SL. For example, AlphaGo was trained to play the board game of Go in this way, beating the world champion in a spectacular televised match.
Deep Reinforcement Learning (Deep RL) combines reinforcement learning with deep learning, using deep neural networks to learn directly from raw inputs, without hand-engineered features or domain-specific heuristics. In 2013 DeepMind arguably kicked off the growth of the field by showing impressive results using Deep RL to play Atari video games.
- Resources by Deepmind
- Spinning Up in Deep RL by OpenAI
- Introduction to Reinforcement Learning with David Silver
- Reinforcement Learning: An Introduction. Book by Andrew Barto and Richard S. Sutton.
See Also
- ↑ Technically we're usually maximising sum-of-rewards over a single agent-environment interaction, e.g. a single video game episode.