Neural Networks and Deep Learning is the first course in a new Deep Learning Specialization offered by Coursera taught by Coursera co-founder Andrew Ng. The 4-week course covers the basics of neural networks and how to implement them in code using Python and numpy. The course page states that it only requires basic Python programming knowledge, although any experience you have with machine learning, linear algebra and calculus will be helpful with gaining a deeper understanding of the material. You can access the quizzes and programming assignments without paying for the full course, but if you want to submit them for grading and get credit as having completed the course, you have to pay for the certificate.
- Six Years Later, Coursera Co-Founder Andrew Ng Returns With New Deep Learning MOOCs
- What do professors think of Coursera’s new subscription model?
- A Guide on How to Sign up for Coursera Courses for Free
Neural Networks and Deep Learning is the best introductory course on neural networks on any of the main MOOC platforms that is accessible to about as broad a group of students as possible given the nature of the material.
Neural Networks and Deep Learning starts with a short introduction to deep learning in week 1, followed by 3 full weeks that build your understanding of neural networks by starting with logistic regression implemented with the same structure as a neural net in week 2, shallow nets in week 3 and deep nets in week 4. Key topics include computational graphs and derivatives on graphs, gradient descent, vectorizing code, neural network representations, activation functions, backpropagation and deep nets. The course touches on high level concepts and considerations to frame learning, but the majority of the content focuses on the low-level nuts and bolts of neural network structure and how to translate it into code.
The production style is reminiscent of his original machine learning MOOC which was released back in 2012
Each week after the first has roughly 1-2 hours of lecture split up into 5 to 15 minute video segments. In each segment, Andrew Ng appears on screen and gives a brief overview of what the video is going to cover and then he discusses the topic with voice-overs while writing on white slides, followed by a brief outro where he reappears and summarizes key takeaways. There is a lot of handwritten information and notation in the lectures, which means some students may find certain lectures difficult (or boring) to follow, but he explains things very well and the notation is there to help you gain a concrete understanding of the structure of neural nets and prepare you for working with them in the programming assignments. The production value of the videos is fairly low as the intros and outros seem to be recorded with a non wide screen SD camera and the vast majority of content is simply Ng writing on mostly blank slides. The production style is reminiscent of his original machine learning MOOC which was released back in 2012. Still, the logical organization of the content combined with Ng’s masterful knowledge and lucid explanations means the relatively rudimentary production doesn’t detract from the course’s value. Weeks 1-3 also include an optional guest lectures with different “heroes of deep learning.”
You can access all of the assignments as a freeware student
The programming assignments in Neural Networks and Deep Learning are very well done, providing great instructions, explanations, and examples. You can access all of the assignments as a freeware student, so even though the course won’t be listed as completed when you finish, you can still work through them and learn all the same things as paying students. The assignments are heavily structured, giving students complete code skeletons of all required functions and only requiring students to implement specific key lines of code which are described in detail. In other words, most of the difficulty in implementing neural nets–such as the logic and structure of the code and aligning matrix dimensions–is taken care of for you so you don’t need to be a strong programmer to complete the assignments. This keeps the assignments moving along at a nice pace and should help keep students from getting stuck for too long and while you may struggle to implement neural nets from scratch yourself after completing this course, it shows you the tools you would need to do it. And perhaps more importantly, it gives you insight into how neural nets are working under the hood, which is good to know even if you end up using a package to build them.
Neural Networks and Deep Learning is the best introductory course on neural networks on any of the main MOOC platforms that is accessible to about as broad a group of students as possible given the nature of the material. The course isn’t perfect: notation-heavy videos can get tedious and it sometimes eschews mathematical details. It also makes a few questionable decisions such as putting a 40 minute interview of Geoffrey Hinton at the end of the first week, most of which you will not understand unless you’ve seen neural networks before and have familiarity with his work. That said, if you want to learn about neural networks and how to make them in code, this is the right place to start.
I give Neural Networks and Deep Learning 5 stars out of 5: Excellent.
Neural Networks and Deep Learning is an excellent first course on neural nets that teaches the nuts and bolts necessary to implement your first deep net in Python.
Class Central is looking for reviewers and regular contributors. If you’ve ever finished a MOOC and want to write a critique to help future students considering taking that course, we want to hear from you. Drop us a mail.