1 绪论
1.1 深度学习与机器学习
1.2 深度学习的发展历程
为了提升性能,人们提出了Dropout等过拟合的方法,为了使训练过程顺利收敛,人们又提出了激活函数和预训练方法,这些方法对深度学习的性能提升起到了支撑作用。 ——P5
这是说,神经网络如果没有激活函数等,也是可以用来训练的。(0024.py就没有激活函数,神经元结点的输入就是其输出,顺利完成了线性拟合)
1.3 为什么是深度学习
1.4 什么是深度学习
深度学习的起源包括感知器和玻尔兹曼机。起源于感知器的深度学习中,最基本的结构是把多个感知器组合到一起得到的多层感知器。在多层感知器的基础上加入类似人类视觉皮质的结构而得到的卷积神经网络被广泛应用于图像识别领域。起源于基于图模型的玻尔兹曼机的深度学习中,深度玻尔兹曼机以及深度信念网络是通过把多个受限玻尔兹曼机组合到一起而得到的。
起源于感知器的深度学习是一种有监督学习,根据期望输出训练网络;而起源于受限玻尔兹曼机的深度学习是一种无监督学习,只根据特定的数据训练网络。
——P8
1.5 本书结构
2 神经网络
2.1 神经网络的历史
三个阶段
2.2 M-P模型
M-P模型是首个通过模仿神经元而形成的模型。
已通过电阻得到了物理实现。
2.3 感知器
与M-P模型需要人为确定参数不同,感知器能够通过训练自动确定参数。
- 有监督学习,误差修正。
- 感知器训练只能解决线性可分问题,不能解决线性不可分问题。
无法用一条直线将两个类别区分开的就是线性不可分问题。
2.4 多层感知器 multilayer perception
- 多层感知器 = 前馈网络 = 正向传播网络
多层网络中应该如何训练连接权重呢?人们提出了误差反向传播算法。
2.5 误差反向传播算法 ★
- 误差的反向传播,然后调整各层的连接权重
所以,多层感知器的训练过程就是不断调整连接权重w,以使最小二乘误差函数趋近于0.
(sigmoid函数做激活函数的时候,如果自变量远小于或者远大于0的时候,函数导数趋近于0)此时,由于权重调整值趋近于0,所以无法调整连接权重。这就是误差反向传播算法中的梯度消失导致无法调整连接权重的问题。对于这个问题,需要在训练过程中调整学习率以防止梯度消失。
2.6 误差函数和激活函数
- 误差函数
- 多分类问题:交叉熵代价函数
- 递归问题:最小二乘误差函数
- 激活函数
- sigmoid
- tanh
- ReLU
2.7 似然函数
2.8 随机梯度下降法
误差反向传播算法会先对误差函数求导计算梯度,然后计算连接权重调整值。反复迭代训练,直至获得最优解。根据训练样本的输入方式不同,误差反向传播算法又有不同的种类
- 批量学习 batch learning
- 全部样本
- 抑制带噪音样本所带来的剧烈变动
- 训练用时长
- 在线学习 sequential learning / online learning
- 每输入一个样本就进行一次迭代
- 样本的差异导致变动大
- 如果降低学习率则还可能出现收敛速度缓慢甚至无法收敛的情况
- 小批量梯度下降法 mini-batch learning
- 样本分子集开始迭代,全部子集迭代完成开始调整权重;repeat
- 同时弥补前两种方式的缺点
- 随机梯度下降法 Stocastic Gradient Descent, SGD
- 只是用部分训练样本的方式。
- 每次迭代后样本集的趋势都会发生变化,减少了迭代结果陷入局部最优解的情况。
2.9 学习率
学习率是用来确定权重连接调整程度的系数。
网友评论