Advertisement

神经网络优化方法

阅读量:

优化失败--loss不再下降

梯度消失:卡在驻点(局部极小值、鞍点)

判断:求黑塞矩阵H(多元函数的二阶偏导)

正定(特征值恒正)--局部极小值 特征值有正有负--鞍点

鞍点处可沿着负的特征值--特征向量对应的方向梯度下降

如何逃离局部极小值

一、batch size selection(每个周期后需要重排shuffle)

相比于小的batch,大的batch单次更新慢,一个周期更新快,更稳定,但准确度低

解释:大的batch更容易卡在驻点,小的batch可更新逃离驻点

即使优化大的batch使其在训练数据上与小的batch准确度相近 ,在测试数据上依旧是小的batch的准确度更高

解释:train loss和test loss间有横向偏差,大的batch倾向于在陡峭sharp的局部极小值,小的batch倾向于在平坦flat的局部极小值,大的batch的偏差更大(小的batch易于跳出窄的峡谷)

二、momentum动量

惯性的应用

下降方向为梯度的反方向再合成之前一步下降的方向,更容易越出局部极小值

学习率调整--自适应

反复横跳导致无法到达谷底

不同参数需要设置不同的学习率

均方根差:

对于i号参数

RMSProp:可调整当前时刻及之前梯度的影响程度

ta为定值时,可能会有枝桠,化为 递减可消除枝桠

warm up黑科技--ta先增大后衰减(机理尚不明确,但能提升优化性能)

梯度更新:

损失函数loss

one-hot vector消除类别间的关联

softmax归一化,同时将差距拉大

loss function

mean square error均方误差

cross-entropy 交叉熵

minimizing cross-entropy equivalent to maximizing likelihood

batch normalization

每层都做标准化,更有效地传递信息

在线算法时,不可能等到一个batch输入完再操作,在u igma未知情况下

用moving average移动平均数来代替

全部评论 (0)

还没有任何评论哟~