用于图像识别的 CNN 与全连接网络?

机器算法验证 神经网络
2022-04-02 00:01:40

有谁知道 CNN 的准确性与图像识别的全连接网络相比如何?除了图像识别之外,CNN 还擅长什么?我在谷歌上找不到任何东西,链接或解释会很好。

3个回答

全连接神经网络是足够好的分类器,但它们不适合特征提取在 CNN 出现之前,最先进的技术是从图像中提取显式特征,然后对这些特征进行分类。

CNN 被训练来识别和提取图像中针对手头问题的最佳特征。那是他们的主要力量。CNN 的后几层是完全连接的,因为它们作为分类器的强度很高。所以这两种架构并不像你想象的那样竞争,因为 CNN 包含了 FC 层。

如果您的问题是基于 FC 的图像识别技术与 CNN 相比有多好,您应该查看过去几年 ILSVRC 的结果。我认为最后一个非 CNN 架构实现了 30% 的前 5 名错误率(今天使用最先进的 CNN,这一错误率低于 3%)。

有谁知道 CNN 的准确性与图像识别的全连接网络相比如何?

唯一的事实是,自从 AlexNet 赢得 ImageNet 比赛以来,每个获胜的神经网络都使用 CNN 组件,这足以让你相信 CNN 更适合图像数据。

您很可能无法找到任何有意义的比较,因为 CNN 能够处理仅使用 FC 层不可行的图像数据。

为什么?

  • 对于 224x224x3 图像,具有 1000 个神经元的 FC 层的权重数量约为 150M。仅一层就150M
  • 如果你不相信这是一个巨大的数字,那么请注意现代 CNN 架构有 50-100 层,而总共有几十万个参数(例如 ResNet50 有 23M 参数,InceptionV3 有 21M 参数)。

除了图像识别之外,CNN 还擅长什么?

是的。它们适用于任何具有空间结构的数据(例如音乐随时间的一维卷积)。

它们也用于 NLP - 请参阅这篇关于情感分析的论文或这篇关于翻译的论文。

1. 计算易处理性。 CNN 和 FC 之间的权重数量,例如形状为 500 x 500 x 3 的输入图像将在具有 100 个隐藏单元的 FC 层中(基础 = 0)

FC layer = Wx = 100 x ( 500 x 500 x 3 ) = 100 x 750000 = 75M

另一方面:形状为 500 x 500 x 3 的输入图像将在卷积一个 5 * 5 内核与零填充、1. 和 2 个过滤器的步幅之后

the new CNN layer = ((Hn + 2p - k )/s)+1,((Wn + 2p - k )/s)+1, Cn * filters num)
= 496 x 496 x 6 

CONV层中的参数数量为:((滤波器宽度形状*滤波器高度形状*前一层中的滤波器数量+1)*滤波器数量)1表示偏差

number of parameters = (Fw * Fh * D + 1 ) * F  =  (5 * 5 * 3 + 1 )*2  = 152 

2. 特征的显式层次表示。 CNN 架构中最好的一点是不需要特征提取。

3. 减少过拟合。 如果模型严重过度拟合,您可以开始添加小块 dropout。此外,最大池也减少了过度拟合
4. 平移不变性。 不变性是指即使对象位置发生变化,仍能将对象记住为对象的能力。这通常是一件积极的事情,因为它维护了对象的身份、类别、

“请注意,这里的翻译在视觉中具有特定的含义,是从几何学中借来的。”

在此处输入图像描述 同一个物体在不同的位置。