##一、 批量归一化和残差网络
1、批量归一化
批量归一化是指:利用小批量上的均值和标准差,不断调整神经网络中间输出,从而使整个神经网络在各层的中间输出的数值更稳定。
(1)对全连接层批量归一化
(2)对卷积层做批量归一化
位置:卷积计算之后、应⽤激活函数之前。
如果卷积计算输出多个通道,我们需要对这些通道的输出分别做批量归一化,且每个通道都拥有独立的拉伸和偏移参数。 计算:对单通道,batchsize=m,卷积计算输出=pxq 对该通道中m×p×q个元素同时做批量归一化,使用相同的均值和方差。
(3)预测时的批量归一化
训练:以batch为单位,对每个batch计算均值和方差。
预测:用移动平均估算整个训练数据集的样本均值和方差。
2、残差网络
深度学习的问题:深度CNN网络达到一定深度后再一味地增加层数并不能带来进一步地分类性能提高,反而会招致网络收敛变得更慢,准确率也变得更差。
(1)残差块
恒等映射:
左边:f(x)=x
右边:f(x)-x=0 (易于捕捉恒等映射的细微波动)
(2)稠密连接网络
主要构建模块:稠密块、过渡层
二、凸优化
1、优化与估计
(1)优化方法目标:训练集损失函数值
(2)深度学习目标:测试集损失函数值(泛化性)
2、优化在深度学习中的挑战
(1)局部最小值
(2)鞍点
(3)梯度消失
3、凸函数
(1)无局部极小值点
(2)与凸集的关系
(3)凸函数与二阶导数
4、有限制条件的优化问题解决方法
拉格朗日乘子法、添加惩罚项、投影法等。
三、梯度下降
1、一维梯度下降
2、多维梯度下降
3、自适应方法
牛顿法
4、随机梯度下降
可解决梯度更新过慢,不过震荡大
5、小批量随机梯度下降
结合了批量梯度下降和随机梯度下降的优势,可以更好地更快地找到函数最小值点。