为什么1x1卷积层可以视为全连接层

写在前面

在看Faster RCNN代码的时候,突然就陷入沉思,为啥总说1x1卷积能代替全连接层,然后看了一些博客看了好一会儿才终于看懂了=-=,于是综合总结了一下,根据1x1卷积的计算过程,画了几张图分享并记录一下自己的理解。

从单个像素点的通道维上将其视作全连接

1x1卷积层的特点:一般只改变输入图像通道维数,不改变宽高

下图简要展示了1x1卷积层的计算过程,这里重点关注输入图像和输出图像中心像素点的计算。假定输入图像shape为(3x3x3),因为卷积核数量设为5,则输出图像通道数为5,shape为(3x3x5)。W0-W4表示5个卷积核,输入图像三个通道维的值分别乘以W0的权值w0-w2,求和就得到输出图像第一个通道维的值;根据W1-W4权值求得的分别对应输出图像第二-第五维的值

如上图,只看输入图像和输出图像的中间一个像素,仅仅从输入图像和输出图像的通道维去考虑,将输入图像的中心像素点在三个维度上的值看作3个神经元a0、a1、a2,同样地,输出图像对应位置就有5个神经元b0、b1、b2、b3、b4、b5。

下图用全连接层的样式,表现出了1x1卷积过程中,单个像素点的计算等同于全连接层计算:

与全连接层的区别 

以上都是仅仅考虑图像中心单个像素点的情况,若上升到整个图像,要注意:

  • 像素点与像素点之间权值是共享的:输入图像各个像素点分别进行卷积计算都是使用相同的一组卷积核
  • 而像素点与像素点之间是相互独立不连接的:输入图像的第一个像素点,不会与输出图像第二~第九个像素点连接

这也帮助理解了1x1卷积与全连接层的区别:

  • 全连接层会影响输入图像的空间结构,而1x1卷积不影响
  • 全连接层可以将卷积得到的局部特征连接起来,综合考虑整个图像,而1x1卷积分别对输入输出图像各个像素点通道维所有值之间进行连接,并不是综合考虑整个图像

总的来说,我的理解是从各个同一像素点位置的通道维来看,1x1卷积层是可以视为全连接层的,而不同像素之间是不连接的。


若有错误请大神们指出,求轻喷 =v= !! 

参考博文:

1*1卷积层_HealthScience的博客-CSDN博客

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值