深度学习优化器与卷积神经网络技术解析
1. Adam优化器:结合动量与RMSProp
在现代优化器的讨论中,Adam算法是一个重要的存在。从本质上讲,Adam可以看作是RMSProp和动量的一种变体组合。
其基本思想如下:
- 首先,要跟踪梯度的指数加权移动平均值,这类似于经典动量中的速度概念,表达式为:$m_i = β_1m_{i - 1} + (1 - β_1)g_i$,这是对梯度一阶矩(即$𝔼[g_i]$)的近似。
- 其次,和RMSProp类似,还要维护历史梯度的指数加权移动平均值,这是对梯度二阶矩(即$𝔼[g_i ⊙ g_i]$)的估计,表达式为:$v_i = β_2v_{i - 1} + (1 - β_2)g_i ⊙ g_i$。
然而,由于这两个向量初始化为零向量,这些估计相对于真实矩存在偏差。为了纠正这种偏差,需要为这两个估计推导校正因子。以二阶矩估计的推导为例:
- 先将二阶矩估计用所有过去的梯度表示,通过展开递推关系得到:
$v_i = β_2v_{i - 1} + (1 - β_2)g_i ⊙ g_i$
$v_i = β_2^{i - 1}(1 - β_2)g_1 ⊙ g_1 + β_2^{i - 2}(1 - β_2)g_2 ⊙ g_2 + … + (1 - β_2)g_i ⊙ g_i$
$v_i = (1 - β_2) \sum_{k = 1}^{i} β^{i - k}g_k ⊙ g_k$
- 然后对两边取期望值,确定估计值$𝔼[v_i]$与真实值$𝔼[g_i ⊙ g_i]$的比较情况:
$𝔼[v_i] = 𝔼[(1 - β_2) \sum_{k = 1}^{i} β^{
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



