MoblieNetV1V2V3
V1
可分离卷积(深度卷积depthwise+逐点卷积pointwise)
最主要就是为了减少参数量,而且准确率差得不多
对比标准卷积,参数量和计算量都少了很多
v1的一个block
Relu6,感觉还是为了防止梯度爆炸吧
V2
Inverted residuals
对stride为1的block加入残差结构,先升维(维度太低,卷积效果不好。这里可以与v1对比),卷积,再降维
跟v1比多了先升维,逆残差,bottleneck( 把最后的那个ReLU6换成Linear ,作者把这个部分称为linear bottleleneck)
V3
--更新Block(benck)
--使用h-swish和h-sigmoid
--使用NAS搜索参数(不熟)
--引入se通道注意力结构
--重新设计耗时层
v3的block
h-swish激活函数
将swish替换成h-swish,sigmoid替换成h-sigmoid
跟swish对比,hswish/hsigmoid函数更“hard”一点,相当于是swish的低精度化,但减少了计算量。
se通道注意力
注意力机制 SE通道注意力 - 知乎 (zhihu.com)
结构图
se是一个即插即用的模块,对于需要从channel角度赋予图像不同权重需求的时候就可以用。
重新设计了耗时层
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构