计算机系统应用教程网站

网站首页 > 技术文章 正文

卷积神经网络CNN总结(七)

btikc 2024-09-05 12:40:12 技术文章 49 ℃ 0 评论

MobileNet v3

MobileNet-v3同样是由谷歌于于2019年提出新版本的MobileNet。在MobileNet-v2网络的基础上,MobileNet-v3提出了四个大的改进措施。

  • 使用NAS神经架构搜索确定网络结构
  • 在MobileNet-v2的block基础上引入Squeeze and Excitation结构
  • 使用h-swish激活函数
  • 对MobileNet-v2网络尾部结构进行改进

MobileNet-v3论文为Searching for MobileNetV3,将神经架构搜索引入模型中。

关于神经架构搜索NAS这里不细说,感兴趣的朋友可以直接查阅NAS相关论文。MobileNet-v3第二个改进措施就是在v2基础上引入squeeze and excitation结构(可以看看我博客有论文和代码解读),这是一个对通道之间相互依赖关系进行建模的操作。

Squeeze and Excitation包括Squeeze(压缩)和Excitation(激活)两个部分。其中Squeeze通过在特征图上执行Global Average Pooling得到当前特征图的全局压缩特征向量,Excitation通过两层全连接得到特征图中每个通道的权值,并将加权后的特征图作为下一层网络的输入。所以可以看到SE block只跟当前的一组特征图存在依赖关系,因此可以非常容易的嵌入到几乎现在所有的卷积网络中。

MobileNet-v3在MobileNet-v2基础上,改进的block如下图所示。

MobileNet-v3第三个改进点是使用了h-swish激活函数。h-swish激活函数是基于swish的改进,swish激活函数表达式如下:

swish激活函数图像在β取0.1、1.0和10.0时如下图所示:

swish激活函数在一系列深度卷积网络上都对效果有显著提升,但作者认为,作为一个轻量化的网络,swish激活虽然能带来精度提升,但在移动设备上会有速度损失。所以在swish函数的基础上,MobileNet-v3对其进行了改进,提出了h-swish激活函数。

h-swish的基本想法是用一个近似函数来逼近swish函数,让swish函数变得不那么光滑,基于MobileNet-v1和v2的经验,MobileNet-v3还是选择了ReLU6。变换逻辑如下图所示。

swish和h-swish函数对比图像:

可以将h-swish视为swish的低精度化模式,相较于swish,h-swish能够保持相同精度的条件下减少时间和计算量的开销。

总结

MobileNet-v1就是加了深度可分离卷积的VGG;MobileNet-v2则是在v1基础上加了Linear激活、Expansion layer和Inverted residual三大关键操作;而MobileNet-v3则是在v2基础上引入NAS,并且加入Squeeze and Excitation结构、h-swish激活和网络尾部优化等改进措施。v2网络的基础上,v3提出了四个大的改进措施。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表