神经网络能被训练来识别抽象的模式形式吗?

我很好奇即使是专家设计的神经网络也可能存在哪些局限性。特别是关于这一个,我需要一些见解:

已知条件:

一组非平凡大小的随机整数(假设至少500个)

一个由专家创建和训练的神经网络。

任务:

数字字母组合: 在给定时间内,创建可能的最大表示形式的无限整数序列,该序列要么可以用闭合形式表示(例如 n^2, 2x+5 等),要么在 OEIS 中注册(http://oeis.org/)。用于创建序列的数字可以从输入集合中以任何顺序取用。因此,如果网络输入的是(3, 5, 1, 7…),返回(1, 3, 5, 7 …)将是一个可接受的结果。

据我所知,人工神经网络可以被训练来寻找特定的序列模式(再次强调 – n^2, 2x+5 等)。我好奇的是,它是否能被训练来识别更一般的模式,如 n^y 或 xy+z。我的想法是它做不到,因为 n^y 可以生成看起来彼此足够不同的序列,以至于无法建立稳定的“基础模式”。也就是说,由于人工神经网络的工作方式(接受输入集并与其被训练寻找的静态模式进行模糊匹配),它们在可以被训练寻找的范围上有局限性。

我理解得对吗?


回答:

继续我们之前在评论中进行的对话:

神经网络仍然可能有用。不是训练神经网络去寻找单一模式,而是可以训练神经网络来预测数据。如果数据中包含可预测的模式,神经网络可以学习到它,并且神经网络的权重将代表它所学到的模式。我认为这可能是你想要做的。

如果你这样做,以下几点可能会对你有帮助:

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

循环神经网络可以对数据序列建模,而不仅仅是单个数据点。这听起来更像是你所寻找的。

组合模式生成网络(CPPNs)是一个非常花哨的词,用来描述一个以数学函数作为激活函数的神经网络。这将允许你建模那些不容易被具有简单激活函数(如 sigmoid 或 ReLU)的神经网络近似的函数。但通常情况下这是不必要的,所以在你有一个简单的 NN 工作之前不要太担心它。

Dropout 是一种简单的技术,每次迭代时你都会移除一半的隐藏单元。这似乎能显著减少过拟合。它阻止了神经元之间形成复杂的关系,这应该会使模型更易于解释,这似乎是你的目标。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注