Practical Deep Learning for Coders
course.fast.ai
course.fast.ai
(Here's that's master's thesis if you're interested :) Warning, big PDF ahead: https://www.cs.mcgill.ca/~jszymb/thesis/260528685_Szymborski...)
Do you have a recommended 'schedule'?
I have tried twice, but have not finished.
Edit: also, find datasets online that fit in your interests. There's no better motivation than to solve problems in a domain that you're already familiar with. I grew up on a farm and built a classifier to detect diseases as part of my fast.ai course-work: https://t.me/shambadoctorbot
So is there any point in treating it as such? Just another skill we should all learn superficially, so that we have a lot of very shallow knowledge?
This is heavily dependent on your background. Deep learning is essentially the simplest thing that could possibly work (parameterized nonlinear function + SGD).
If you have experience with calculus roughly equivalent to an undergrad Calc 3, which is required for most fields of engineering, the core ideas of deep learning are very accessible to you without much effort.
After that, getting it to work is mostly an empirical and experimental endeavor.
(This refers to deep learning as used in practice, not some of the current research topics).
Those use cases are in constant flux and research. (Though teams like DeepMind are making some serious inroads.)
Other problem is that DL is still highly sample inefficient - it needs many more examples than you'd want or sometimes even have to bootstrap.
Medium thought-pieces/YouTubers conflate both perspectives, which has become a problem.
It's also my understanding that the ML stack is making it more and more accessible to actually apply these algorithms. Sure, after you take this class you probably won't go out and invent new algorithmic breakthroughs, but many people in this class do participate in in Kaggle competitions solving real world problems (some of the assignments are submissions) and do very well, even winning occasionally.
The point of the class is to generate interest and to get people useful quickly (make neural nets uncool again), it'd be much harder to get the field to blossom if you required people to start with years of stats/math beforehand.
(Of course there's always value in knowing the details -- it helps to strive towards lowering the barrier to entry into complex systems.)
For many people, this is a good primer into basic concepts and how deep learning works from a high level. If they are still interested then they can work towards mastery. But you have to start somewhere.
The site could use a reorganization, though. Jeremy and Rachel have created a number of courses, but you have to hunt through their YouTube and fast.ai forum comments to find all of them. So much good content should not be buried!
[1] https://twitter.com/jeremyphoward/status/996445183456690176
> We assume that everyone taking this course has at least one year of coding experience.
so, no math background required? Would really appreciate an input from someone who has done the course
I really recommend 3Blue1Brown youtube series on linear algebra if you are struggling with some of the math concepts. They have great explanations and great visualizations.
[0] https://github.com/fastai/numerical-linear-algebra/blob/mast...
It is free, you have nothing to lose. If the topic interests you than I am sure you will figure it out. You can always google a math concept that confuses you. There isn't a test and no one will even know.
Just as a warning for anyone price-sensitive interested in taking this course, its cost is non-zero due to cloud costs. It is free to audit though! I'm not trying to dissuade anyone; it is just good to know going into it.
That sounds more like bottom up to me (practice before theory).
Theoretical foundations --> practical problems = Bottom Up,
practice without theory --> building up the theoretical legs to stand on == Top Down
Additionally, a lot of public ML products don't use, and don't need to use, deep learning (e.g. NLP applications).