0

是否可以使用循环神经网络来学习具有略微不同变化的序列?例如,如果我有足够的训练数据,我是否可以获得训练有素的RNN,以便它可以产生一系列连续整数或交替整数?循环神经网络能够一次学习稍微不同的序列吗?

例如,如果我训练使用

1,2,3,4 
2,3,4,5 
3,4,5,6 

等,也训练使用

1,3,5,7 
2,4,6,8 
3,5,7,9 

等相同的网络, 将我能够成功地预测两个序列为测试集?

如果我在训练数据(如每三个整数或每四个整数的序列等)中有更多的变化,该怎么办?

+0

你的**大脑**是一个RNN,它一次学习许多很多许多序列。 – Kh40tiK

回答

1

是的,只要序列中有足够的信息以便它不含糊,神经网络应该能够学会正确完成这些序列。

您应注意几个细节,但:

  • 神经网络,和一般的ML车型,都是不好的外推。一个简单的网络通常不太可能了解序列。它永远不会像小孩子那样学习顺序逻辑的概念。因此,如果您在测试数据之外输入其体验(例如,项目间的3个步骤,当它们不在训练数据中时),它将表现不佳。

  • 神经网络更喜欢缩放输入 - 常见的预处理步骤是标准化为每个输入列的平均0标准偏差1。虽然网络有可能在输入处接受更大范围的数字,但这会降低训练的有效性。使用生成的训练集(如人造数字序列),您可以通过更多示例通过训练更长时间来强制您的方式。

  • 您将需要更多的神经元和更多图层来支持更大的序列变化。

  • 对于一个RNN,如果到目前为止它所处理的序列是模糊的,它将会严重地预测它。例如。如果你用相同数量的样本训练1,2,3,4和1,2,3,5,当它显示序列1时,它将预测4.5(回归)或50%几率4或5(分类器) 2,3并要求预测。

+0

你能否解释RNN学习两个或更多不同序列的直觉? – Sibi

+0

@Sibi:我不完全理解你的评论。直觉会采用什么形式?如果你想要一些细节,那么最好写一个不同的问题。但本质上RNN可以学习任意序列。你的例子在数学上相关的事实并不是真正的结果。网络将从1,2,3,4(5)中分别学习1,2,3,(4),它不会“理解”发生了什么。 –