Reviewing Andrew Ng's Deep Learning Course: Neural Network and Deep Learning
Feeling rather good about myself as I'm writing this as I've just completed the first course of Andrew Ng's latest Deep Learning specialization on Coursera. I've been meaning to learn about Deep Learning for quite awhile now but haven't been able to wrap my heads around the theory aspect of it for longest of time.
Previously, my foray into deep learning has been via Udacity's Deep Learning materials, random internet articles, and the Deep Learning textbook.
Yes. THE textbook.
Bought it from Amazon a few months ago, and am still going through the pages. Still finding it tough to find the time between going through a few pages, the day job, and sorting out the kids at night. From what I've gone through so far, I'd imagine that I would need to brush up on my rusty math in order to be able to fully appreciate the book.
I have a confession to make though.
I never really did go through Andrew Ng's first ML course (gasps!). I know, I know..the course is like THE MUST-TAKE course for every new data scientist out there. Yet I didn't do it. I tried to, but I can't. He was teaching them in Octave - and I really didn't feel like going through yet another programming language. So I gave it up and settled with John Hopkin's Specialization instead (and later supplemented it with Udacity MLND).
Which is why I welcome the fact that his new course is taught in full python + Tensorflow. What makes me love it even more is the fact that you don't really need to install or setup anything to be able to do the assignments now, as everything is hosted on their Jupyter server. Submitting the assignment is as easy as In contrast, when I doing my Udacity MLND, we had to setup our own environment, export the output,store in Github and send them the link.
|Gotta love the simplicity of it.|
The course is available to audit for free. If you'd like to do the assignments and earn a certificate upon completion, Coursera have changed their payment structure from billing by the course to billing by the month - meaning you are effectively subscribing to their whole library of content on a monthly basis - at USD49.
During the first few weeks of taking the course, I struggled somewhat with the early topics - for I was unable to grasp the fundamentals of back propagation. It kept me thinking sometimes that I needed to brush up on my python, or math, or whatever. Felt kinda down in the beginning.
I guess this is where joining a like-minded group kinda helps. After sharing the problems I had with the Coursera deeplearning.ai FB group, a few hours later someone actually went out of his way to actually write a blog post about back propagation to help clear my thoughts.
Faith in humanity restored. :)
The best part about the whole course for me was the programming assignments - as it really drilled down the overall idea of how back propagation works to my head. The hardest assignment for me was actually the first neural network assignment, as I was struggling to understand how it was all suppose to work (in program).
Overcoming that, and understanding how all the assignments were actually rather straightforward - really paved the way for the others.
|For the final assignment, a cat predictor is in order.|
All in all, I'd highly recommend anyone who wants to learn deep learning to give the course a shot. For myself, I look forward to enrolling in the other subsequent courses in his Deep Learning Specialization as I find his approach to be down-to-earth and practical. There are of course moments of confusion when he talks about abstract ideas and mathematical derivation - but I always find that the programming assignments would clarity the concepts later (and I often do find myself playing the videos back again while doing the assignments).