用于大型重复输入集的神经网络

Neural Networks for Large Repetitive Sets of Inputs

假设我们想要制作一个神经网络来预测一定数量的参与者之间的比赛结果。

每位参赛者都有各种统计数据:发动机功率、最高速度、车手经验等

现在假设我们被要求构建一个系统,可以处理从 2 到 400 名参与者之间的任意数量的参与者(只是选择一个具体数字)。

根据我目前对 "traditional" 神经网络的了解,我们的选择是:

  1. 为每个数量的参与者建立许多不同的神经网络:n = 2, 3, 4, 5, ... , 400。
  2. 使用 400 名参与者的输入训练一个神经网络。当一条数据涉及参与者少于 400 人的比赛时(这将占数据的很大一部分),只需将所有剩余的统计输入设置为 0。

假设这行得通,是否有任何理由期望一种方法比另一种方法表现更好?

前者更专业,但每个网络的训练数据要少得多,所以我猜它的结果大致相同?

是否有解决类似问题的标准方法?

我们可以(简单地)想象神经网络首先对每个参与者的强度进行分类,因此,每次添加新参与者时,它都需要对这些新输入应用相同的分析,这可能暗示可能是 "smart" 减少所需工作总量的方法。

这是在为卷积神经网络尖叫吗?

在你的两个选项之间,选项 1 需要重复大量的努力来针对不同的尺寸进行训练,因此训练速度可能会非常慢。

选项 2 更可行一些,但网络需要针对不同大小的输入进行额外训练。

另一种我认为最有可能奏效的选择是只训练神经网络在两个参与者之间选择获胜者,并使用它通过对之间的多次比较来创建排名。 here.

描述了这种方法

We could imagine (simplistically) that the neural network first classifies the strength of each participant, and therefore, each time a new participant is added, it needs to apply this same analysis to these new inputs, potentially hinting that there might be a "smart" way to reduce the total amount of work required.

我认为您已经掌握了关键思想。由于我们想对每个参与者执行完全相同的分析(假设他们是参与者 1 还是参与者 400 没有区别),这是 权重共享 的理想问题。这意味着对参与者进行初始分析的神经元权重对于每个参与者都是相同的。当一个参与者的这些权重发生变化时,所有参与者的权重都会发生变化。

虽然 CNN 确实使用权重共享,但我们不需要使用 CNN 来使用此技术。具体如何执行此操作取决于您的框架。