neural network and deep learning筆記(1)
neural network and deep learning 這本書看了陸陸續續看了好幾遍了,但每次都會有不一樣的收獲。
DL領域的paper日新月異。每天都會有非常多新的idea出來,我想。深入閱讀經典書籍和paper,一定能夠從中發現remian open的問題。從而有不一樣的視角。
PS:blog主要摘取書中重要內容簡述。
摘要部分
- 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.
CHAPTER 1 Using neural nets to recognize handwritten digits
the neural network uses the examples to automatically infer rules for recognizing handwritten digits.
#
The exact form of active function isn’t so important - what really matters is the shape of the function when plotted.
#
4.The architecture of neural networks
The design of the input and output layers of a neural network is often straightforward, there can be quite an art to the design of the hidden layers. But researchers have developed many design heuristics for the hidden layers, which help people get the behaviour they want out of their nets.
Learning with gradient descent
- The aim of our training algorithm will be to minimize the cost C as a function of the weights and biases. We’ll do that using an algorithm known as gradient descent.
- Why introduce the quadratic cost? It’s a smooth function of the weights and biases in the network and it turns out to be easy to figure out how to make small changes in the weights and biases so as to get an improvement in the cost.
- MSE cost function isn’t the only cost function used in neural network.
- Mini batch: SGD randomly picking out a small number m of randomly chosen training inputs;epoch : randomly choose mini-batch and training until we’ve exhausted the training inputs.
Thinking about hyper-parameter choosing
”If we were coming to this problem for the first time then there wouldn’t be much in the output to guide us on what to do. We might worry not only about the learning rate, but about every other aspect of our neural network. We might wonder if we’ve initialized the weights and biases in a way that makes it hard for the network to learn? Or maybe we don’t have enough training data to get meaningful learning? Perhaps we haven’t run for enough epochs? Or maybe it’s impossible for a neural network with this architecture to learn to recognize handwritten digits?Maybe the learning rate is too low? Or, maybe, the learning rate is too high?
When you’re coming to a problem for the first time, you’re not always sure.
The lesson to take away from this is that debugging a neural network is not trivial, and, just as for ordinary programming, there is an art to it. You need to learn that art of debugging in order to get good results from neural networks. More generally, we need to develop heuristics for choosing good hyper-parameters and a good architecture.”- Inspiration from Face detection:
“The end result is a network which breaks down a very complicated question - does this image show a face or not - into very simple questions answerable at the level of single pixels. It does this through a series of many layers, with early layers answering very simple and specific questions about the input image, and later layers building up a hierarchy of ever more complex and abstract concepts. Networks with this kind of many-layer structure - two or more hidden layers - are called deep neural networks.”
CHAPTER 2 How the backpropagation algorithm works
Backpropagation(BP): a fast algorithm for computing the gradient of the cost function.
For backpropagation to work we need to make two main assumptions about the form of the cost function.
- Since what BP let us do is compute the partial derivatives for a single training example,so we need that the cost function can be written as an average over all individual example.
- It can be written as a function of the outputs from the neural network.Since y is not something which the neural network learns.
The four fundamental equations behind backpropagation
What’s clever about BP is that it enables us to simultaneously compute all the partial derivatives using just one forward pass through the network, followed by one backward pass through the network.
What indeed the BP do and how someone could ever have discovered BP?
A small perturbations will cause a change in the activation,then next and so on all the way through to causing a change in the final layer,and then the cost function.
A clever way of keeping track of small perturbations to the weights (and biases) as they propagate through the network, reach the output, and then affect the cost.-
(未完待續……)
neural network and deep learning筆記(1)