自适应学习率
学习率决定了更新参数的步伐,太大太小都不好
- 如果在某个方向上,梯度的值很小,非常平坦,我们会希望学习率调大一点;
- 如果在某一个方向上非常陡峭,坡度很大,我们会希望学习率设得小一点。
具体方法
1. AdaGrad(Adaptive Gradient)
根据梯度大小自动调整学习率。可以做到梯度较大时学习率减小,梯度较小时学习率放大。
2. RMSProp
同一个参数的同个方向,学习率也需要动态调整
3. Adam(Adaptive moment estimation)
最常用的优化策略或者优化器,可以看作 RMSprop 加上动量,其使用动量作为参数更新方向,并且能够自适应调整学习率。
学习率调度
解决爆炸问题的策略:
1. 学习率衰减(learning rate decay)/学习率退火(learning rateannealing)(最常见)
随着参数的不断更新,让 η (在之前的学习率调整方法中是一个固定值)越来越小
2. 预热
让学习率先变大后变小,至于变到多大、变大的速度、变小的速度是超参数。
分类
- 分类可当作回归来看
- 用独热向量表示类
分类过程:
输入 x,乘上 W,加上 b,通过激活函数 σ,乘上W′,再加上 b′ 得到向量 yˆ。但实际做分类的时候,往往会把 yˆ 通过 softmax 函数得到 y′,才去计算 y′ 跟 yˆ 之间的距离。
softmax 计算方式:
先把所有的 y 取一个指数(负数取指数后也会变成正的),再对其做归一化(除掉所有 y 的指数值的和)得到 y′。函数还会让大的值跟小的值的差距更大。
分类损失
相较于均方误差,交叉熵被更常用在分类上。