August 01, 2018

deeplearning

I just finished courses 1-4 in the 5 course Deep Learning Specialization on Coursera. For those considering enrolling, here are some of my thoughts.

Overall Review

The specialization will give you some intuition about how deep learning works, however most of this comes in the first two courses. The lecture videos are well done and Andrew Ng is a clear lecturer. The programming assignments were disappointing.

Where I Was Coming From

I will be beginning my MSc Statistics at the University of Toronto this fall, and will be taking a number of machine learning courses. I enrolled in this specialization to get a small preview of what I will see in these courses, as well as to improve my programming skills. This past year I took courses in linear algebra and multivariable calculus so none of the math in the courses was new to me.

Cost & Time

The course works on a subscription basis where you pay $49 USD a month (~$65 CAD). On average each course in the specialization takes fifteen hours to complete.

Positives

  • The course is very approachable and the lecture videos are easy to follow along with.
  • The Heroes of Deep Learning videos (interviews with famous names in the machine learning community) are terrific. Each interview subject has a unique perspective and gives their advice for anyone interested in breaking into the field.
  • The course has been quite popular, and as a result the forums have lots of archived advice/tips if you get stuck on an assignment.
  • The assignments are completed in Jupyter Notebooks hosted by Coursera. Given this is a fairly popular programming environment, it was great to get some experience with it.

Negatives

  • My biggest issue with this course was with the programming assignments. Obviously Andrew Ng wanted to make the course accessible to a wide audience, so I was not expecting the assignments to be overly difficult. However, the assignments tended to be either incredibly easy (aided by some hints which at times provided nearly all of the code you needed to input), or overly structured (instead of being tasked with a problem to solve, you are tasked with filling in snippets of code in a nearly solved problem). I had previously taken the course An Introduction to Interactive Programming in Python which had a much better assignment format. In that course you were given a problem to solve, a couple of hints, and then you coded up a solution from scratch.
  • The course had a very heavy focus on computer vision. It would have been nice if it had devoted more time to other areas where deep learning is being applied.
  • My personal learning style was to paste the lecture slides into OneNote and take notes on top of them. However for several videos the lecture slides were missing (i.e. Ng would lecture using a set of slides but you could not download them). For an online course that costs money this seemed inexcusable.

Final Thoughts

If I were to do it again I think I would have just done the first two courses, and instead of courses 3 and 4, devoted my time to building things from scratch or trying a Kaggle competition with what I had learnt. For those looking to get a better understanding of what deep learning is at a high level, I would recommend checking out the first two courses in this specialization.