Neural Networks and Deep Learning
Michael Nielsen
2016/10/10
Neural networks and deep learning
Neural Networks and Deep Learning
欧拉的博客:www.liuhao.me
Neural Networks and Deep Learning is a free online book. The
book will teach you about:
Neural networks, a beautiful biologically-inspired
programming paradigm which enables a computer to learn
from observational data
Deep learning, a powerful set of techniques for learning in
neural networks
Neural networks and deep learning currently provide the best
solutions to many problems in image recognition, speech
recognition, and natural language processing. This book will teach
you many of the core concepts behind neural networks and deep
learning.
For more details about the approach taken in the book, see here. Or
you can jump directly to Chapter 1 and get started.
Neural Networks and Deep earning
hat this book is about
On the eercises and problems
sing neural nets to recognie
handwritten digits
ow the backpropagation
algorithm works
mproving the way neural
networks learn
visual proof that neural nets can
compute any function
hy are deep neural networks
hard to train
Deep learning
ppendi: s there a siple
algorithm for intelligence
cknowledgements
Frequently sked uestions
f you benefit from the book, please
make a small donation. suggest ,
but you can choose the amount.
Sponsors
Thanks to all the supporters who
made the book possible, with
especial thanks to avel Dudrenov.
Thanks also to all the contributors to
the ugfinder all of Fame.
Resources
ook F
Code repository
ichael Nielsens project
announcement mailing list
Deep earning, draft book in
preparation, by oshua engio, an
oodfellow, and aron Courville
http://neuralnetworksanddeeplearning.com/index.html
1/2
2016/10/10
Neural networks and deep learning
欧拉的博客:www.liuhao.me
y ichael Nielsen an 1
ncecorpesecesoosceeseneureorsneepernn
eernonress
supern
sorscenseunerreeoonsruononoercnporecensesens
ourereeocopsrenuonsoounooseoureneresencoercusepese
conce
http://neuralnetworksanddeeplearning.com/index.html
2/2
2016/10/10
Neural networks and deep learning
at tis ook is aout
欧拉的博客:www.liuhao.me
Neural networks are one of the most beautiful programming
paradigms ever invented. n the conventional approach to
programming, we tell the computer what to do, breaking big
problems up into many small, precisely defined tasks that the
computer can easily perform. y contrast, in a neural network we
dont tell the computer how to solve our problem. nstead, it learns
from observational data, figuring out its own solution to the
problem at hand.
utomatically learning from data sounds promising. owever, until
we didnt know how to train neural networks to surpass more
traditional approaches, ecept for a few specialied problems. hat
changed in was the discovery of techniques for learning in so-
called deep neural networks. These techniques are now known as
deep learning. Theyve been developed further, and today deep
neural networks and deep learning achieve outstanding
performance on many important problems in computer vision,
speech recognition, and natural language processing. Theyre being
deployed on a large scale by companies such as oogle, icrosoft,
and Facebook.
The purpose of this book is to help you master the core concepts of
neural networks, including modern techniques for deep learning.
fter working through the book you will have written code that uses
neural networks and deep learning to solve comple pattern
recognition problems. nd you will have a foundation to use neural
networks and deep learning to attack problems of your own
devising.
prinipleoriented approa
One conviction underlying the book is that its better to obtain a
solid understanding of the core principles of neural networks and
deep learning, rather than a hay understanding of a long laundry
list of ideas. f youve understood the core ideas well, you can
rapidly understand other new material. n programming language
terms, think of it as mastering the core synta, libraries and data
structures of a new language. ou may still only know a tiny
Neural Networks and Deep earning
hat this book is about
On the eercises and problems
sing neural nets to recognie
handwritten digits
ow the backpropagation
algorithm works
mproving the way neural
networks learn
visual proof that neural nets can
compute any function
hy are deep neural networks
hard to train
Deep learning
ppendi: s there a siple
algorithm for intelligence
cknowledgements
Frequently sked uestions
f you benefit from the book, please
make a small donation. suggest ,
but you can choose the amount.
Sponsors
Thanks to all the supporters who
made the book possible, with
especial thanks to avel Dudrenov.
Thanks also to all the contributors to
the ugfinder all of Fame.
Resources
ook F
Code repository
ichael Nielsens project
announcement mailing list
Deep earning, draft book in
preparation, by oshua engio, an
oodfellow, and aron Courville
http://neuralnetworksanddeeplearning.com/aout.html
1/
2016/10/10
Neural networks and deep learning
fraction of the total language - many languages have enormous
standard libraries - but new libraries and data structures can be
understood quickly and easily.
欧拉的博客:www.liuhao.me
y ichael Nielsen an 1
This means the book is emphatically not a tutorial in how to use
some particular neural network library. f you mostly want to learn
your way around a library, dont read this book Find the library you
wish to learn, and work through the tutorials and documentation.
ut be warned. hile this has an immediate problem-solving
payoff, if you want to understand whats really going on in neural
networks, if you want insights that will still be relevant years from
now, then its not enough just to learn some hot library. ou need to
understand the durable, lasting insights underlying how neural
networks work. Technologies come and technologies go, but insight
is forever.
andson approa
ell learn the core principles behind neural networks and deep
learning by attacking a concrete problem: the problem of teaching a
computer to recognie handwritten digits. This problem is
etremely difficult to solve using the conventional approach to
programming. nd yet, as well see, it can be solved pretty well
using a simple neural network, with just a few tens of lines of code,
and no special libraries. hats more, well improve the program
through many iterations, gradually incorporating more and more of
the core ideas about neural networks and deep learning.
This hands-on approach means that youll need some programming
eperience to read the book. ut you dont need to be a professional
programmer. ve written the code in ython version ., which,
even if you dont program in ython, should be easy to understand
with just a little effort. Through the course of the book we will
develop a little neural network library, which you can use to
eperiment and to build understanding. ll the code is available for
download here. Once youve finished the book, or as you read it, you
can easily pick up one of the more feature-complete neural network
libraries intended for use in production.
On a related note, the mathematical requirements to read the book
are modest. There is some mathematics in most chapters, but its
http://neuralnetworksanddeeplearning.com/aout.html
2/
2016/10/10
Neural networks and deep learning
欧拉的博客:www.liuhao.me
usually just elementary algebra and plots of functions, which
epect most readers will be okay with. occasionally use more
advanced mathematics, but have structured the material so you can
follow even if some mathematical details elude you. The one
chapter which uses heavier mathematics etensively is Chapter ,
which requires a little multivariable calculus and linear algebra. f
those arent familiar, begin Chapter with a discussion of how to
navigate the mathematics. f youre finding it really heavy going,
you can simply skip to the summary of the chapters main results.
n any case, theres no need to worry about this at the outset.
ts rare for a book to aim to be both principle-oriented and hands-
on. ut believe youll learn best if we build out the fundamental
ideas of neural networks. ell develop living code, not just abstract
theory, code which you can eplore and etend. This way youll
understand the fundamentals, both in theory and practice, and be
well set to add further to your knowledge.
ncecorpesecesoosceeseneureorsneepernn
eernonress
supern
sorscenseunerreeoonsruononoercnporecensesens
ourereeocopsrenuonsoounooseoureneresencoercusepese
conce
http://neuralnetworksanddeeplearning.com/aout.html
/
2016/10/10
Neural networks and deep learning
n te eerises and proles
欧拉的博客:www.liuhao.me
ts not uncommon for technical books to include an admonition
from the author that readers must do the eercises and problems.
always feel a little peculiar when read such warnings. ill
something bad happen to me if dont do the eercises and
problems Of course not. ll gain some time, but at the epense of
depth of understanding. ometimes thats worth it. ometimes its
not.
o whats worth doing in this book y advice is that you really
should attempt most of the eercises, and you should aim not to do
most of the problems.
ou should do most of the eercises because theyre basic checks
that youve understood the material. f you cant solve an eercise
relatively easily, youve probably missed something fundamental.
Of course, if you do get stuck on an occasional eercise, just move
on - chances are its just a small misunderstanding on your part, or
maybe ve worded something poorly. ut if most eercises are a
struggle, then you probably need to reread some earlier material.
The problems are another matter. Theyre more difficult than the
eercises, and youll likely struggle to solve some problems. Thats
annoying, but, of course, patience in the face of such frustration is
the only way to truly understand and internalie a subject.
ith that said, dont recommend working through all the
problems. hats even better is to find your own project. aybe
you want to use neural nets to classify your music collection. Or to
predict stock prices. Or whatever. ut ind a proet ou are
aout. Then you can ignore the problems in the book, or use them
simply as inspiration for work on your own project. truggling with
a project you care about will teach you far more than working
through any number of set problems. motional commitment is a
key to achieving mastery.
Of course, you may not have such a project in mind, at least up
front. Thats fine. ork through those problems you feel motivated
to work on. nd use the material in the book to help you search for
ideas for creative personal projects.
Neural Networks and Deep earning
hat this book is about
On the eercises and problems
sing neural nets to recognie
handwritten digits
ow the backpropagation
algorithm works
mproving the way neural
networks learn
visual proof that neural nets can
compute any function
hy are deep neural networks
hard to train
Deep learning
ppendi: s there a siple
algorithm for intelligence
cknowledgements
Frequently sked uestions
f you benefit from the book, please
make a small donation. suggest ,
but you can choose the amount.
Sponsors
Thanks to all the supporters who
made the book possible, with
especial thanks to avel Dudrenov.
Thanks also to all the contributors to
the ugfinder all of Fame.
Resources
ook F
Code repository
ichael Nielsens project
announcement mailing list
Deep earning, draft book in
preparation, by oshua engio, an
oodfellow, and aron Courville
http://neuralnetworksanddeeplearning.com/exercisesandprolems.html
1/2
2016/10/10
Neural networks and deep learning
欧拉的博客:www.liuhao.me
y ichael Nielsen an 1
ncecorpesecesoosceeseneureorsneepernn
eernonress
supern
sorscenseunerreeoonsruononoercnporecensesens
ourereeocopsrenuonsoounooseoureneresencoercusepese
conce
http://neuralnetworksanddeeplearning.com/exercisesandprolems.html
2/2