-1

我搜索学习具有自适应学习率的反向传播算法,并找到了很多资源,但我很难理解,因为我是神经网络的新手。我非常了解标准反向传播算法的工作原理。有人在这里向我解释这两种算法有何不同吗?

4

1 回答 1

3

我认为核心区别在于更新功能,正如您从这里看到的那样

对于经典 EBP

w(k+1) <- w(k) - a * gradient

对于自适应学习:

w(k+1) <- w(k) - eta * gradient

在哪里:

eta = 

    (w(k) - w(k-1)) / (gradient(k) - gradient(k-1))    if eta < etamax
    etamax                                             otherwise

所以你只需要改变权重更新功能部分。以上只是一个简化版本,为了实现,你需要根据error(k)和error(k-1)来调整eta。有很多方法可以做到这一点。

自适应的基本思想是

  1. 如果你得到一个较小的错误,你想尝试提高学习率
  2. 如果你得到一个更大的错误,你想将学习率降低到它收敛
于 2013-11-12T23:25:47.983 回答