LSTM在哪一层上辍学?


11

使用LSTM带缺失的多层,是否建议在所有隐藏层以及输出密集层上放置缺失?在欣顿的论文(提出了Dropout)中,他只将Dropout放在了Dense层上,但这是因为隐藏的内部层是卷积的。

显然,我可以测试我的特定模型,但是我想知道是否对此达成共识?


3
如果您有兴趣,可以对循环网络中的辍学问题进行一些很好的讨论:arxiv.org/abs/1512.05287 Gal,Yarin和Zoubin Ghahramani。“递归在递归神经网络中的理论基础应用。” 神经信息处理系统的进步。2016.
redhqs

2
似乎印证了什么@media说下面
BigBadMe

Answers:


12

我不希望LSTM出于一个明确的原因而不添加单元格中的删除。LSTMs可以长期使用,但重要的是它们不能很好地同时记忆多个事物。退出的逻辑是为神经元添加噪声,以便不依赖于任何特定的神经元。通过为LSTM单元格添加辍学,有机会忘记一些不应忘记的东西。因此,就像CNNs我总是喜欢在层之后的密集层中使用LSTMdropout一样。


1
我理解您的意思,这是有道理的,但是,然后,为什么Keras或Tensorflow中的LSTM单元实现提供了指定辍学(和递归辍学)的能力,如果它实际上破坏了LSTM应该如何功能?
BigBadMe

3
CNNs卷积层中不使用它们是完全可以接受的,因为卷积层中的权重很小。在LSTMs另一方面,权重的数量不小。正如我在任务中提到的,有很多事情需要记住,我尽量不要使用dropout,但是在诸如动词时态这样的情况下,您并没有太多的依赖性,我想这不是很糟糕。顺便说一句,这是我的经验。对于不同的应用程序域,可能还有其他答案。
媒体

1
这两个答案都很棒!(+ 1)
阿迪亚

5

没有一个共识可以在所有模型类型上得到证明。

辍学视为正则化的一种形式,应应用多少(以及在何处),将固有地取决于数据集的类型和大小,以及所构建模型的复杂性(它的大小)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.