首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >小批量比批量梯度下降性能差吗?

小批量比批量梯度下降性能差吗?
EN

Stack Overflow用户
提问于 2020-07-11 00:31:27
回答 2查看 76关注 0票数 1

我可以从批量梯度下降(批量大小为37000)获得相当好的结果,但当我尝试小批量梯度下降时,我得到了非常差的结果(即使使用adam和dropout)。

在批处理gd中,我能够获得100%的训练和97%的dev/cv准确率。然而,在128号的小批量中,我在这两种情况下的准确率都只有88%左右。

训练损失似乎在1.6%左右,并且不会随着任何进一步的迭代而减少,但当我增加批量大小(从而提高精度).And时,它会慢慢减少。最终,为了获得最大精度,我达到了37000的批量大小。

我试着调整alpha,但仍然保持同样的准确度。

我正在训练mnist数字数据集。

可能的原因是什么?请帮帮忙

EN

回答 2

Stack Overflow用户

发布于 2020-07-11 01:20:11

在批量梯度下降中,将所有训练数据考虑在内,以采取单一步骤。在小批量梯度下降中,在采取单个步骤之前考虑一些数据,因此模型更新频率高于批量梯度下降。

但小批量梯度下降是有代价的:

首先,mini-batch使得一些学习问题从技术上无法解决的问题变成了可以解决的问题,因为小批量减少了计算需求。

其次,减少批量并不一定意味着降低梯度精度。训练样本中有许多噪声、异常值或偏差。

我相信,由于小批量的振荡,你可能会陷入局部极小值。试着用小批量来提高学习率,也许可以解决这个问题。也试着将图片标准化,这可能也会有帮助。

票数 0
EN

Stack Overflow用户

发布于 2020-07-11 14:56:10

我找到了解决方案

对于小批量gd,我使用的lmbda值(即10)似乎太大了。通过将其减少到0.1,我解决了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62838605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档