首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >学习率和训练集的大小之间有关系吗?

学习率和训练集的大小之间有关系吗?
EN

Data Science用户
提问于 2021-05-16 08:35:12
回答 1查看 749关注 0票数 1

我有一个大的数据集用来训练一个神经网络模型。但是,我没有足够的资源对整个数据集进行适当的超参数调优。因此,我的想法是对数据子集(例如10%)进行调整,这显然不会给出像整个数据集那样好的估计,但是由于它已经是大量的数据,所以我认为它可能会给出足够的估计。

然而,我不知道学习率与训练规模之间是否有某种关系,除了在次抽样时估计会更吵闹之外。所谓关系,我指的是一些经验法则,例如,当你增加训练集的大小时,增加你的“最优”LR。我没有看到任何(除了LR和批处理大小之间的关系,但这实际上是另一个话题),但我很乐意确保我没有遗漏任何东西。

EN

回答 1

Data Science用户

发布于 2021-05-16 11:38:21

我不知道你为什么要调整学习率(太高)?在许多平台上,您可以包括类似于学习速率调度程序之类的内容。如果没有更多的学习进展,就会降低学习速度。所以你在训练的时候“调整学习速度”。

使用喀拉斯,这看起来可能是:

代码语言:javascript
运行
复制
early_stopping = EarlyStopping(monitor='val_loss', patience=50, mode='auto', restore_best_weights=True)
reduce_on_plateau = ReduceLROnPlateau(monitor="val_loss", factor=0.9, patience=20, cooldown=5, verbose=0)
checkpoint = ModelCheckpoint("xy.hdf5", monitor='val_loss', verbose=0, save_best_only=True, save_weights_only=True, mode='min')
...
model.fit(...,callbacks=[early_stopping, reduce_on_plateau, checkpoint]

上面的回调引入了“早期停止”(如果没有更多的进展就停止)、“在平台上减少”(在需要时降低学习率)和“检查点”(保存每个时代的模型结果)。

从一些合理的学习率标准值开始,必要时降低。

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

https://datascience.stackexchange.com/questions/94508

复制
相关文章

相似问题

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