MobileNet_V2

本文介绍了MobileNet V2相比V1的主要改进:Inverted residuals通过先扩张后压缩的方式获取更多信息,Linear bottlenecks则在残差块中使用线性瓶颈减少特征破坏。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MobileNet相对于V1创新点

1.Inverted residuals,通常的residuals block是先经过一个1*1的Conv把feature map的通道数降低,再经过3*3 Conv,最后经过一个1*1 的Conv 将feature map 通道数再增大。先“压缩”,最后“扩张”回去以此来降低参数和计算量。而 inverted residuals就是 先“扩张”,获取更多特征,最后“压缩”。

2.Linear bottlenecks,在residual block的Elementwise sum之前的那个 1*1 Conv 不再采用Relu,避免Relu对特征的破坏。


论文:https://arxiv.org/abs/1801.04381

mxnet复现代码GitHub:GitHub

网络结构图:mobilenet_v2


### Mobilenet_V2 的模型结构 Mobilenet_V2 是一种轻量化深度学习模型,专为移动设备和嵌入式系统设计。它的核心创新在于引入了 **倒残差结构 (Inverted Residuals)** 和 **线性瓶颈层 (Linear Bottlenecks)**,从而显著提高了计算效率并减少了参数数量。 #### 倒残差结构 传统的残差网络通常在输入特征图较宽的情况下进行降维操作,而在 Mobilenet_V2 中则相反——先通过逐点卷积扩展通道数,再利用深度可分离卷积减少计算复杂度[^1]。这种设计不仅保留了更多的特征信息,还降低了计算开销。 #### 主要组件 - **Depthwise Separable Convolution**: 这是一种分解传统卷积的方式,分为两步完成:首先是 Depthwise Convolution(仅对单个通道执行卷积),其次是 Pointwise Convolution(用于跨通道组合特征)。这种方法大幅减少了乘法次数。 - **Bottleneck Layers with Expansion Factor**: 在每个卷积模块中加入扩张因子来控制中间表示的空间大小。这一机制允许更灵活地调整模型容量以满足不同硬件需求[^3]。 - **Skip Connections**: 类似于 ResNet 架构中的跳跃连接被采用到每一个 block 当中, 只不过这里的 skip connection 并不是直接 copy input tensor 而是经过一次 projection operation 后才加回到 output 上去. ```python import torch.nn as nn class InvertedResidual(nn.Module): def __init__(self, inp, oup, stride, expand_ratio): super(InvertedResidual, self).__init__() hidden_dim = round(inp * expand_ratio) layers = [] if expand_ratio != 1: # pw layers.append(ConvBNReLU(inp, hidden_dim, kernel_size=1)) layers.extend([ # dw ConvBNReLU(hidden_dim, hidden_dim, stride=stride, groups=hidden_dim), # pw-linear nn.Conv2d(hidden_dim, oup, 1, 1, 0, bias=False), nn.BatchNorm2d(oup), ]) self.conv = nn.Sequential(*layers) self.use_res_connect = stride == 1 and inp == oup def forward(self, x): if self.use_res_connect: return x + self.conv(x) else: return self.conv(x) ``` 上述代码展示了如何构建一个基础的 `InvertedResidual` 模块。 --- ### 应用场景 由于其高效的特性和较小的模型尺寸,Mobilenet_V2 已经广泛应用于多个领域: #### 实时人脸识别与验证 借助高性能与低延迟的特点,在人脸检测、活体检测等方面表现出色。即使是在低端智能手机上也可以实现实时的人脸解锁功能[^4]。 #### 图像分类任务 作为骨干网络支持各种图像分类挑战赛,比如 ImageNet 数据集上的大规模视觉理解竞赛。凭借优秀的精度表现以及极短的推理时间赢得众多开发者青睐。 #### 物体检测跟踪 结合 Faster R-CNN 或 SSD 等目标检测算法框架,能够有效降低整体系统的资源消耗水平,特别适用于无人机巡检或者自动驾驶汽车环境感知环节当中。 #### 面部关键点定位(Facial Landmark Detection) 对于需要精确捕捉用户脸部轮廓的应用程序而言非常重要,例如 AR 滤镜效果生成器或是医疗美容咨询平台等服务均依赖于此技术提供更加自然逼真的体验感受。 --- ### 性能优势总结 - 更少 FLOPs 和 Parameters 数量意味着更低功耗; - 支持多种分辨率输入图片而不影响最终预测质量; - 易于移植至其他主流 DL Framework 如 TensorFlow Lite / ONNX Runtime 等工具链之上以便部署到 IoT 设备端侧运行;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值