资料来源:伯禹学习平台。
批量归一化 BatchNormalization和残差网络:
批量归一化的作用:
1、 对输入标准化,使各个特征分布相近,更加容易训练出有效模型
2、 批量归一化:深层模型接近输出层数据变化剧烈,BN使各层输出更稳定
批量归一化应用位置:应用在全连接 或 卷积层之后,激活函数之前
BN在训练时:
全连接层是对mxd个值做批量归一化;卷积层是对mxpxq个值做批量归一化,输出的每个通道分别做批量归一化
BN在预测时:用移动平均的方法估算整个数据集样本的均值和方差
移动平均:moving_mean | var = momentum * moving_mean | var + (1-momentum) * mean | var
ResNet
输入可以通过跨层通道更快前向传播
易于捕捉恒等映射的细微波动
DenseNet
和残差网络结构类似,差别在于不是输出和输入求和,而是输出和输入通道数进行concat
包括稠密块和过渡层两部分,稠密块最终的输出维度是in_channels + num_conv*out_channels,过渡层则是通过1x1卷积层减少通道数避免通道数过高
凸优化:
优化方法目标和深度学习的目标不一致:
优化方法:训练集损失函数值
深度学习:测试集损失函数值
优化在深度学习中的挑战:局部最小值、鞍点(一二阶导都为0)
海森矩阵:多变量函数所有二次偏导数组成的矩阵
鞍点以及局部最值与海森矩阵的关系:在一些偏导数为零的点,
如果海森矩阵特征值都为正数,就是局部最小值点
如果海森矩阵特征值都为负数,就是局部最大值点
如果海森矩阵特征值有正有负就是鞍点(函数图像从一个方向看是局部最大值,从另一个方向看是局部最小值)
梯度消失:函数梯度很平稳很小,优化过程非常慢
凸性:
凸集合中任意两点连线上所有点都在集合内
凸集合的交集还是凸集合
凸集合的并集不一定是凸集合
凸函数定义:
凸函数,非凸函数,凸函数
Jensen不等式:
函数值的期望>=期望的函数值
凸函数性质:
1、 无局部最小值
2、 凸集:Sb={x|x∈X and f(x) ≤ b}
3、 凸函数和二阶导数:f’’(x) ≥ 0 <=> f(x)是凸函数
有限制条件的函数优化:
1、 拉格朗日乘子法
2、 加入惩罚项