自适应学习率
神经网络的训练十分困难,即使没有所谓的 critical point,当问题的 Error Surface 是一个凸函数的时候:
- 较小的 learning rate,训练无法逼近最优解
- 较大的 learning rate,不能够解决临界点问题
参数更新方式需要从
θ i t + 1 ← θ i t − η g i t \theta_i^{t+1}\leftarrow\theta_i^{t} - \eta g_i^{t} θit+1←θit−ηgit
其中
g i t = ∂ L ∂ θ i ∣ θ = θ t g_i^{t} = \frac{\partial L}{\partial \theta_i}|_{\theta=\theta_t} git=∂θi∂L∣θ=θt
变成
θ i t + 1 ← θ i t − η σ i t g i t \theta_i^{t+1}\leftarrow\theta_i^{t} -\frac{\eta}{\sigma_i^t} g_i^{t} θit+1←θit−σitηgit
对于不同的优化方式有: - RMS: σ = 1 t + 1 ∑ i = 0 t ( g i t ) 2 \sigma =\sqrt{\frac{1}{t+1}\sum_{i=0}^{t}(g_i^t)^2} σ=t+11∑i=0t(git)2,梯度较大时,计算出 η \eta η 值较小;梯度较小时,计算出 η \eta η 较大;
- RMSProp:动态调整学习率
- Learning Rate Scheduling:让学习率成为时间的函数
- Learning Rate Decay:随着训练的进行,逐渐减小学习率
- Warm Up:通过超参数设置,使学习率先变大,后变小
分类 Classification
- Softmax:归一化指数函数
y i = exp ( y i ) ∑ j exp ( y j ) y_i = \frac{\exp(y_i)}{\sum_j\exp(y_j)} yi=∑jexp(yj)exp(yi) - Cross-Entropy:交叉熵
e = − ∑ i y i ^ ln y i ′ e = -\sum_i \hat{y_i} \ln y_i' e=−i∑yi^lnyi′
最小化交叉熵(MInimizing cross-entropy)等价于最大化可能性(maximizing likelihood);
MSE会在large loss的地方卡住,无法继续训练;