原文链接:https://www.yuque.com/yahei/hey-yahei/mobilenet_family
MobileNet自2017年发布v1以来就被广泛应用在移动端,随后又分别在2018年和2019年发布了v2和v3。去年《MobileNets v1模型解析 | Hey~YaHei!》一文中已经讨论过v1的主要贡献,趁着前阵子*(已经是两个月前了其实)*刚刚发布v3,不妨把整个MobileNet家族放在一起稍作讨论。
MobileNet v1
论文:《MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications(2017)》
主要贡献
- 用深度可分离卷积(DW卷积提取特征+点卷积组合特征)取代传统的卷积,大幅提升特征提取的效率
- 进而利用深度可分离卷积设计出高效的直筒式网络MobileNet
深度可分离卷积
基本思路
将普通卷积的过程分解为“滤波”和“组合”两个阶段——
如上图,
假设 M M M 通道输入图 I I I 大小为 D I × D I D_I \times D_I DI×DI,经过一个核大小 D K × D K D_K \times D_K DK×DK 的卷积层,最终输出一张大小为 D O × D O D_O \times D_O DO×DO 的 N N N 特征图 O O O
- ①阶段为“滤波”阶段, N N N 个卷积核分别作用在图 I I I 的每个通道上提取特征,最终输出 N N N 张大小为 D O × D O D_O \times D_O DO×DO 的单通道特征图;
- ②阶段为“组合”阶段, N N N 张特征图堆叠组合起来,得到一张 N N N 通道的特征图 O O O
更详细地,①过程还能进一步分解——
如上图,将①阶段进一步细分为 Ⅰ 到 Ⅳ 四个子阶段,
- Ⅰ 阶段,将原图 I I I 按通道分离成 { I 1 , I 2 , . . . , I M } \{ I_1, I_2, ..., I_M \} { I1,I2,...,IM} 的 M M M 张单通道图;
- Ⅱ 阶段,用M个卷积核 K m K_m Km 对各个单通道图提取特征,分别得到一张大小为 D O × D O D_O \times D_O