当前位置:网站首页>图像识别(八)| 还对全连接层迷迷糊糊?背会一首诗就行了

图像识别(八)| 还对全连接层迷迷糊糊?背会一首诗就行了

2022-08-11 11:12:00 董董灿是个攻城狮

前面的一篇文章图像识别(七)| 池化层是什么?有什么作用?_董董灿是个攻城狮的博客-CSDN博客说到了CNN网络中的池化层,池化层一般接在卷积层后面,用来完成特征图的降维和特征融合操作。

在CNN网络的最后,一般还会有一个全连接层(Fully Connected Layer)。CNN中为什么还需要一个全连接层呢,它的作用是什么?这篇文章会告诉你答案。

全连接层

全连接层,指的是每一个结点都与上一层的所有结点相连(示意图如上图所示),用来把前面几层提取到的特征综合起来。由于其全连接的特性,一般全连接层的参数也是最多的。

前面的文章图像识别(四)| 卷积的核心,特征提取_董董灿是个攻城狮的博客-CSDN博客_图像识别特征提取提到卷积的作用是完成图像的特征提取,那提取出了特征之后,还是无法根据提取的一堆特征来完成图像的识别。

因为卷积层提取出来的特征太多了!

举个例子,一张画着猫咪的图片,经过几十层卷积的特征提取,很有可能已经提取出了几十个甚至上百个特征,那我们如何根据这几十上百个特征来最终确认,这是一只猫呢?

把上面的问题细化并且简化一下,不说几十上百个特征,就说卷积层只提取了3个特征:分别是鼻子,耳朵和眼睛。实际上,有鼻子、耳朵和眼睛这三个特征的动物有很多,我们并不能只根据某个动物有鼻子、耳朵和眼睛,就把它简单的认为是一只猫。

那么就需要一种方法,把鼻子、耳朵和眼睛这三个特征进一步融合,使得神经网络看到这三个特征的融合集合之后,可以区分这是一只猫而不是一只狗。

上面的例子比较简单,实际网络中卷积提取的特征远远不止3个,而是成百上千个,将这些特征进一步融合的算法,就是全连接。

或者说,全连接,可以完成特征的进一步融合。

使得神经网络最终看到的特征是个全局特征(一只猫),而不是局部特征(眼睛或者鼻子)。

知乎上对于这个问题有个比较形象的回答,大意是说:

假设你是一只蚂蚁,你的任务是找小面包。这时候你的视野比较窄,只能看到很小一片区域,也就只能看到一个大面包的部分。


当你找到一片面包之后,你根本不知道你找到的是不是全部的面包,所以你们所有的蚂蚁开了个会,互相把自己找到的面包的信息分享出来,通过开会分享,最终你们确认,哦,你们找到了一个大面包。

上面说的蚂蚁开会的过程,就是全连接,这也是为什么,全连接需要把所有的节点都连接起来,尽可能的完成所有节点的信息共享。

说到这,大概就能理解全连接的作用了吧。

| 卷积和全连接

其实有两首诗可以很形象的概括卷积全连接的作用。

我们知道卷积是对图像的局部区域进行连接,通过卷积核完成的是感受野内的长宽方向以及channel 方向的数据连接。因此,卷积操作,提取的特征是局部特征。也就是说,卷积是“不是庐山真面目,只缘身在此山中”。

而全连接层呢?它的每次完成的是所有channel方向的连接,它看到的是全局特征。全连接是“不畏浮云遮望眼,自缘身在最高层”。

除此之外,卷积和全连接在算法上是可以转换的。通常情况下,在进行全连接的计算时,可以把它等效于卷积核为1x1的卷积运算。

| 总结一下

全连接的作用,说的学术专业一点,就是把卷积层学到的特征空间映射到样本标记空间。说的通俗易懂点,就是把卷积学到的一堆特征互相融合一下,变成样本(比如一只猫)的代表。

在使用Resnet50对ImageNet2012数据集进行分类时,最终完成某个图片的分类,全连接层会输出一个值。在ImageNet 中,281-287都代表猫。比如282这个值,代表的是一只虎猫,而这个值,就是把所有的虎猫的特征进行了融合后计算而来的。

281 n02123045 猫, tabby, tabby cat 

282 n02123159 猫, tiger cat 

283 n02123394 猫, Persian cat 

284 n02123597 猫, Siamese cat, Siamese 

285 n02124075 猫, Egyptian cat 

286 n02125311 猫, cougar, puma, catamount, mountain lion, painter, panther, Felis concolor 

287 n02127052 猫, lynx, catamount

One More Thing

看到这,可能有人会问,既然全连接层处理的特征比卷积层信息更丰富,那为什么在CNN网络中进行图像识别和分类时,我们还大量的使用卷积而不全部使用全连接呢?

答案很简单。

全连接由于连接了上一层所有的节点,需要的模型参数更多,计算更密集。一个普通的卷积神经网络,如果用全连接来实现,你可以试试,分分钟挤爆你的CPU,甚至你的显卡。

 往期文章推荐:

图像识别(一)| 从像素说起_董董灿是个攻城狮的博客-CSDN博客

图像识别(二)| 图像的色彩空间_董董灿是个攻城狮的博客-CSDN博客

图像识别(三)| 初识卷积_董董灿是个攻城狮的博客-CSDN博客

图像识别(四)| 卷积的核心,特征提取_董董灿是个攻城狮的博客-CSDN博客_卷积图像特征提取

图像识别(五)| 春天花开却不识?打开百度识图,残差和卷积带你识遍路边野花_董董灿是个攻城狮的博客-CSDN博客

图像识别(六)| 激活函数_董董灿是个攻城狮的博客-CSDN博客

图像识别(七)| 池化层是什么?有什么作用?_董董灿是个攻城狮的博客-CSDN博客

更多信息,请查看专栏

https://blog.csdn.net/dongtuoc/category_11863193.htmlhttps://blog.csdn.net/dongtuoc/category_11863193.html

码字不易,如果你喜欢,请关注 董董灿是个攻城狮的博客_CSDN博客 或点赞。
近期开通个人微信公众号:图像识别(八)| 还对全连接层迷迷糊糊?背会一首诗就行了 分享人工智能科技文章,欢迎关注。


部分内容参考:https://www.zhihu.com/question/41037974/answer/150552142。如有问题,请联系删除。

原网站

版权声明
本文为[董董灿是个攻城狮]所创,转载请带上原文链接,感谢
https://blog.csdn.net/dongtuoc/article/details/126243586