RNN L2正规化停止学习

时间:2016-10-21 15:24:21

标签: deep-learning recurrent-neural-network lstm bidirectional

我使用双向RNN来检测不平衡事件。正面课程比负面课程少100倍。 虽然没有正则化使用,但我可以在列车组上获得100%的准确率,在验证组上获得30%的准确度。 我打开了l2正则化,结果在列车设置上的准确率只有30%,而不是更长的学习时间和100%的验证集准确度。

我在想,也许我的数据太小,所以只是为了实验我合并了火车套装和我以前没用的测试装置。情况与我使用l2正规化相同,我现在没有。我在火车+测试和验证方面的准确率达到了30%。

在上述实验中使用128隐藏单位和80次步骤 当我将隐藏单位的数量增加到256时,我可以再次在火车+测试集上过度拟合以获得100%的准确度,但在验证集上仍然只有30%。

我确实为超参数尝试了很多选项,几乎没有结果。也许加权交叉熵导致问题,在给定的实验中,正类的权重为5.虽然尝试较大的权重,但结果往往更差,约为准确度的20%。

我尝试过LSTM和GRU细胞,没有区别。

我得到的最好成绩。我尝试了2个具有256个隐藏单元的隐藏层,花了大约3天的计算时间和8GB的GPU内存。在它开始过度拟合之前我得到了大约40-50%的准确度,而l2正则化开启但没有那么强。

在这种情况下,是否有一些一般指导原则?我找不到任何东西。

1 个答案:

答案 0 :(得分:1)

太多的隐藏单位可能会超出您的模型。您可以尝试使用较少数量的隐藏单位。如您所述,使用更多数据进行培训可能会提高性能。如果您没有足够的数据,则可以生成一些人工数据。研究人员为他们的训练数据添加了扭曲,以便以受控的方式增加他们的数据量。这种策略对图像数据非常有用,但当然如果你正在处理文本数据,可能你可以使用一些可以提高性能的知识库。

有很多作品正在使用知识库来解决NLP和深度学习相关的任务。