前馈神经网络中的输入排列

Hug*_*ira 6 machine-learning neural-network

给定前馈神经网络,如何:

  1. 确保它独立于输入的顺序?例如,喂食[0.2,0.3]将输出与[0.3,0.2]相同的结果;
  2. 确保它独立于输入组的顺序?例如,喂食[0.2,0.3,0.4,0.5]将产生与[0.4,0.5,0.2,0.3]相同的结果,但不会[0.5,0.4,0.3,0.2];
  3. 确保输入序列上的置换将对输出序列进行置换.例如,如果[0.2,0.3]给出输出[0.8,0.7],则[0.3,0.2]给出输出[0.7,0.8].

鉴于以上情况:

  1. 除了确保列车集涵盖所有可能的排列外,还有其他解决方案吗?
  2. 隐藏层的奇偶校验是否受到某种程度的约束(即隐藏层中的神经元数量必须是奇数还是偶数)?
  3. 在权重矩阵中寻找某种对称性是否有意义?

xhu*_*dik 0

好吧,这对 NN 来说似乎是一项艰巨的工作,但是 1. 我会做一些预处理,也许还有后处理脚本,它会处理所有的排列,确保将最简单的输入提供给 NN。我认为预(后)处理比调整神经网络(添加一个或多个隐藏层)更容易实现你的目标

2&3 NN 通常被视为黑盒。这意味着您只需训练它并分析输入和输出。在大多数情况下,尝试了解它的内部工作原理是没有意义的(需要时间)(当然也有一些例外,例如,如果你有功能性神经网络并且你想挖掘一些知识 - 但正如我所说 - 它很费时间)。

一般来说,每层隐藏神经元的数量没有限制。另外,除非您试图寻找一些知识,否则寻找权重矩阵的对称性是没有意义的......