我搜索学习具有自适应学习率的反向传播算法,并找到了很多资源,但我很难理解,因为我是神经网络的新手。我知道标准的反向传播算法是如何工作的。这里有人向我解释这两种算法是如何相互不同的吗?
答案 0 :(得分:4)
我认为核心区别在于更新功能,正如您在here
中看到的那样对于经典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
所以你只需要改变重量更新功能部分。以上只是一个简化版本,为了实现,你必须根据错误(k)和错误(k-1)调整eta。有很多方法可以做到这一点。
自适应的基本思想是