深度学习难的原因

深度学习难的原因,第1张

深度学习难的原因

我见过很多东西使模型产生分歧。

  1. 学习率太高。您通常可以判断出损失是否开始增加然后发散到无穷大。

  2. 我不熟悉DNNClassifier,但我猜想它使用了分类交叉熵代价函数。这涉及获取预测的对数,该对数随着预测接近零而发散。这就是为什么人们通常在预测中添加较小的ε值以防止这种差异。我猜测DNNClassifier可能会这样做或使用tensorflow opp。可能不是问题。

  3. 可能存在其他数值稳定性问题,例如除以零,在这种情况下添加epsilon可能会有所帮助。如果在处理有限精度数时未适当简化,则导数的平方根可以发散的另一种不那么明显的方法。我再次怀疑这是DNNClassifier的问题。

  4. 您可能对输入数据有疑问。尝试调用

    assert not np.any(np.isnan(x))
    输入数据以确保您没有引入nan。还要确保所有目标值均有效。最后,确保数据正确归一化。您可能希望像素在[-1,1]而不是[0,255]范围内。

  5. 标签必须在损失函数的域中,因此,如果使用基于对数的损失函数,则所有标签都必须是非负的(如evan pu和以下评论所指出)。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5616612.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存