Back to index
OtherA full semester, realistically 15 to 20 hours a week if you do the homework·Free to audit, lectures and materials public

CMU 11-785 Introduction to Deep Learning

4.3

One of the hardest freely available deep learning courses, and the homework is the entire reason to take it.

What We Liked

  • Building the framework yourself before using one is the correct order and almost nobody does it
  • Genuinely rigorous on the mathematics rather than gesturing at it
  • Assignments are large, competitive and closer to real work than exercises
  • Full lecture recordings and materials are public
  • Covers the older architectures properly rather than jumping straight to transformers

What Could Be Better

  • The workload is brutal and most self-study learners will not finish
  • Auditing means no grading, no deadlines and no support when you are stuck
  • The recitations are essential and easy to skip by mistake
  • Lecture delivery is functional rather than engaging
  • Materials shift between semesters, so linked resources go stale

Detailed review

There is a specific gap in most people's deep learning education and this course was designed to close it. You can build models for a long time, get good results, publish work, and hold a job, without ever knowing what happens when you call backward. Gradients appear, weights update, and the mechanism is a black box you have learned to operate. That is fine right up until something goes wrong at the level of the mechanism, and then you have no tools at all.

The first assignment here fixes that by making you write the framework. Not use one. Write one. Forward and backward passes for the layers, the chain rule wired up through a computation graph, the optimisers, the loss functions, all implemented in an array library with no automatic differentiation available to you.

It is painful, it takes far longer than you expect, and when you finish it you understand what these systems are doing in a way that no amount of reading achieves. I would rate this course highly for that assignment alone. Everything afterwards benefits from it, because when a gradient vanishes or a loss goes to not a number, you now have a mental model of what is physically happening rather than a list of remedies you found on a forum. The mathematical treatment is serious throughout.

Backpropagation is derived rather than asserted. The optimisation material actually engages with what the different optimisers do to the update and why. The lectures on why deep networks work at all, including the representational arguments, are the kind of material that most practical courses skip entirely because it does not lead directly to a result you can show. The subsequent assignments are large and structured as competitions on a public platform, which does two useful things.

It gives you a real dataset with real difficulty rather than a cleaned teaching example, and it puts a leaderboard next to your result so you can see that other people got substantially better numbers from the same starting point, which is a more effective motivator than a grade. The scope is wider than the fashionable subset. Convolutional networks and the older sequence architectures get proper treatment, including the connectionist temporal classification material for sequence labelling, which is unglamorous and genuinely useful and appears almost nowhere else in public course material. Transformers and attention are covered too, and not at the expense of everything that came before, which matters because a lot of the field's engineering intuition comes from the earlier architectures.

Now the honest warnings. The workload is severe. This is a graduate course at a demanding institution and the assignments are sized for students who are taking it for credit with a support structure around them. Fifteen to twenty hours a week is a realistic estimate if you are doing the homework properly, and most people attempting this alongside a job will start the first assignment and not finish it.

That is not a criticism of the course, and you should go in with an accurate picture. Auditing loses a lot. Enrolled students have deadlines, office hours, teaching assistants and a Kaggle leaderboard full of peers hitting the same walls. Auditing gives you the lectures and the assignment specifications and none of the support, so when you are stuck at two in the morning on a backward pass that produces the wrong shape, you are on your own.

The recitations are not optional and it is easy to treat them that way. A large amount of the practical material, including the implementation guidance for the assignments, lives in the recitation sessions rather than the main lectures. Someone who watches only the lectures will find the homework much harder than intended. Delivery is functional.

This is a lecture course recorded in a lecture theatre, with the pacing and energy that implies. Compare it with the best produced material in this space and it is plainly less engaging. The content is why you are here, and you will need your own motivation to get through the delivery. And materials shift between semesters, so links, versions and the exact assignment specifications change, and searching for help will turn up discussions of a slightly different version of the same homework.

My four point three is for a genuinely rigorous course whose central assignment does something almost no other course attempts, with real breadth and honest mathematics, marked down for a workload that will defeat most people studying alone, for the loss of everything that makes the enrolled experience work, and for delivery that asks you to supply the enthusiasm yourself. Do the first assignment. Even if you get no further, it is the most valuable week of deep learning study available for free.

[ final ]

The verdict.

If you want to actually understand what a deep learning framework is doing, do the first assignment properly. It will teach you more than a year of tutorials.