【问题标题】:RNN L2 Regularization stops learningRNN L2 正则化停止学习
【发布时间】:2016-10-21 15:24:20
【问题描述】:

我使用双向 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 正则化打开但没有那么强。

在这种情况下有什么通用的指导方针吗?我找不到任何东西。

【问题讨论】:

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


【解决方案1】:

隐藏单元过多可能会使您的模型过拟合。您可以尝试使用较少数量的隐藏单元。正如您所提到的,使用更多数据进行训练可能会提高性能。如果你没有足够的数据,你可以生成一些人工数据。研究人员在他们的训练数据中添加扭曲以增加他们的数据大小,但以一种可控的方式。这种类型的策略对于图像数据来说非常好,但如果您正在处理文本数据,也许您可​​以使用一些可以提高性能的知识库。

使用知识库解决 NLP 和深度学习相关任务的工作很多。

【讨论】:

    猜你喜欢
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 2019-10-20
    • 2018-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-27
    相关资源
    最近更新 更多