当前位置:网站首页>6.6 分离卷积
6.6 分离卷积
2022-06-12 11:31:00 【小菜鸡变形记】
1 可分离卷积
可分离卷积包括空间可分离卷积和深度可分离卷积。
1.1 空间可分离卷积(Spatially Separable Convolutions)
空间指的是[height, width] 两个维度;空间可分离卷积将[n*n]的卷积分成[1*n]和[n*1]两步进行计算。举例:
一个3*3的卷积核,在5*5的feature map上进行计算,一共需要3*3*9=81次计算。

同样,在空间可分离卷积中,采用3*1和1*3的两个卷积核代替3*3卷积核,第一步3*1需要的计算量为15*3*1=45, 第二步 1*3需要的计算量为9*1*3=27,一共需要45+27=72次计算,小于81次。
故,空间可分离卷积能够减少运算次数,降低运算成本。
1.2 深度可分离卷积(Depth Separable Convolutions)
MobileNetV1就是把VGG中的标准卷积换成了深度可分离卷积。
深度可分离卷积的核心思想是将一个完整的卷积运算分为两步进行,分别为逐深度卷积(Depthwise Convolution)与逐点卷积(Pointwise Convolution)。
常规卷积若处理一个大小为64*64,三通道图片,经过包含4个滤波器的卷积层,最终输出4个feature map,且尺寸与输入层相同。可计算出卷积层参数量为4*3*3*3=108.

深度可分离卷积的操作,首先进行逐深度卷积,将单个滤波器应用到每一个输入通道,得到3个feature map,参数量为3*3*3=27. 然后进行逐点卷积,用1*1的卷积组合不同深度卷积的输出,得到一组新的输出。这里的卷积会将上一步的map在深度方向进行加权组合,生成新的feature map。 参数计算量为1*1*3*4=12. 总参数量为27+12=39。


2 分组卷积和深度可分离卷积对比
2.1 分组卷积
分组卷积Group Convolution最早见于AlexNet网络中,是一种降低参数量和计算量的方法。
主要思想:对输入的特征进行分组,分别进行卷积,然后将特征组合起来。分组卷积的总参数量为总参数量的1/G,其中G为划分的组数。
优点:分组卷积除了可以降低参数量,还可以被视为一种结构化稀疏方法,相当于一种正则化方法。

当分组数与输入输出维度相等时,即G=Din=Dout,相当于MobileNet和Xception中的深度卷积;
当分组数与输入输出维度相等,G=Din=Dout,且当卷积核的输入尺度与输入特征维度相等即K=W=H,输入的特征图为C*1*1,在MobileFaceNet中成为Global Depthwise Convolutions(GDC),即全局加权池化。与GAP即全局平均池化不同的是,GDC给每个位置赋予了可学习的权重。
3 MobileNet 系列
3.1 MobileNet_V1
1 创新点
① 提出MobileNet架构,使用深度可分离卷积替代传统卷积操作,减少计算量。
② 引入两个收缩超参数(Shrinking Hyperparameters):宽度乘子(width multiplier)和分辨率乘子(Resoution multiplier),其中宽度乘子主要作用为让网络的每一层变得更薄,改变通道数;分辨率乘子的作用为减少计算量的超参数。
2 存在的问题
深度卷积存在训练后部分信息丢失,导致部分核的权值为0.
3.2 MobileNet_V2
1 创新点
① 修改最后一层RELU6,引入Linear BottleNeck
② 引入特征复用结构,采取Resnet的思想;
③ 采用反向残差块inverted residuals block, 对RELU的缺陷进行回避。
RELU出现死亡神经元问题,而通过Resnet结构的复用,可以很大程度上缓解这种由于特征退化问题。
2 缺陷
① 网络端部最后阶段的计算量很大
3.3 MobileNet_V3
1 创新点
① 互补搜索技术组合:NAS执行模块级搜索,NetAdapt执行局部搜索;
② 网络结构改进:将最后一步的平均池化前移,并移除最后一个卷积层,引入h-swish激活函数。

h-swish在保持精度的情况下具有:① 在软硬件框架中容易实现‘② 避免数值精度损失;③ 运行快、
ref.
(11条消息) 【论文学习】轻量级网络——MobileNetV3终于来了(含开源代码)_Lingyun_wu的博客-CSDN博客_mobilenetv3
边栏推荐
- MySQL45讲 01 | 基础架构:一条SQL查询语句是如何执行的?
- InfoQ geek media's 15th anniversary solicitation |position:fixed virtual button cannot take effect after being triggered. Problem analysis and Solution Exploration
- Reentrantlock source code analysis
- 你需要社交媒体二维码的21个理由
- Basic principle of Doppler effect
- M-arch (fanwai 13) gd32l233 evaluation - some music
- AcWing 132. Group queue (queue simulation question)
- Socket programming UDP
- 当自己有台服务器之后
- Reading mysql45 lecture - self summary (part)
猜你喜欢

记录一下使用JPA时遇到的坑

Les humains veulent de l'argent, du pouvoir, de la beauté, de l'immortalité, du bonheur... Mais les tortues ne veulent être qu'une tortue.

SOT23(Small Outline Transistor)

DS18B20 digital thermometer (I) electrical characteristics, parasitic power supply mode and remote wiring

k58.第一章 基于kubeadm安装kubernetes v1.23 -- 集群部署

InfoQ 极客传媒 15 周年庆征文|position:fixed 虚拟按键触发后无法生效问题分析及解决方案探究

logrotate日志轮转方式create和copytruncate原理

人类想要拥有金钱、权力、美丽、永生、幸福……但海龟只想做一只海龟

^33变量提升和函数提升面试题

C# 35. Select default network card
随机推荐
Thinking about the cooperation process of Network Library -- Some Thoughts on reading brpc
The reason why scanf return value is ignored and its solution
【蓝桥杯单片机 国赛 第十一届】
AcWing 135. Maximum subsequence sum (prefix sum + monotone queue to find the minimum value of fixed length interval)
C# 36. DataGridView行号
Byte order (network / host) conversion
UI自动化测试中比较少见的异常记录
Lambda表达式 | 浅解
Signal relay rxsf1-rk271018dc110v
C# 35. Select default network card
十折交叉验证代码中的问题
35. search insertion position
selenium使用代理IP
Clickhouse column basic data type description
疫情居家办公体验 | 社区征文
Verifiability and scarcity of NFT Digital Collections
CLJ3-100ALH30剩余电流继电器
Unity connect to Microsoft SQLSERVER database
【clickhouse专栏】基础数据类型说明
Redis keys in PHP