可以训练神经网络来识别抽象模式形式吗?

can a neural network be trained to recognize abstract pattern forms?

我很好奇即使是经过专业设计的网络也可能有哪些限制。这个特别是我可以使用一些见解:

给定:

a set of random integers of non-trivial size (say at least 500)

an expertly created/trained neural network.

任务:

number anagram: create the largest representation of an infinite sequence of integers possible in a given time frame where the sequence either can be represented in closed form (ie - n^2, 2x+5, etc) or is registered in OEIS (http://oeis.org/). the numbers used to create the sequence can be taken from the input set in any order. so if the network is fed (3, 5, 1, 7...), returning (1, 3, 5, 7 ...) would be an acceptable result.

据我了解,可以训练 ANN 来寻找特定的序列模式(再次 - n^2、2x+5 等)。我想知道是否可以让它识别更一般的模式,如 n^y 或 xy+z。我的想法是它不能,因为 n^y 可以产生看起来彼此完全不同的序列,以至于无法建立稳定的 'base pattern'。也就是说 - 人工神经网络工作方式的本质(获取输入集并针对它被训练寻找的静态模式进行模糊匹配)是它们在它们可以被训练寻找的范围方面受到限制.

我没听错吗?

继续我在评论中与您的对话:

神经网络可能仍然有用。可以训练神经网络来预测数据,而不是训练神经网络来搜索单一模式。如果数据包含可预测的模式,神经网络可以学习它,神经网络的权重将代表它学习到的模式。我认为这可能是您打算做的。

如果您这样做,一些事情可能对您有所帮助:

自动编码器进行无监督学习,可以学习各个数据点的结构。

递归神经网络可以对数据序列进行建模,而不仅仅是单个数据点。这听起来更像您要找的东西。

A Compositional Pattern-Producing Network (CPPNs) 对于以数学函数作为激活函数的神经网络来说是一个非常奇特的词。这将允许您使用简单的激活函数(如 sigmoid 或 ReLU)对不易被 NN 逼近的函数进行建模。但通常这不是必需的,所以在你有一个简单的神经网络工作之前不要太担心它。

Dropout 是一种简单的技术,您可以在每次迭代中删除一半的隐藏单元。这似乎严重减少了过度拟合。它可以防止神经元之间形成复杂的关系,这应该会使模型更易于解释,这似乎是您的目标。