可以通过删除一些连接来获得更好的ANN?


11

我想知道在某些情况下,如果您修剪掉一些与它们之间的联系,ANN是否有可能表现得更好?

通过并行获取两个多层ANN A和B(相同的输入和输出节点)来构造一个ANN,在A和B的隐藏层之间添加一些“通信”连接?

能否获得更好的泛化结果?

这是在实践中以某种方式使用的,还是总是只使用多层的全连接网络?

Answers:


7

是的,有可能。有些人已经详细研究了这个问题。这是有关此方法的旧论文:最佳脑损伤


为什么分离节点比正规化更好?我认为,通过正则化,无需修剪连接-“不必要的”连接将仅具有很小的权重,仅此而已。
andreister 2012年

@andreister我不认为这比正则化更好。我认为这是(早期)正则化的替代方案。这是一篇非常古老的论文,正则化在90年代中后期成为ML的主流。
carlosdc

7

根据经验,小型和/或稀疏网络的泛化效果更好。您可以通过应用某种形式的权重衰减,让训练算法淘汰固定大小网络中不必要的连接,或者可以应用一种旨在通过去除不必要的输入,隐藏的节点或连接来优化网络体系结构/拓扑本身的算法。

请参阅这些参考资料,以获取进一步研究的思路和起点,或者研究使用进化算法来设计,修剪和优化架构。

  1. Castellano,G.,Fanelli,AM(2000)“使用神经网络模型进行变量选择”,Neurcomputing(31)
  2. Ji C.,Psaltis D.(1997)“通过数据驱动的增长和衰落实现网络综合”,《神经网络》第一卷。10,No。6,第1133-1141页
  3. Narasimha PL等人(2008),“一种用于前馈网络训练的综合生长修剪方法”,神经计算(71),第2831-2847页
  4. Schuster,A.(2008)“鲁棒的人工神经网络架构”,国际计算智能杂志(4:2),第98-104页

我真的很想听到更多有关答案的“使用进化算法来设计,修剪和优化体系结构的信息”部分。也许我会问一个问题!
Artem Kaznatcheev

6

在大多数情况下,如果删除不必要的连接,您将获得更好的网络。过度训练(过度拟合)网络很容易-在这种情况下,其在验证数据集上的表现会很差。

修剪不必要的连接很可能会减少过度训练的可能性。请参阅:http : //en.wikipedia.org/wiki/Overfitting


5

是的,有可能。我们可以将计算单位之间的联系,隐藏层的数量,每个隐藏层的单位等视为超参数。通过进行一系列实验,可以找到这些参数的最佳值。

例如:

您可以按以下方式划分数据集:训练数据集的60%,交叉验证数据的20%,测试数据的20%,

然后,使用训练数据集和交叉验证数据集调整参数来训练您的NN。

最后,您可以使用测试数据集来评估NN的性能。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.