CNN 中是否需要全连接层?

人工智能 神经网络 深度学习 卷积神经网络
2021-11-13 05:59:40

我已经实现了一个用于图像分类的 CNN。我没有使用完全连接的层,但只有一个 softmax。不过,我得到了结果。

我必须在 CNN 中使用全连接层吗?

3个回答

CNN 中是否需要全连接层?

不。事实上,你可以用卷积模拟一个全连接层。没有全连接层的卷积神经网络 (CNN) 称为全卷积网络 (FCN)有关更多信息,请参阅此答案

FCN 的一个例子是u-net,它不使用任何全连接层,而仅使用卷积、下采样(即池化)、上采样(反卷积)以及复制和裁剪操作。然而,u-net 用于对像素进行分类(更准确地说,是语义分割)。

此外,您可以仅将 CNN 用于特征提取,然后将这些提取的特征提供给另一个分类器(例如 SVM)。事实上,迁移学习是基于 CNN 提取可重用特征的思想。

人们在卷积层之后使用 FC 的原因是 CNN 保留了空间信息。你说你使用softmax,所以你可能会做一些分类任务。如果您不使用 FC 层,那么您可能会通过第一个内核的第一个位置评估第一类,而不是通过所有内核的整个图像,第二类通过内核的第二个位置等等。

密集网络结合了来自所有位置的所有内核的信息。

也就是说,从技术上讲,您可以将 FC 转换为 Conv 网络,如此处所述,因此您可以说您“跳过”了 FC 层。

理论上,您不需要全连接 (FC) 层。FC 层用于在反向传播期间引入更新权重的范围,因为它能够引入更多的连接可能性,因为 FC 的每个神经元都连接到其他层的每个神经元。