我搜索学习具有自适应学习率的反向传播算法,并找到了很多资源,但我很难理解,因为我是神经网络的新手。我非常了解标准反向传播算法的工作原理。有人在这里向我解释这两种算法有何不同吗?
问问题
4554 次
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。有很多方法可以做到这一点。
自适应的基本思想是
- 如果你得到一个较小的错误,你想尝试提高学习率
- 如果你得到一个更大的错误,你想将学习率降低到它收敛
于 2013-11-12T23:25:47.983 回答