具有不同序列长度输入的递归神经网络(RNN)

时间:2017-11-06 06:56:21

标签: machine-learning neural-network keras recurrent-neural-network keras-2

我有不同长度的输入文本,从少数字到100字,所以我决定为每批使用不同的 MAX_LENGTH ,而不是为所有批次修复 MAX_LENGTH (显然更短) MAX_LENGTH用于较小的文字。)

谷歌搜索后,我在Keras github页面中看到了this线程,该解决方案提供了以下解决方案:

  

序列应按长度分组,并手动分段   在被送往Keras之前按批次进行批量生产。

如果我使用这个技巧,我猜测在训练时没有办法改变数据,这可能会导致过度拟合。

我在Kaggle看到很多使用这个技巧的劝阻。我想知道这个问题还有其他解决办法吗?

1 个答案:

答案 0 :(得分:2)

填充解决方案的数据具有虚拟值,因此所有输入序列的长度都相同。

假设您有这两个序列:

  • [1,2,3,1,2],你保持[1,2,3,1,2]
  • [1,3,2,3],用零填充它直到达到所需的长度:[1,3,2,3,0]

然后,您使用Masking图层启动模型。

这将自动忽略样本中的额外长度。