MobileNet V1算法介绍记录

本文探讨了轻量化网络的发展背景,重点介绍了深度可分离卷积在减少计算量和参数量方面的优势,以及MobileNetV1的结构和加速1x1卷积的方法。通过分析能耗和优化策略,展示了如何在边缘计算设备上部署低能耗模型。

注:仅供自己学习记录

轻量化网络

从2015年开始机器的图片分类准确率超过人眼,随着逐渐发展到了2017年准确率已经很厉害,所以轻量化网络开始被关注

轻量化网络是需要部署在一些硬件设备上的模型,他不仅需要考虑识别的准确率,还要考虑搭载设备的计算量和内存等,所以要尽可能的缩减网络所需要的的计算量和参数量。例如无人驾驶、机器人、安防摄像头等本地边缘实时计算

边缘计算是部署在本地,不需要实现连接云服务器的设备,设备在本地就要进行计算和得出结果,不需要网络延迟、网络传输,也可以做到保护个人隐私。同时边缘终端设备的计算力很弱,需要做到端云协同

image-20220105162115180

image-20220105162335089

根据贾扬清的博士论文可以看到,神经网络在训练和运行时,GPU和CPU被占用最多的是卷积层的运算

image-20220105162827798

而且卷积层的运算量和时间是随着Batch Size的增大变的越来越大(全连接层的计算量后期被全局平均池化代替)

image-20220105162944350

计算机的能耗去了哪里?

从下图表中我们可以看到,加法的能耗最少,乘法的能耗是加法的4-5倍,读取内存的能耗最高,是前面两种操作的几百倍

图中也有读取内存的步骤,过度读取会导致能量消耗,浪费电能是一方面,另一方面会导致芯片的散热,所以要减少能耗

image-20220105163134053

节省能耗可以通过减少参数量、调整结构(让结构更规则)等方式来实现

轻量化网络可以分为四个方面进行学习

从参数量、计算量、内存访问量、耗时、能耗、碳排放、CUDA加速、对抗学习角度分析

        1)压缩已训练好的模型:知识蒸馏、权值量化、剪枝(权重剪枝和通道剪枝)、注意力迁移

        2)直接训练轻量化网络:SqueezeNet、MobileNetV1、V2、V3、ShuffleNet、Xception、EfficientNet、NasNet、DARTS

        3)加速卷积运算:im2col+GEMM、Winograd、低秩分解

        4)硬件部署:TensorRT、Jetson、Tensorflow-slim、Tensorflow-lite、Openvino

轻量化网络在任何一个研究领域都可以发挥自己相应的左右,例如NLP、计算机视觉、对抗学习等

现有模型的精度、计算量和参数量展示

图中可以看到不同模型结构的不同指标,图像中左上角的模型相对精度和参数量更小

评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值