A few years ago, I co-founded the Talking Machines podcast with Katy Gorman and we co-hosted it together for two seasons. After those two seasons, I decided it was time to move on and let someone else host it, but it was a highly rewarding experience. Since then, I’ve contemplated starting a YouTube channel, motivated in part by that outreach experience and also by the amazing people on the platform who I’ve enjoyed watching and learning from. I’ve often felt there was a hole on machine learning topics on YouTube. There are zillions of deep learning “explainer” videos and of course many online lectures, but there’s not a lot that 1) explains the broader technical context of machine learning, and 2) provides insight into the research process as a human endeavor.
Things get in the way, though, and it’s hard to make that first video and feel good about what you’ve made. So despite having some nice equipment and footage in the can, I’ve never posted something.
Then came COVID-19 and I had to take my 100+ person course online in a hurry. As soon as the undergrads got kicked off campus, I polled the class to get an understanding about what time zones they were in and how I could create a good course experience for as many of the students as possible. There were 11 time zones represented, so I realized that doing a live lecture on zoom was not going to work. Instead I would need to pre-record videos. This was the forcing function I needed to finally start making and publishing videos.
I took the plunge and learned how to use manim, the system that Grant Sanderson created for 3Blue1Brown. It’s a kind of crazy blend of Python, LaTeX and various mathematical abstractions. I developed a workflow in which I’d create a sequence of scenes for a topic, stitch them together in Final Cut Pro along with the voiceover. Each of them was a large amount of work, even though the videos are only a few minutes long. The response from the students was positive; they ended up being very dense but the format allowed for good visualizations and they could pause and rewind easily.
The course itself — COS 302 Mathematics for Numerical Computing and Machine Learning — aims to background on linear algebra and probability, along with some basic vector calculus and optimization, to prepare students for taking higher level courses in machine learning, computer vision, graphics, etc. Essentially, the tries to close the gap that exists in which computer science majors tend to not take a lot of continuous mathematics, but several important subareas (such as ML) depend on this kind of math. We covered most of the linear algebra in the first half of the course, before the COVID-19 pandemic started, so there aren’t videos about that.
Here is the first one — explaining why we care about differentiation in machine learning: