Neural Networks and Deep Learning 学习笔记(一)

第一章 Using neural nets to recognize handwritten digits

一、Perceptrons

据说现在已经不常用了,但是为了理解 sigmoid neuron,还是先理解一下它吧

Neural Networks and Deep Learning 学习笔记(一)

Neural Networks and Deep Learning 学习笔记(一)

xi 和 output 只能为0或者1

Neural Networks and Deep Learning 学习笔记(一)

优化版本

Neural Networks and Deep Learning 学习笔记(一)

可以用perceptrons模拟NAND门

二、Sigmoid neurons

Neural Networks and Deep Learning 学习笔记(一)

似曾相识的一张图,只是这里的 xi 不再只能取0或1,而是可以取0~1之间的任何值;输出也不再是0或1,而是σ(w⋅x+b) ,在0~1之间

Neural Networks and Deep Learning 学习笔记(一)

Neural Networks and Deep Learning 学习笔记(一)
上面是这个函数的图,可以看到它是下面这个图(perceptrons的)更平滑的版本

Neural Networks and Deep Learning 学习笔记(一)

三、The architecture of neural networks

名词定义自己看图哦

Neural Networks and Deep Learning 学习笔记(一)

神经网络的几种:
feedforward neural networks:目前来看更常用
recurrent neural networks(周期性神经网络):为什么叫周期性呢?因为其中的神经元只活跃一段时间,在它活跃期间也可能**其他沉睡的神经元,这些神经元在一段时间后也变为活跃状态。

四、A simple network to classify handwritten digits

这是针对该问题设计的网络
图片像素:28*28=784 0~1灰度
n可以尝试不同的取值

Neural Networks and Deep Learning 学习笔记(一)

输出为什么是10个神经元而不是4个呢(2的4次方=16>10也可以表示十个数字呀)
解释:对于10个神经元,第一个神经元判断的事情是输入是不是0,对于输入是不是0,hidden layer能很好地辅助决策(检测数字0的不同部分);对于4个神经元,output layer第一个神经元判断的事情就变成了最重要是哪一bit,hidden layer就不那么容易判断了。

五、Learning with gradient descent

6000训练集,1000测试集

(二次)代价函数、MSE

Neural Networks and Deep Learning 学习笔记(一)

下面的目标就是让代价函数越小越好,梯度下降神器出现,铛铛铛~~~

Neural Networks and Deep Learning 学习笔记(一)

Neural Networks and Deep Learning 学习笔记(一)

为了让代价函数下降,需要ΔC是负数

Neural Networks and Deep Learning 学习笔记(一)

总结起来,就是不断地计算梯度,向相反的方向移动

但是这种方法对于每个输入样例都需要计算梯度,计算量太大,所以引入了随机梯度下降方法来加速学习,即随机选一些样例计算梯度。这些随机选取的样例被称为是mini-batch

Neural Networks and Deep Learning 学习笔记(一)

训练的过程就变成了:每次随机选一个mini-batch训练,下次再随机选另一个mini-batch,直到所有的训练数据都被选了,这叫做一个epoch完成。下一个epoch开始。

六、Implementing our network to classify digits

开始实战啦

注意训练集做了调整,原来60000张训练图片被划分为50000的训练集和10000的验证集

hyper-parameters(需要玄学调的参):the number of epochs of training, the mini-batch size, and the learning rate, η
parameters(需要炼的丹):weights and biases

七、Toward deep learning

deep neural networks:有很多layer的neural networks

这一章结束啦,撒花!