1*1卷积层的简单理解

本文探讨了1*1卷积层在深度学习模型中的重要作用,包括跨通道信息整合、升维降维及减少模型参数量。通过具体案例分析,展示了1*1卷积如何在不增加计算负担的情况下优化模型结构。

在很多模型中都会有一些1∗11*111的卷积层,打眼一看感觉这些layer很鸡肋,不知道放在模型里能起到什么作用。但深入理解一下就能发现,1*1的卷积是非常有用的,可以很灵活地控制特征图的深度,并能起到减少参数量的作用。

本文就基于个人粗浅的理解,简单讨论一下1*1卷积的作用。

1. 升维降维,实现跨通道的信息整合

feature map和1*1的卷积核做卷积时,只需要考虑当前像素即可,并不需要考虑周围的像素值。因此第一个作用主要是可以用来调节feature map的通道数,对不同通道上的像素点进行线性组合,即可实现feature map的升维或降维功能,这也是通道见信息的交互和整合过程。

例如现在的feature map维度是(48, 28, 28),48表示channel,28表示长和宽。如果给定一个1*1的卷积层,输入channel=48,出的channel=32,那么就可以对特征图实现从48维到32维的降维操作。

同样地,只要输出channel大于48,就可以实现升维操作。

2. 减少模型参数量

减少模型参数这一想法最早应该是在GoogleNet中提出的,假设给定如下两个Inception模块:
在这里插入图片描述

如上图,现在蓝色方框中,左侧是3∗33*333的卷积,而右侧是1∗11*111和一个3∗33*333的卷积。两者的功能是一样的,即得到的输出维度相同。现在要计算两者的参数量,直觉上来说,单个3∗33*333的卷积参数似乎较少,但事实真的如此吗?

我们假设Previous Layer得到结果的维度是(96, 28, 28),即这个Inception模块的输入是96通道,长宽均为28的feature map,卷积后输出通道为48。假设经过左侧和右侧模块的方框所需要的计算参数分别为p1,p2,则p1和p2的计算公式如下:

p1 = 96∗3∗3∗48=4147296*3*3*48=4147296

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值