为什么要对卷积神经网络进行预训练

时间:2014-10-17 11:06:02

标签: machine-learning computer-vision neural-network

通常反向传播NN具有消失梯度的问题。 我发现Convolutional NN(CNN)有些如何摆脱这种消失的梯度问题(为什么?)。

同样在一些论文中,已经讨论了CNN的一些预训练方法。 有人可以解释一下以下内容吗?

    (1) the resons for pretraining in CNN and 
    (2) what are the problems/limitations with CNN?
    (3) any relavent papers talking about the limitation of CNN?

提前致谢。

1 个答案:

答案 0 :(得分:3)

  1. 预训练是一种正则化技术。它提高了模型的泛化精度。由于网络暴露于大量数据(我们在许多地方拥有大量无监督数据),因此权重参数被传送到更有可能代表整体数据分布的空间,而不是过度拟合基础数据的特定子集分配。神经网络,特别是具有高模型表示能力和大量隐藏单元的神经网络,往往会使您的数据过度拟合,并且容易受到随机参数初始化的影响。此外,由于初始层以监督方式正确初始化,梯度稀释问题不再那么严重。这就是预训练被用作监督任务的初始步骤的原因,该任务通常由梯度下降算法执行。

  2. CNN与其他神经网络有着同样的命运。调整的参数太多;最佳输入补丁大小,隐藏层数,每层特征映射数,池化和步幅大小,标准化窗口,学习速率等。因此,与其他ML技术相比,模型选择的问题相对较难。大型网络的培训可以在GPU或CPU集群上进行。