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



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

比赛中的每个参与者都有各种统计数据:发动机功率、最大速度、驾驶员体验等。

现在想象一下,我们被要求建立一个系统,可以处理从2到400个参与者的任意数量的参与者(只是为了选择一个具体的数字(。

根据我到目前为止对"传统"神经网络的了解,我们的选择是:

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

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

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

有没有一种标准的方法来解决类似的问题?

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

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

在你的两个选项之间,选项 1 将涉及重复大量努力来训练不同的大小,因此训练速度可能非常慢。

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

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

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

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

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

最新更新