light weight neural network-01-MobileNets

论文题目:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

发表会议:2017-CVPR

 

1、相关工作

本文创新点:

  • 提出了一类新型网络架构,根据应用需求与资源限制(延迟,大小),构建相匹配的小型网络
  • MobileNets主要致力于优化延迟,但也可以产生小型网络
  • MobileNets 主要基于深度可分离卷积构成,通过设置两个超参数,实现准确率和延时性之间的平衡

轻量化网络在方法上可以分为两大类,

  1. 模型压缩:在已经训练好的模型上进行压缩,使得网络携带更少的网络参数
  2. 直接训练一个小型网络:从改变网络结构出发,设计出更高效的网络计算方式,从而使网络参数减少的同时,不损失网络的性能

模型表现:

2、模型结构

 

标准卷积与深度可分离卷积对比

宽度超参数与分辨率超参数

网络还引入了两个超参数进一步降低网络运算的消耗,此外还方便使用者根据需求获得合适大小的网络

3、后续改进

3.1、MobileNet-V2

  • Linear bottlenecks:作者认为在低维空间,加入Relu会破坏特征,因此在降低分辨率的卷积层不再加入Relu等激活函数,【ps:为魔改找借口,既然是低维不能加非线性,不应该在特征图降到多少之后不设置非线性吗?】
  • Inverted Residuals:作者认为MobileNet的深度卷积维度本身就很少了,因此提出先升维,后卷积,再进行降维的操作提取更多有效的特征

3.2、MobileNet-V3

TODO:图中各部分是什么网络?

4、 实验结果及分析

 4、代码实现

Imagenet数据集下载地址:https://simon32.github.io/2018/01/09/image-net/

class dw_conv(nn.Module):
    def __init__(self, in_dim, out_dim, stride):
        super(dw_conv, self).__init__()
        self.dw_conv_k3 = nn.Conv2d(
            in_dim, out_dim, kernel_size=3, stride=stride, groups=in_dim, bias=False)
        self.bn = nn.BatchNorm2d(out_dim)
        self.relu = nn.ReLU(inplace=True)

    def forward(self, x):
        x = self.dw_conv_k3(x)
        x = self.bn(x)
        x = self.relu(x)
        return x


class point_conv(nn.Module):
    def __init__(self, in_dim, out_dim):
        super(point_conv, self).__init__()
        self.p_conv_k1 = nn.Conv2d(in_dim, out_dim, kernel_size=1, bias=False)
        self.bn = nn.BatchNorm2d(out_dim)
        self.relu = nn.ReLU(inplace=True)

    def forward(self, x):
        x = self.p_conv_k1(x)
        x = self.bn(x)
        x = self.relu(x)
        return x

 

本文为深度之眼paper论文班的学习笔记,仅供自己学习使用,如有问题欢迎讨论!关于课程可以扫描下图二维码

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值