RMSProp和亚当vs SGD


12

我正在使用带有RMSProp,Adam和SGD的网络对EMNIST验证集进行实验。我使用SGD(学习率为0.1)和辍学(辍学概率为0.1)以及L2正则化(1e-05惩罚)达到了87%的准确度。当使用RMSProp和Adam测试相同的精确配置以及0.001的初始学习率时,我实现了85%的准确度和明显不那么平滑的训练曲线。我不知道如何解释这种行为。训练曲线缺乏平滑度并导致较低的准确性和较高的错误率的原因是什么?


这取决于网络。您可以向我们显示有关该网络的详细信息吗?还可以提供学习曲线吗?
2017年

这是一个具有5层的网络(每层分别为Dropout,Affine,ELU),其设置如下:150个隐藏维度,使用的ELU激活函数,SGD的学习率为0.1,RMS和Adam的学习率为0.001,L2正则化为1e -05罚则,辍学的可能性为0.1。
Alk

当您说“完全相同的配置...初始学习速率为0.001”时,是指您使用了不同的学习速率,还是进行了两个实验:一个实验的学习速率相同,而另一个实验的速率不同?关于哪些参数默认为默认值,这可能取决于您使用的实际软件。
韦恩

所以我将SGD设为0.1,将Adam和RMSProp设为0.001。这是因为当我以0.1的学习率运行Adam和RMSProp时,它们都以60%的精度表现不佳。此外,在有关Adam的论文中,建议值为0.001。
Alk

您应该发布学习曲线,以及是否测量测试或训练数据的误差。
雅各布·巴特祖克

Answers:


4

在在线研究了几篇文章和Keras文档之后,建议将RMSProp优化器推荐用于递归神经网络。https://github.com/keras-team/keras/blob/master/keras/optimizers.py#L209

随机梯度下降似乎利用了每批之间的学习率和动量,基于损失函数的信息来优化模型权重,在我的案例中是“ categoical_crossentropy”。

我建议http://ruder.io/optimizing-gradient-descent/index.html了解有关优化算法的其他信息。


我不确定“对于循环神经网络建议使用RMSProp优化器”是什么意思。您放置的链接现在已断开,并且在任何地方都没有建议这样做。
哈萨尔·帕雷克
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.