Udacity Deep Learning Nanodegree Review

I have just finished the Udacity’s Deep Learning Nanodegree Foundation and I think I am in a good place to review this course.

Overview

The target of the course is to familiarize the participant with usage and contemporary technology used in Deep Learning. So, the target is not to make you Machine Learning wizard - it’s more to give you tools to operate within domain of Neural Nets The course is separated into four modules:

  • (“vanilla”) Neural Networks
  • Convolutional Neural Networks
  • Recurrent Neural Networks
  • Generative Adversarial Networks Each focusing on a different subdomain of Deep Learning.

Pros

In my opinion the structure, motive, breadth, and depth of material covered are great. I enjoyed (almost) the whole course and I definitely learned a lot. The learning curve is quite steep, but the topic itself is no joke. I think guys at the Udacity did a great job making the curve on the one hand steep enough so it is constantly interesting and challenging, but on the other hand, it is not too demanding, so it won’t scare off participants.

What I really liked was all the extra material that is available for each lesson. Ranging from blog posts, through videos to academic papers one can really dive into given concept if he wants to, or try to understand the concept from a different perspective - which may be really helpful if you get stuck.

And if you get stuck little too much, then you can always visit Slack channel or ask questions on the forum. The community is great, helpful, motivating, trying to find solutions, having a ton of different perspectives. This kind of “study group” is worth a lot by itself.

Each module is completed by positively creating Project concerning given topic (except for RNNs, which you have two projects, which is even better!). Those projects are well thought, rich in unit tests and all the help you may need. Every project is being reviewed by Udacity crew member with really robust feedback - even if you pass there is usually something that you may want to improve.

What I really loved was the fact that before using any concept out of the box using Tensorflow, we had to implement it almsot manually in Python. That really was great.

Cons

But of course, not everything is perfect. In my opinion partnering with Siraj was not so great ideas. His live sessions were not very informative and finally, Udacity resigned from having them. After that, there were only videos from his channel. It is personal opinion, but his way of teaching is a little bit too flashy. It is a little bit of shame that that time and effort did not go into something else.

The second thing that I believe could be improved is project difficulty. First two are quite hard, but later on, they were a little bit too easy.

Every final project was rich in unit tests. I missed those in nonproject workbooks.

A lot of jupyter notebooks were used, almost whole work was done within those. I think more work with real python project would be beneficial.

Final notes

I definitely recommend this course to anyone who wants to understand and work with neural nets. Of course, it won’t make you a Ph.D. out of the blue… but it may set you to strive for that goal. The course is constantly being improved - which may be annoying, because sometimes when I have pulled new changes from GitHub repo I had some conflicts to resolve - especially in older files, which I was already done with.

My repo with Udacity lessons is available here.


Do you want more?

If you like this content, subscribe to receive updates when more goodness like this is published. No spam, ever.


Leave a Comment