本专栏用于记录关于深度学习的笔记,不光方便自己复习与查阅,同时也希望能给您解决一些关于深度学习的相关问题,并提供一些微不足道的人工神经网络模型设计思路。 专栏地址:「深度学习一遍过」必修篇
目录
Boosting
Bagging
局部连接
权值共享
正则化目的
正则化思路
正则化方法
正则化
)
分类评测指标
曲线 用于评价一个分类器在不同阈值下的表现 横坐标:
纵坐标:
它对正负样本不均衡问题不敏感,所以对于不均衡样本问题常选用
曲线作为评价准则
曲线越靠近左上角,表示该分类器性能越好
指标 若想通过两条
曲线来定量评估两个分类器的性能,就可以使用
这个指标。
是
曲线下的面积(值不大于
)
检索与回归评测指标
(交并比)
其值等于
曲线下的面积 假设有
个
,其中有
个
值等于这
个精确率值求平均
假设有
个
,其中有
个
值等于
个类别的
值求平均
图像生成指标
同时评估了生成图像的质量和多样性 仅评估图像生成模型,没有评估生成图像与原始图像之间的相似度,不能保证生成的使我们想要的图像
分数对其进行了改进,增加了
散度来度量真实分布于生成分布之间的差异
最大平均差异
要满足的条件
神经网络要求
常见问题
函数等进入梯度饱和区
参数初始化方法
:中间层节点值都为零,不利于优化。训练逻辑回归等模型才用
的均匀分布中生成 保持神经网络每层权重方差与层数无关,会更加有利于优化
初始化:基于
函数提出的,对
并不友好(虽常搭配使用) 网络越深,各层输入的方差就越小,网络越难训练
初始化:基于
函数提出的
归一化目的
Batch Normalization(BN)
求方差
归一化
尺度缩放和偏移操作
(这些数据是准备进入激活函数的数据) 计算过程中可以看到: 1、求数据均值 2、求数据方差 3、数据进行标准化 4、训练参数
、
5、输出
通过
与
的线性变换得到新的值 在正向传播的时候,通过可学习的γ与β参数求出新的分布值 在反向传播的时候,通过链式求导方式,求出γ与β以及相关权值
,方差为
的分布
,
很小时计算的均值和方差不稳定 补充:
使得
有长有短,因此也不适用此归一化方法
批量梯度下降
随机梯度下降(SGD)
有时很慢的方法:引入动量项(对在梯度点处具有相同方向的维度,增大其动量项;对在梯度点处改变方向的维度,减小其动量项)
AdaGrad
Adadelta
的问题,本质是
算法的扩展,同样是对学习率的自适应约束,不依赖全局学习率,训练初、中期效果理想,训练后期反复在局部最小值附近抖动。
算法会累加之前所有的梯度平方,
算法只累加固定大小的项,并且仅存储这些项近似计算对应的平均值
RMSProp
的一个特例,依然依赖全局学习率,效果位于
与
之间,适合处理非平稳目标,适用于
的优化
Adam
算法,利用梯度的一阶矩估计和二阶矩估计动态调整没和参数的学习率,迭代到后期时,学习率不稳定,可能过大或过小
牛顿法
拟牛顿法
Sigmoid 函数 (注:
:激活函数
)
,会带来梯度消失问题;随着网络层数增加,由于链式法则,连乘的
函数导数也越来越小,导致梯度难以回传,降低网络收敛速度,甚至不能收敛
为中心,总是大于
,而权重参数的梯度与输入有关,这就会造成在反向传播时,一个样本的某个权重的梯度总是同一个符号,这不利于权重的更新
Tanh函数
输出值并不以
为中心的问题,但梯度消失问题和幂运算问题仍然存在
线性ReLU函数 (注:
:激活函数
)
函数表示则同时有一半神经元被激活,这不符合生物学只有
被激活的要求,因此需要新的具有稀疏性的激活函数来学习相对稀疏的特征
在使用时只需要判断输入是否大于
,所以其计算速度非常快,收敛速度远快于
和
函数
问题,即某些神经元可能永远不会参与计算,导致其相应的参数无法被更新
Leaky ReLU函数
问题,从理论上来讲,
具有
的所有优点,并且不会有
问题,但实际操作并没有完全证明
函数总是好于
函数
Maxout函数
函数的所有优点,线性、不饱和性,同时没有
函数的缺点。其拟合能力非常强,可以拟合任意的凸函数,实验结果表明,
函数与
组合使用可以发挥比较好的效果
Softmax函数
函数的泛化形式,该函数一般用于多分类神经网络输出,待补充……
0-1损失
,否则为
损失无法对
进行求导,这使其在依赖反向传播的深度学习模型中无法被优化
交叉熵损失
,否则,损失大于
Softmax损失
的表现形式为
),常应用于分类分割任务
KL散度
散度并不是一个对称的损失,常被用于生成式模型
Sigmoid Cross Entropy损失
损失和
损失
L1损失
损失最大的问题是梯度在零点不平滑
L2损失
损失也常常作为正则项,当预测值与目标值相差很大时,梯度容易爆炸,因为梯度中包含了预测值和目标值的差异项,
损失最大的问题是梯度容易爆炸
Smooth L1损失
梯度不平滑,
梯度爆炸问题
比较小时,上式等价于
,保持平滑
比较大时,上式等价于
,可以限制数值的大小
到
之间呢?(分割归一化到
) 答:因为神经元的传输函数在
之间区别比较大,如果大于
以后,传输函数值变化不大(导数或斜率就比较小),不利于反向传播算法的执行。反向传播算法需要用到各个神经元传输函数的梯度信息,当神经元的输入太大时(大于
比如),相应的该点自变量梯度值就过小,就无法顺利实现权值和阈值的调整)。传输函数比如
或
,若把函数图像画出来会发现,
之间函数图像比较徒,一阶导数(梯度)比较大,如果在这个范围之外,图像就比较平坦,一阶导数(梯度)就接近
了。