
A highly accessible, step-by-step introduction to deep learning, written in an engaging, question-and-answer style. The Little Learner introduces deep learning from the bottom up, inviting students to learn by doing. With the characteristic humor and Socratic approach of classroom favorites The Little Schemer and The Little Typer, this kindred text explains the workings of deep neural networks by constructing them incrementally from first principles using little programs that build on one another. Starting from scratch, the reader is led through a complete implementation of a substantial application: a recognizer for noisy Morse code signals. Example-driven and highly accessible, The Little Learner covers all of the concepts necessary to develop an intuitive understanding of the workings of deep neural networks, including tensors, extended operators, gradient descent algorithms, artificial neurons, dense networks, convolutional networks, residual networks, and automatic differentiation. Conversational style, illustrations, and question-and-answer format make deep learning accessible and fun Incremental approach constructs advanced concepts from first principles Presents key ideas of machine learning using a small, manageable subset of the Scheme language Suitable for anyone with knowledge of high school math and some programming experience
This book is part of the classic "Little" series of books starting with the "Little Schemer" which, despite its name and style, is certainly not a novice beginner book.
The later books: "Seasoned Schemer", "Reasoned Schemer", "The Little Typer" and "The Little Prover" are all very advanced books. They share the same style of illustrations and Socratic method, but you will absolutely need to work through them slowly and careful to get value out of them.
The "Little" books are generally targeted to an audience of computer language nerds and pretty much assume you have a solid understanding of programming, familiarity with scheme and the books come from a time when every serious engineer had basic calc knowledge.
These are classics (and I was really impressed with "The Little Learner") but are very serious and challenging texts, that outside the first book, are aimed at advanced readers (and for those readers are true delights).
The biggest downside of Racket is that you can't build up your environment incrementally the way you can with Common Lisp/Sly. When you change anything in your source you reload REPL state from scratch. After CL it feels incredibly limiting in a Lisp. Incremental buildup is so valuable, if I wanted to do any Lisp work again I'd reach for CL before Racket just for this reason.
BTW, the book is _great_. Quick, easy to get through, very easy to understand, and teaches you everything from soup to nuts. If you're familiar with lisps you can get through the book in two weeks. It's then easy to get into any deep learning tutorial or project you want, or even start implementing some papers. The book manages not to water down the material despite not using any math at all. Although if you know some linear algebra or multivariable calculus you'll appreciate the beauty of the field more.
The appendix on autodiff is a bit rushed, in my opinion. But in all fairness, the number of pages would probably need to be doubled to give a proper exposition of autodiff.
For the curious, Daniel Friedman and Anurag Mendhekar wrote a book called “The Little Learner”: https://www.thelittlelearner.com/
- [The Elements of Statistical Learning](https://link.springer.com/book/10.1007/978-0-387-84858-7)
- [The Little Learner: A Straight Line to Deep Learning](https://mitpress.mit.edu/9780262546379/the-little-learner/)
- [The StatQuest Illustrated Guide To Machine Learning](https://www.amazon.com/dp/B0BLM4TLPY)
# Online Videos / Courses
- [Karpthy's Zero to Hero](https://www.youtube.com/watch?v=VMj-3S1tku0&list=PLAqhIrjkxb...)
- [fast.ai](https://www.fast.ai/)
- [3blue1brown Neural Network Course] (https://www.youtube.com/playlist?list=PLZHQObOWTQDNU6R1_6700...)
- [Andrew Ng's Courses](https://www.deeplearning.ai/)
# Fun Projects
- These will teach you data-wrangling things that unfortunately eat up a lot of time.
What do you want to build? I'd love to spitball ideas here.