If you’re like me, you’re fascinated with AI.
Maybe you’d love to dig deeper and get an image recognition program running in TensorFlow or Theano? Perhaps you’re a kick-ass developer or systems architect and you know computers incredibly well but there’s just one little problem:
You suck at math.
That’s all right! I share your dirty little secret and I have some books and websites that will really help you get rolling fast.
Like many folks, my love of intelligent machines didn’t come from calculus class. It sprang from science fiction. I remember reading “I, Robot” one beautiful summer evening and imagining ways to trip up Asimov’s Three Rules of Robotics. As I watched masterpieces like 2001: A Space Odyssey and Ghost in the Shell, it seemed that any day a gestalt consciousness might surge up from the glittering sea of information and declare itself sentient. When I grew up and started publishing my own sci-fi I imagined AI as a pervasive, ambient force that’s always there, like electricity, touching every aspect of life.
Turns out, we have a few things to figure out before General AI can pop from the primordial digital goo. Mostly nothing ever came of the early AI promises in the 80’s and 90’s. Hype never lived up to reality and AI winter followed AI winter.
All that changed in the last few years with the sudden success of Deep Learning.
Maybe you saw the story in the New York Times that showed how Googletransformed its translation services almost overnight delivering accuracy that rivaled professional translators? In a mere nine months they outpaced what the platform managed in the seven previous years combined.
Perhaps you read about the kid who built a self-driving car in his freaking garage with open source tools? You might have also seen this amazing slide below that shows how DL ripped through the Imagenet image recognition competition in just a few years, dropping the error rate from 25% to something that performs better than humans in 2017.
No matter how you cut it, AI solves big, intractable problems that have eluded us for decades. We know how to drive a car yet we can’t tell machines how to do it. But we can let machines figure it out for themselves. For once a technology coming out of Silicon Valley is not just hype. It’s real. AI is hot for good reasons.
Top AI researchers are earning more than NFL starting quarterbacks and you want to get in on the gold rush. Then again, you probably saw the big scary stories that AI will eat all the jobs and as a traditional software engineer or sys-admin you want to make sure you have the skills to compete in an AI-centric world. No problem. There are tons of tutorials out there. You just have to get started, right?
Then you get to a passage like the one below in Ian Goodfellow’s seminal Deep Learning book and you have no idea what he is talking about at all.
The problem is you have to understand a nested layer of logic, terms, symbols and ideas that are all interrelated but you have no foundation for any of it. So it basically sounds like an alien language. You probably understand all the text leading up to it but the rest is just gibberish. It can turn really disheartening fast.
But have no fear! All is not lost.
I’m here to help you wade through the swamp with some books that will get you crunching numbers like a savant. All right, well maybe you won’t be Daniel Tammet, but you can put aside those painful memories of times-table memorization and get cranking. You CAN learn math as an adult.
I’ve tried to read a number of AI texts and tutorials. I understand the concepts intuitively. They make perfect sense to me. It’s just that when I see a string of symbols my brain glazes over and I have no idea what I’m reading. As a systems architect for much of my life I didn’t need much math. There are IP subnet cheat sheets and as long as I knew how far electricity could reasonably travel along the length of cables I could cut them and crimp them appropriately. For most of my life, I needed to understand how systems get setup, how they work together and how they stay running. Systems administration is very boolean. It either works or it doesn’t. But AI and math works on a different side of the brain.
What I needed were some primers written for adults that treat you like one. I also want books that answer questions about why math works. In school, your reason for learning was probably “shut up and do it or else.” But as an adult you need more. You want to know how things work too.
The very first book you need is Mathematics: A Very Short Introduction by Timothy Gowers.
This book breaks down the “why” of math beautifully. It relates the subject to the real world, gets into the philosophy and then quickly leaves the philosophy behind because you don’t really need to understand whether fractions actually exist in nature or at the Platonic level. Instead, Timothy helped me understand that math is an abstraction layer. It breaks problems down into simpler, cleaner steps. The complexity of working out a model that precisely simulates particle interaction in a box would need to take into account an insane amount of real world physics properties like magnetic interference, gravity, the force of the collision, the particles initial direction and speed as well as much, much more. It turns out life is a complex series of algorithms. But here’s the trick. In practice you don’t need a perfect model. Instead, math looks to break the problem down into its essential components. What are the critical factors? Math gives you a general abstraction of the problem that can work with other problem sets as well. In essence, the numbers themselves don’t matter all that much. They are just variables. Math boils down to variables and rules. You can learn those variables and rules!
While you’re reading the book you will want to have this website’s handy dandy guide to the major math symbols. If you’re like me, you’ll have to see these symbols hundreds of times before they stick. You may find yourself forgetting various symbols the second you turn the page! Not to worry. This cheat sheet is perfect. Take a deep breath, slow down and go through the symbols one by one until you start to understand that string of crazy looking glyphs. Even if you have to look up every symbol a thousand times do it! There are no shortcuts to learning in life. You just have to do the work.
Now there are two other strong contenders for getting your math foundation built. The first is Mathematics for the Nonmathemetician by Morris Kline. The second is the No Bullshit Guide to Math and Physics by Ivan Savov. Each appeals to a different mindset. I prefer the very short intro because it gets down to brass tacks quickly and still manages to stay very relate-able. The “Math for Nonmathematicians” book is much longer and goes into more detail about the history of math and how it works in the world. Some people will really enjoy that approach. The “No Bullshit Guide” is quick and gets right into the equations fast with no answer as to why anything works the way it does. It’s basically a primer on the rules. That will appeal to folks who have less of a philosophical bent.
The next book you will want is Algebra Unplugged by Jim Loats and Kenn Amdahl. Now there are a few typos in the book but I don’t find them all that distracting. I appreciate the book’s approach to gentle learning that quickly accelerates. Some people get worked into a lather over typos but you’ve got bigger challenges to worry about. You’re trying to learn math when your brain isn’t quite as plastic as it once was in your youth! So let the typos go and see the big picture here. This book will really help you get moving in the right direction.
After you’ve got the math down you’ll want to dig into Make Your Own Neural Network by Tariq Rashid. It also has some typos, but there is a great Github repo with updates that fixes most of them. This book is incredibly gentle and intuitive. It seems to anticipate your objections and fears the second you have them! The author is uncanny in how he spots your resistance as it happens. The book walks through only the math you need for neural networks specifically. It then works through Python, assuming you know nothing about programming. Finally it gets you coding your own neural network from scratch. Now while there are certainly tools out there that will work better for professional programs, it helps to try your hand at your own first, so you understand the basics.
Medium itself is awesome for learning about AI. For example, check out this article on a roundup of various classes you can taketo get deeper than you could on your own. Then again, maybe you’re not the class taking type and prefer to work through things yourself? No problem. Instead, check out this eight part series from AI researcher Arthur Juliani. There is also this one called Machine Learning is Fun, another great series right here on your favorite site.
Lastly, you may want to move on to a more advanced book, confident in your ability to understand more challenging concepts. That book is the one I already mentioned earlier, Ian Goodfellow’s Deep Learning book, which you can read online or grab yourself a hard copy on Amazon.
That’s all for now. Feel free to add your own books in the comments. Everyone learns a little differently and there are bound to be other books worth sharing.