局部最优解 saddle point
critical point
H 是一个矩阵
Saddle point 和 Local minima 哪个更常见
用高纬的方式来解决error surface
saddle point比local minima要多
解决方案Batch Momentum 两种训练方法
Batch(Mini-Batch)
Small batch vs Big batch
Full batch Batch size=1
20 samples update for each sample
small batch size
big batch
batch size 1000以下训练的时间差不多
Batch size 越小 ,准确率越高(小的batch size 因为噪音可以避免saddle point 的问题)
小的batch 对测试结果也会更好
原因
small batch 有很多noise,所以容易得到flat minima,所以测试集效果会更好。
Momentum(势头)
Momentum 做梯度下降的时候不仅考虑梯度的反方向+前一步的方向
Momentum 梯度下降的方向是 过去所有梯度的总和
自动调整学习速率
loss 不再下降,但是gradient没有变得很小。(可能造成原因是因为学习率比较大或者固定,造成的模型不收敛)
learning rate 要为每个参数特制化
目前常用的方法去解决着两个问题
梯度下降采用了Adam的方法
Learning rate schedulering
加上时间。 如果时间越久learning 越小
warm up learning rate
learning rate 先变大,后变小
分类
softmax
首先将label 做成one-hot
softmax
将y的output值normalization 让y的范围在0~1之间
并且所有分类的值加起来为1
二分类 用 sigmod
多分类用 softmax
Loss function
MSE
交叉熵
交叉熵比MSE 更合适
Batch normalization
normalization 可以加速模型收敛
feature normalization
神经网络每一层的output 做normalizaiton
因为当input做完normalizatiion,通过感知机计算,结果不是符合normalization的。为了加快二次收敛每一层都要做normalization
z做或者a 做都可以
全量数据的 有些时候数据量比较大,可以使用 batch normalization
Testing batch normalization的问题