首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >因为最好的(最低的)成本,什么时候停止训练?

因为最好的(最低的)成本,什么时候停止训练?
EN

Stack Overflow用户
提问于 2017-06-19 19:01:19
回答 1查看 2.5K关注 0票数 1

我使用TensorFlow对图像进行LeNet网络分类。我使用AdamOptimizer来最小化成本函数。当我开始训练模型时,我可以观察到训练的准确性和验证的准确性以及成本都在变化,有时会减少,有时会增加。

我的问题:我们什么时候应该停止训练?我们如何知道优化器会找到最小的成本?我们应该进行多少次迭代训练?我们可以设置一个变量或条件来以最小的成本停止吗?

我的解决方案是定义一个全局变量( min_cost ),并在每次迭代中检查成本是否在降低,然后保存会话并用新的成本替换min_cost。最后,我将以最低的成本保存会话,

这方法正确吗?

提前谢谢你,

EN

回答 1

Stack Overflow用户

发布于 2017-06-19 19:36:02

在训练神经网络的同时,主要定义了一个目标误差,并给出了训练的最大迭代次数。因此,例如,目标错误可能是0.001MSE。一旦达到此错误,培训将停止--如果在最大迭代量之后未达到此错误,则培训也将停止。

但似乎你想训练,直到你知道网络不能做得更好。像你这样保存“最好的”参数是一种很好的方法,但是要意识到,一旦达到某种最小的成本,误差就不会有那么大的波动。它不会像错误突然大幅上升,所以它不是完全有必要拯救网络。

没有“最小成本”这样的东西--网络总是试图达到局部的最小值,而且它将一直这样做。没有真正的方法(或算法)可以找出没有更好的错误可以到达。

tl;dr --只要在最大迭代量的同时设置一个目标合理的目标错误即可。

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

https://stackoverflow.com/questions/44638033

复制
相关文章

相似问题

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