神经网络优化方法
优化失败--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:可调整当前时刻及之前梯度的影响程度

当
为定值时,可能会有枝桠,化为
递减可消除枝桠
warm up黑科技--
先增大后衰减(机理尚不明确,但能提升优化性能)
梯度更新: 
损失函数loss
one-hot vector消除类别间的关联
softmax归一化,同时将差距拉大
loss function
mean square error均方误差
cross-entropy 交叉熵
minimizing cross-entropy equivalent to maximizing likelihood

batch normalization
每层都做标准化,更有效地传递信息
在线算法时,不可能等到一个batch输入完再操作,在
未知情况下
用moving average移动平均数来代替
