CreateSpace, 2016. — 222 p.
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 recognize 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 recognize 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.
The Search for Intelligent Machines
A Nature Inspired New Golden Age
Who is this book for?What will we do?
How will we do it?
How They WorkEasy for Me, Hard for You
A Simple Predicting Machine
Classifying is Not Very Different from Predicting
Training A Simple Classifier
Sometimes One Classifier
Is Not Enough
Neurons, Nature’s Computing Machines
Following Signals Through A Neural Network
Matrix Multiplication is Useful .. Honest!
A Three Layer Example with Matrix Multiplication
Learning Weights From More Than One Node
Backpropagating Errors From More Output Nodes
Backpropagating Errors To More Layers
Backpropagating Errors with Matrix Multiplication
How Do We Actually Update Weights?
Weight Update Worked Example Preparing
DIY with PythonPython
Interactive Python = IPython
A Very Gentle Start with Python
Neural Network with Python
The MNIST Dataset of Handwritten Numbers
Even More FunYour Own Handwriting
Inside the Mind of a Neural Network
Creating New Training Data: Rotations
EpilogueA Gentle Introduction to CalculusA Flat Line
A Sloped Straight Line
A Curved Line
Calculus By Hand
Calculus Not By Hand
Calculus without Plotting Graphs
Patterns
Functions of Functions
You can do Calculus!
Do It with a Raspberry PiInstalling IPython
Making Sure Things Work
Training And Testing A Neural Network
Raspberry Pi Success!