机器学习笔记~1×1 convolution layer in a neural network

在CNN或者其他深度学习网络中,总是会看到1×1卷积层,但是对这个层是如何起作用的和存在的意义不是很了解,查阅了大量的资料,现在做一些简要的总结,供交流。

如下图所示,图片来源参考4。

图中表示输入层维度为4×4×5,kernel有3个,大小为1×1,strides=1,输出层维度为4×4×3,比较输入层和输出层,两者在平面空间维度上是没有变化的,都为4×4,但从纵向深度上改变了,从5变为3,可以将这个维度理解为feature channel的数目,从颜色上来看,可以理解为不同颜色的kernel作用与输入层,分别得到一个值,放在输出层的对应位置上。

当kernel的数目大于原有输入层的第三个维度,则表示对原有输入进行纵向深度的增加;当kernel的数目小于原有输入层的第三个维度,则表示对原有输入进行纵向深度的降低。一般使用的是1×1 convolution的降维作用,以减少参数数量,降低计算量。

如下图所示,来源于参考5:

noreduce

计算量为:

reduced.png

计算量为:

还有一方面的作用是,在深度学习网络中,经过网络各层处理后得到的feature map中存在feature冗余,这种方法也能够起到降低冗余的作用,提取出更有效用的feature。

 

提供几个可供参考的网站:

1.https://iamaaditya.github.io/2016/03/one-by-one-convolution/

2.https://stats.stackexchange.com/questions/194142/what-does-1x1-convolution-mean-in-a-neural-network

3.https://datascience.stackexchange.com/questions/12830/how-are-1x1-convolutions-the-same-as-a-fully-connected-layer?newreg=6c118960b26c474fae9403d06ecd831b

4.https://hacktilldawn.com/2016/09/25/inception-modules-explained-and-implemented/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值