【问题标题】:Why do we have normally more than one fully connected layers in the late steps of the CNNs?为什么在 CNN 的后期步骤中通常会有多个全连接层?
【发布时间】:2016-09-10 15:27:21
【问题描述】:

我注意到,在许多流行的卷积神经网络架构(例如 AlexNet)中,人们使用多个具有几乎相同维度的全连接层来收集对早期层中先前检测到的特征的响应。

我们为什么不只使用一个 FC 呢?为什么这种全连接层的分层排列可能更有用?

【问题讨论】:

  • 我认为后期的步骤应该以非线性方式结合前面的步骤。当然,cybenko 定理成立并告诉我们,一个隐藏层就足够了,但是就像深度学习中的任何地方一样,你想用网络深度(更高)换取更好的机会来获得更好的学习层。有很多工作可以解释,为什么这应该更好。一个常见的例子是奇偶函数的学习能力,其中更多的层工作得更好。
  • 卷积层提取特征,然后全连接层组合特征以对输出进行建模。但是全连接层的数量越多,神经网络就越复杂和强大,但过拟合的风险也越高。注意:1 个全连接层有 2N 个神经元,与两层有 N 个神经元的模型不同。

标签: image-processing machine-learning computer-vision deep-learning conv-neural-network


【解决方案1】:

实际上它不再流行/正常。 2015+ 网络(例如 Resnet、Inception 4)使用全局平均池(GAP)作为最后一层 + softmax,它提供了相同的性能和更小的模型。 VGG16 中的最后 2 层约占网络中所有参数的 80%。但是要回答您的问题,通常使用 2 层 MLP 进行分类,并将网络的其余部分视为特征生成。 1 层将是具有全局最小值和简单属性的正常逻辑回归,2 层对具有非线性和 SGD 的使用提供了一些有用性。

【讨论】:

  • 有研究支持你的最后两句话吗?
【解决方案2】:

因为有一些函数,比如 XOR,是不能单层建模的。在这种类型的架构中,卷积层计算局部特征,然后全连接输出层将这些局部特征组合以得出最终输出。因此,您可以将全连接层视为半独立的将特征映射到输出,如果这是一个复杂的映射,那么您可能需要多层的表达能力。

【讨论】:

    猜你喜欢
    • 2018-03-26
    • 2016-06-17
    • 2017-07-08
    • 1970-01-01
    • 2021-09-16
    • 1970-01-01
    • 1970-01-01
    • 2010-10-08
    • 2018-12-06
    相关资源
    最近更新 更多