0

我使用由一些负数组成的 gensim 库保存了我的文本向量。会影响训练吗?如果不是,那么为什么我要先获得鉴别器的 nan 损失值,然后在经过某些训练步骤后才获得鉴别器和生成器的损失值?

4

1 回答 1

4

NaN 损失有几个原因,以及模型出现分歧的原因。我见过的最常见的是:

  • 你的学习率太高了。如果是这种情况,损失会增加,然后发散到无穷大。
  • 您得到除以零错误。如果是这种情况,您可以1e-8在输出概率中添加一个小数字。
  • 你有错误的输入。如果是这种情况,请确保不要为模型提供 NaN。assert not np.any(np.isnan(x))在输入数据上使用。
  • 您的标签不在目标函数的同一域中。如果是这种情况,请检查标签的范围并确保它们匹配。

如果以上都没有帮助,请尝试检查激活函数、优化器、损失函数、网络的大小和形状。

最后,虽然不太可能,但您使用的框架可能存在错误。如果有其他人有同样的问题,请检查框架的 repo。

于 2018-09-06T20:33:01.173 回答