0

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

给定:

一组非平凡大小的随机整数(比如至少 500)

一个专业创建/训练的神经网络。

任务:

数字字谜:在给定时间范围内创建无限整数序列的最大表示,其中序列可以以封闭形式表示(即 - n^2、2x+5 等)或在 OEIS 中注册(http: //oeis.org/)。用于创建序列的数字可以以任何顺序从输入集中获取。因此,如果网络被馈入 (3, 5, 1, 7...),返回 (1, 3, 5, 7 ...) 将是可接受的结果。

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

我做对了吗?

4

1 回答 1

1

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

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

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

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

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

组合模式生成网络(CPPN) 是一个非常花哨的词,用于将数学函数作为激活函数的神经网络。这将允许您使用简单的激活函数(如 sigmoids 或 ReLU)对难以由 NN 近似的函数进行建模。但通常这不是必需的,所以在你有一个简单的 NN 工作之前不要太担心它。

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

于 2015-04-15T01:50:02.763 回答