防止在小数据集上过拟合LSTM


13

我正在对15000条推文进行建模,以使用具有128个隐藏单元的单层LSTM(使用类似于word2vec的表示形式,具有80个维度)来进行情感预测。1个纪元后,我获得了下降精度(38%,随机= 20%)。随着训练准确性的提高,更多的训练使验证准确性开始下降-这是过度拟合的明显标志。

因此,我正在考虑进行正则化的方法。我不希望减少隐藏单元的数量(128个似乎已经有点低了)。我目前以50%的概率使用辍学率,但这可能会增加。优化器是Adam,具有Keras的默认参数(http://keras.io/optimizers/#adam)。

有什么有效的方法可以减少我的数据集对此模型的过度拟合?


我有完全相同的问题。您最终如何设法规范化LSTM?我的LSTM的验证准确性为41%。我的输入形状是(200,),我有1个LSTM层(64个单位),然后是2个具有0.4压降的密集层。
Nirvan Anjirbag '18 -10-30

Answers:


7

您可以尝试:

  • 减少隐藏单元的数量,我知道您说的似乎已经很低了,但是考虑到输入层只有80个要素,实际上这可能是128个要素太多了。经验法则是使隐藏单元的数量介于输入单元(80)和输出类别(5)的数量之间;
  • 或者,您可以将输入表示空间的尺寸增加到大于80(但是,如果表示对于任何给定的单词来说已经太窄了,这也可能会不合适)。

适应网络的一个好方法就是从过度适应网络开始,然后减少容量(隐藏的单元和嵌入空间),直到不再适应过度。


1
您是否尝试过l1和l2正则化?它真的有效吗?这个答案表明您一般不应该这样做
Jakub Bartczuk

我不知道RNN的这一属性,我将删除答案的这一点
Miguel

您好,我想知道您如何得出一条经验法则,规定“隐藏单元的数量应介于输入单元和输出类的数量之间”。有没有我可以参考的论文?

这就是经验法则,我不知道我从哪里得到的……
Miguel
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.