How Do I Learn Neural Networks?



I'm a freshman undergraduate student (mentioning this so you may forgive my unfamiliarity) who is currently doing research using neural networks. I've coded a three-node neural network (that works) based on my professor's guidance. However, I'd like to pursue a career in AI and Data Science, and I'd like to teach myself more about these properly in-depth. Are there any books or resources that will teach me more about neural network structures, deep learning, etc. Are there any recommendations?

Note: I'm proficient in Java, Python, Bash, JavaScript, Matlab, and know a bit of C++.

Furkan Toprak

Posted 2018-12-26T06:45:31.940

Reputation: 119

An update from the author of the question: This has become a high-impact question with >3k views. Here is my recommendation, 1.5 years later: Any resource written by Andrew Ng or Hands On Machine Learning with Scikit-Learn is a solid resource. giant_neural_network on YouTube (whom I've asked for advice on some ML projects) has a great ML 101 course. – Furkan Toprak – 2020-07-20T20:50:19.490



I have a Master's in Computer Science and my thesis was about time-series prediction using Neural Networks.

The book Hands on machine learning with Scikit and Tensorflow was extremely helpful from a practical point of view. It really lays things very clearly, without much theory and math. I strongly recommend it.

On the other hand, the book by Ian Goodfellow is also a must (kind of the bible of DL). There you'll find the theoretical explanations, also it will leave you much much more knowledgeable with regards to deep learning and the humble beginning of the field till now.

Another, as others have suggested, is of course, Deep Learning with Python by Chollet. I indulged reading this book. Indeed it was very well written, and again, it teaches you tricks and concepts that you hardly grasp from tutorials and courses online.

Furthermore, I see you are familiar with Matlab, so maybe you have taken some stats/probability classes, otherwise, all these will overwhelm you a bit.

Kejsi Struga

Posted 2018-12-26T06:45:31.940

Reputation: 121

2I've taken a lot of the advice from this thread, and Hands on Machine Learning with Scikit and Tensorflow was the most helpful book among these suggestions. I've moved the accepted answer to your response. Thank you. – Furkan Toprak – 2019-07-25T14:53:54.030

Glad to be helpful :) @FurkanToprak – Kejsi Struga – 2019-07-26T09:35:38.037


If you want a good and solid start for deep learning, I would suugest to start with the appropriately named book "Deep Learning" by Ian Goodfellow et al. After that you'll have a good base that you can expend by the many different tutorials, articles and courses available online.

However, I would also add that before doing that, you should take some basic "machine learning" class (should be available at your University). Many people these days go straight to deep learning and implementing Neural networks because it is relatively easy, but than they lack the understanding to improve it or use it to its fullest potential.


Posted 2018-12-26T06:45:31.940

Reputation: 1 800

1I completely agree with this. A lot of ML and NN has "knowledge dependencies" where it is easiest not to jump into the hard stuff without building a sufficient background in some of the underlying techniques/concepts. Beyond Calculus and Linear Algebra, build a foundation in some of the basic machine learning concepts (especially mathematically) – Ethan – 2018-12-26T18:41:58.343


As other suggested are very good resources. If you want in depth Knowledge, I would suggest course by Andrew Ng on coursera. It covers in depth knowledge of basics of ML and if you are confused about whether you begin with AI, ML or deep learning You could follow the blog link in my profile.I recently posted how to go with these technologies.

PS: I am not advertising here my blog. I am just helping. If you want to follow you may follow otherwise just go with Andrew Ng


Posted 2018-12-26T06:45:31.940

Reputation: 131

4Ng is kind of a classic, and his new re-worked speciality is up-to-date, and additionally features interviews with a lot of the big names in the subject (Hinton, Le Cunn, Goodfellow, and many more, etc.). Taking this course will give you a good grounding, and is something you are likely to have in common with other practitioners of your generation. I would do it for that last reason alone - note that it is not very hard - the Coursera course by Hinton is far harder, but a bit dated now. – Mike Wise – 2018-12-26T18:32:36.980

@MikeWise Yes i am not saying course is hard. I Am saying neural network is hard, specially when you are beginner and from web background – Gaurav – 2018-12-27T02:30:26.050


I suggest starting with Google’s Crash Course on ML if you want to revisit the basics. I then suggest to follow’s ML and DL lessons. For reading I suggest Introduction to Machine Learning by Alex Smola and S.V.N. Vishwanathan. Have a nice day!


Posted 2018-12-26T06:45:31.940

Reputation: 41


I highly suggest you to read this great book: hands on machine learning with Scikit and Tensorflow. Neural networks are presented succinctly in chapters 9 and 10. There are a lot of examples for you to practice. To effectively understand the script of examples you should have background of Python programming. Have a nice day!

Nga Dao

Posted 2018-12-26T06:45:31.940

Reputation: 175


Deep Learning with Python by François Chollet is a great, high-level introduction into deep learning by the author of Keras.


Posted 2018-12-26T06:45:31.940

Reputation: 1 260


There are many good websites for self-learning. Following are 2 examples:

Machine Learning Mastery | Deep Learning (Keras)

An Introductory Guide to Deep Learning and Neural Networks (Notes from Course #1)

These are especially helpful for practical aspects, maybe less so for theoretical background.


Posted 2018-12-26T06:45:31.940

Reputation: 1 316


To add to the above references (the deeplearningbook by Goodfellow et al. is a must if you want to go deep into the subject), an excellent hands-on book is dive into deep learning that gives a state of the art approach (computer vision, NLP) using the gluon API (mxnet framework, see also the straight dope). I also highly recommend the resources in the pytorch software (tutorials).


Posted 2018-12-26T06:45:31.940

Reputation: 101


I really love that book!! This is a great resource as well.

Try to take each model apart, and put it back together, with your own specific datasets being fed in. If you can use your own data, rather than the sample data that they give you, and make it work, I think you will have the skills you need to do whatever you want to do.


Posted 2018-12-26T06:45:31.940

Reputation: 341