我想实现一个自动编码器,论文说它使用了adam优化器,初始学习率为。。。重量衰减设置为…
我读到有几种类型的重量衰减,如果没有给出确切的重量衰减类型,标准是什么?
我也看过(https://www.pyimagesearch.com/2019/07/22/keras-learning-rate-schedules-and-decay/)Keras中有一个标准的衰变时间表,但在Keras文档中找不到。可以使用这个重量衰减时间表吗?
显示的标准衰变时间表如下所示:
opt = SGD(lr=1e-2, decay=1e-2/epochs)
我想你可能已经混淆了学习率衰退和体重衰退,它们都是不同的术语。你分享的链接是关于学习率衰退而不是体重衰退。
权重衰减
是添加到梯度下降公式中的一个附加项,有助于正则化网络的权重,并使其指数衰减为零(从而防止过拟合(。如果你仔细阅读文献,你会听到像L1 regularizer/L2 regularizer
这样的术语,这就是我们所说的重量衰变。
另一方面,学习率是优化公式(梯度下降(中的一个常数项(α(,它决定了我们将朝着梯度迈出多大的一步。它主要决定算法的收敛速度。如果我们的步长(学习速度(太大,那么我们可能会偏离最优解。如果步长(学习速率(太小,我们需要很长时间才能达到目标,或者我们可能根本达不到目标(因为步长太小(。因此,大量的研究已经投入到寻找";最佳";学习率学习率衰减就是这种研究的产物,它是一种学习率在一定时间后不断衰减的方法,它有助于网络更快地收敛。
如果你担心如何在Keras中使用它们,那么请查看以下内容:
使用Keras 在Python中使用深度学习模型的学习率调度
如何利用权值衰减减少Keras 中神经网络的过度拟合