为什么在使用辍学时Theano会抛出NaN?

海岸

我正在训练一个简单的前馈模型,该模型具有3或4个隐藏层以及每个(隐藏层+非线性)组合之间的缺失。有时,经过几个时间段(大约10-11)后,由于NLL的误差,该模型开始输出Infs和NaNs,而精度下降到0.0%。当我不使用辍学时,不会发生此问题。这是Theano辍学的已知问题吗?我实现辍学的方法是:

def drop(self, input):
    mask = self.theano_rng.binomial(n=1, p=self.p, size=input.shape, dtype=theano.config.floatX)
    return input * mask

其中input是要在其上应用dropout的特征向量。我还观察到,如果辍学概率(self.p)较高,则NaN的发生会更早发生。p = 0.5将导致在第1或第2周期附近发生NaN,但p = 0.7将导致在第10或11周期附近发生NaN。此外,仅当隐藏层大小较大时,NaN才会发生。例如,(800,700,700)给出NaN,而(500,500,500)则没有。

马里奥波罗

以我的经验,NaN在训练网络时通常会由于两个问题而发生:

  • 首先是数学误差,例如对数值的对数。当您在损失函数中使用log()时,可能会发生这种情况。
  • 其次,有一个值变得太大,因此python无法处理。

就您而言,从您的良好观察来看,我认为这是第二种情况。您的损失值可能变得太大,无法由python处理。尝试扩展网络时,尝试初始化较小的权重。或者只是使用不同的方法来初始化权重,如Glorot(2010)He(2015)所述希望能帮助到你。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么会抛出缩进错误?

来自分类Dev

为什么这段代码会抛出 MalformedURLException?

来自分类Dev

为什么 ListChangeBuilder 会抛出 NullPointerException?

来自分类Dev

为什么 IMemoryCache 的 TryGetValue 会抛出 InvalidOperationException?

来自分类Dev

为什么floatX的标志会影响在Theano中是否使用GPU?

来自分类Dev

熊猫为什么会抛出“数据重叠”。当我使用pd.update时?

来自分类Dev

为什么在使用for-in循环时Swift 2.0应用会抛出EXC_BAD_INSTRUCTION?

来自分类Dev

为什么在使用 composer 创建 Laravel 项目时 Laravel 会抛出异常?

来自分类Dev

为什么即使在使用 NPM 安装后 Firebase 也会抛出错误?

来自分类Dev

为什么在 saga 中使用两次“yield”会抛出错误?

来自分类Dev

为什么不能在烤宽面条回归模型的最后一层中使用辍学?

来自分类Dev

为什么有人会抛出非符号?

来自分类Dev

为什么Bluemix dashDB操作会抛出SQLCODE = -1667的SqlSyntaxErrorException?

来自分类Dev

为什么“ If Value is Nothing”会抛出“ Object Required(错误424)”

来自分类Dev

为什么UWP函数AddProfileFromObjectAsync()会抛出异常?

来自分类Dev

为什么抛出自身会导致异常?

来自分类Dev

为什么Bluemix dashDB操作会抛出SQLCODE = -1667的SqlSyntaxErrorException?

来自分类Dev

为什么“ If Value is Nothing”会抛出“ Object Required(错误424)”

来自分类Dev

为什么添加角度轮播会抛出$ injector:modulerr?

来自分类Dev

为什么会抛出out_of_range错误?

来自分类Dev

为什么 JsonConvert.DeserializeObject<T> 会抛出 JsonReaderException?

来自分类Dev

为什么这个 activerecord find 查询会抛出错误?

来自分类Dev

为什么 cx_freeze 会抛出“MSIError”之类的异常

来自分类Dev

为什么 C# 反射会抛出这个 BadImageFormatException

来自分类Dev

为什么 XmlWriter.WriteString("\n") 会抛出异常?

来自分类Dev

为什么我的 SQL 代码会抛出转换错误?

来自分类Dev

为什么 tf.layers.dense 会抛出 AttributeError?

来自分类Dev

为什么下面的python代码会抛出内存错误?

来自分类Dev

为什么我的代码会抛出错误消息?

Related 相关文章

  1. 1

    为什么会抛出缩进错误?

  2. 2

    为什么这段代码会抛出 MalformedURLException?

  3. 3

    为什么 ListChangeBuilder 会抛出 NullPointerException?

  4. 4

    为什么 IMemoryCache 的 TryGetValue 会抛出 InvalidOperationException?

  5. 5

    为什么floatX的标志会影响在Theano中是否使用GPU?

  6. 6

    熊猫为什么会抛出“数据重叠”。当我使用pd.update时?

  7. 7

    为什么在使用for-in循环时Swift 2.0应用会抛出EXC_BAD_INSTRUCTION?

  8. 8

    为什么在使用 composer 创建 Laravel 项目时 Laravel 会抛出异常?

  9. 9

    为什么即使在使用 NPM 安装后 Firebase 也会抛出错误?

  10. 10

    为什么在 saga 中使用两次“yield”会抛出错误?

  11. 11

    为什么不能在烤宽面条回归模型的最后一层中使用辍学?

  12. 12

    为什么有人会抛出非符号?

  13. 13

    为什么Bluemix dashDB操作会抛出SQLCODE = -1667的SqlSyntaxErrorException?

  14. 14

    为什么“ If Value is Nothing”会抛出“ Object Required(错误424)”

  15. 15

    为什么UWP函数AddProfileFromObjectAsync()会抛出异常?

  16. 16

    为什么抛出自身会导致异常?

  17. 17

    为什么Bluemix dashDB操作会抛出SQLCODE = -1667的SqlSyntaxErrorException?

  18. 18

    为什么“ If Value is Nothing”会抛出“ Object Required(错误424)”

  19. 19

    为什么添加角度轮播会抛出$ injector:modulerr?

  20. 20

    为什么会抛出out_of_range错误?

  21. 21

    为什么 JsonConvert.DeserializeObject<T> 会抛出 JsonReaderException?

  22. 22

    为什么这个 activerecord find 查询会抛出错误?

  23. 23

    为什么 cx_freeze 会抛出“MSIError”之类的异常

  24. 24

    为什么 C# 反射会抛出这个 BadImageFormatException

  25. 25

    为什么 XmlWriter.WriteString("\n") 会抛出异常?

  26. 26

    为什么我的 SQL 代码会抛出转换错误?

  27. 27

    为什么 tf.layers.dense 会抛出 AttributeError?

  28. 28

    为什么下面的python代码会抛出内存错误?

  29. 29

    为什么我的代码会抛出错误消息?

热门标签

归档