A step-by-step gentle journey through the mathematics of neural networks, and making your own using the Python computer language.
Neural networks are a key element of deep learning and artificial intelligence, which today is capable of some truly impressive feats. Yet too few really understand how neural networks actually work.
This guide will take you on a fun and unhurried journey, starting from very simple ideas, and gradually building up an understanding of how neural networks work. You won’t need any mathematics beyond secondary school, and an accessible introduction to calculus is also included.
The ambition of this guide is to make neural networks as accessible as possible to as many readers as possible – there are enough texts for advanced readers already!
You’ll learn to code in Python and make your own neural network, teaching it to recognise human handwritten numbers, and performing as well as professionally developed networks.
Part 1 is about ideas. We introduce the mathematical ideas underlying the neural networks, gently with lots of illustrations and examples.
Part 2 is practical. We introduce the popular and easy to learn Python programming language, and gradually builds up a neural network which can learn to recognise human handwritten numbers, easily getting it to perform as well as networks made by professionals.
Part 3 extends these ideas further. We push the performance of our neural network to an industry leading 98% using only simple ideas and code, test the network on your own handwriting, take a privileged peek inside the mysterious mind of a neural network, and even get it all working on a Raspberry Pi.
All the code in this has been tested to work on a Raspberry Pi Zero.
- Who is Tariq Rashid? As I read more and more of this book, finding the answer to this question became paramount. I’ve read a lot of books, both fiction and non-fiction. In fact, I typically read a book a week. But never have I read a text which as so clear, and concise. Such a perfect marriage of simplicity and information about the subject. I actually didn’t want to put the book down! Which is why I had to know about Mr. Rashid. It became clear to me that this man must be among the greatest teachers EVER!
What would you normally expect when you buy a book like this? Lots of math? Plenty of dry paragraphs? Definitions on every page? Theorems and proofs? Well, if you do that in this case, you will be disappointed. Instead, what you find is that you will get exactly what you need to understand the topic, and put it into practice. No more, and no less.
Mr. Rashid is an absolute master of communicating just what the reader needs to reach the point of understanding. And to get there, he uses a very simple, step-by-step approach. One that builds directly on what has gone before. No hiding the ball. No leaps in logic. Just a simple explanation that leaves no room for doubt (he works through simple examples to hammer needed points home). And at the end of the journey – and indeed, at many points along the way – where are you? I’ll tell you where: you will be saying to yourself “I understand this! I got it! I am so happy I bought this book!”
I got an inkling of what was to come when I read the appendices (e.g., about the basics of calculus). I figured the appendices in a book often tell you something about the author – what they decided to include, but not as part of the main text. When I finished them, I wondered why I never had a textbook, or even a teacher, like that? Why couldn’t everyone explain things in this manner? I know when I give a lecture I try to make things interesting and easy to understand, but I suspect I’ve never reached this level, since I’ve never seen anything like it myself. And I’ve had almost 20 years in school!
In the end, I have no doubt that I can use what I’ve learned. Indeed, I’ve got some nifty ideas about some ways to try this out, and am looking forward to doing so. So if you’re thinking that the subject might be too difficult for you, I’m here to tell you that if you’ve got high school math, and even if you don’t have a programming background, you can still do this!
The bottom line is that if you want to learn about the basics of neural networks, THIS IS THE BOOK TO BUY! Don’t even think about anything else. GET THIS BOOK!
Oh yes, so who is Mr. Rashid? He’s a man that is inspired to explain things to others. To really teach them, so that they can work to carry knowledge forward. But he is also a man that is too modest to publish anything about himself in his own books. You can read a little bit about him on amazon.com. That’s what I did. He is truly an inspiration to me. Both in building my confidence in my own ability to learn this subject, and in restoring my confidence in others – proving to me that there are still plenty of people that truly want to do something good in this world.
And Mr. Rashid, if you read this, I want you to know that you have not failed. No, you have definitely succeeded, in so many ways. Thank you for taking the time to do such great work with this book. I have never seen anything like it, and I hope you will be inspired to continue in your mission. Technical literature is not my favorite genre, not by a long shot, but in your case, I would be proud to stand first in line to buy whatever you care to write. It’s that good!
- Very well written book with lots of explanatory images, charts, graphs, and a complete source code of a working neural network built step by step through the book. It takes the reader through building a real, working neural network without any required prior knowledge of complex math or any deep learning theory.
The theory and the inner workings of the NN is explained first in a very approachable way, then in the next part the actual python program is being created, again in a very approachable and well explained way.
My only regret is that it stops short from explaining some more advanced concepts like convolution layers, pooling layers, etc, that are found in modern neural networks for computer vision. Don’t be put off by that though, it still explains A LOT of interesting and important concepts.
For someone like me who didn’t have a clue how NN work only a month ago this book was the perfect eye opener that gave me the foundations for future learning.
Thanks Tariq, well done with the book!