人工智能大力发展的趋势下,移动端和嵌入式设备上部署是迫切需求,由于现如今模型越来越深,越来越大,所以轻量化是有必要的。

轻量化网络要做什么呢?在尽量保持精度的前提下,从体积和速度两方面对网络进行轻量化改造。

轻量化网络是当下及以后都是一个迫切的需求,不论是自动驾驶、机器人视觉、无人机、人脸识别还是目标检测、在面试中也是高频问题,其发展也有一定的历程,包括经典的SqueezeNet、ShuffleNet、ModileNet、EfficientNet、MicroNet。

那轻量化网络主要要干什么呢?轻量化主要解决模型精度与算力、存储空间大的矛盾。其主要从几个方面做:(1)直接设计轻量化网络;该网络能有更少的参数量和计算量、拥有好模型相当的精度。(2)通过知识蒸馏、剪枝、量化、低秩分解等技术进行模型压缩。(3)通过硬件加速。

① 奇异值分解(SVD):一般我们用特征值、特征向量就可以对一个方阵进行特征分解,但是如果矩阵的行、列数各不相同就可以用奇异值矩阵进行分解,其基本的原理是,分别左右乘矩阵的转置矩阵变成方阵,在求特征值。优点:有一些SVD算法可以不用先求出来协方差矩阵,也可以求出左右奇异矩阵;左奇异矩阵可以用于行数的压缩;右奇异矩阵可以用于列数(特征维度)的压缩,也就是常说的PCA降维,可以简单理解为将不重要的(对整体结果影响不大)权重去掉。

③ 深度压缩主要结合了剪枝,量化和无损压缩霍夫曼编码的方法,将卷积神经网络的权重大大的压缩了,而且用于FPGA的部署。剪枝,量化降低了权重数量,提高了计算速率;无损压缩霍夫曼编码降低存储空间,但由于他还需要解码,所以总的来说,深度压缩并不会提高计算率,越深的网络压缩比例越大

1、剪枝:通过一定策略来过滤掉一些不重要的神经网络连接。然后再重新训练进行参数微调,不断重复这个过程直到不能够再进行剪枝为止,在imageNet数据集上,剪枝方法可以将AlexNet的参数数量减少9倍而没有精度上的损失。VGG-16同样有类似的现象,参数总量可以减少13倍左右而没有精度损失。

2、量化:权值的共享和聚类。聚类采用k-means的方法,可以将原来的32bit降到log2(k)

在同一层之间权重共享,不同层的权重分别进行聚类。原因在于:同一层的权重之间以“求和”的方数进行连接,不同层的权重用“相乘”的方式进行连接,不同层之间还有激活函数、归一化函数等等。

④ 硬件加速器:通过硬件来加速网络的运算,现在研究比较热门的忆阻器可以作为选择,还有就是随机计算。

在以后我回专门做一个专栏来总结和讲解一些经典的轻量化网络哦,喜欢的可以加关注。

深度学习之轻量化网络相关推荐

  1. 深度学习模型轻量化(下)

    深度学习模型轻量化(下) 2.4 蒸馏 2.4.1 蒸馏流程 蒸馏本质是student对teacher的拟合,从teacher中汲取养分,学到知识,不仅仅可以用到模型压缩和加速中.蒸馏常见流程如下图所 ...

  2. 深度学习模型轻量化(上)

    深度学习模型轻量化(上) 移动端模型必须满足模型尺寸小.计算复杂度低.电池耗电量低.下发更新部署灵活等条件. 模型压缩和加速是两个不同的话题,有时候压缩并不一定能带来加速的效果,有时候又是相辅相成的. ...

  3. 【深度学习】轻量化CNN网络MobileNet系列详解

    深度学习100问 Author:louwill Machine Learning Lab MobileNet系列作为轻量级网络的代表,使得CNN轻量化和移动端的部署成为可能.MobileNet系列目前 ...

  4. 旷世轻量化网络ShuffulNetV2学习笔记

    旷世轻量化网络ShuffulNetV2学习笔记 ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design Ab ...

  5. 【轻量化网络系列(2)】MobileNetV2论文超详细解读(翻译 +学习笔记+代码实现)

    前言 上一篇我们介绍了MobileNetV1,主要是将普通Conv转换为dw和pw,但是在dw中训练出来可能会很多0,也就是depthwise部分得到卷积核会废掉,即卷积核参数大部分为0,因为权重数量 ...

  6. 突破置换模块计算瓶颈,MSRA开源轻量版HRNet,超越主流轻量化网络!|CVPR2021...

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨happy 审稿丨邓富城 编辑丨极市平台 极市导读 本文从HRNet与轻量化网络ShuffleN ...

  7. 【论文解读】突破置换模块计算瓶颈,MSRA开源轻量版HRNet,超越主流轻量化网络!|CVPR2021...

    作者丨happy 审稿丨邓富城 编辑丨极市平台 极市导读 本文从HRNet与轻量化网络ShuffleNet的组合出发,针对置换模块存在的计算瓶颈问题,提出了一种高效条件通道加权单元替换1x1卷积,并得 ...

  8. YOLOv5改进之十三:主干网络C3替换为轻量化网络EfficientNetv2

     ​前 言:作为当前先进的深度学习目标检测算法YOLOv5,已经集合了大量的trick,但是还是有提高和改进的空间,针对具体应用场景下的检测难点,可以不同的改进方法.此后的系列文章,将重点对YOLOv ...

  9. 轻量化网络—ShuffleNet V1 V2理解

    轻量化网络-ShuffleNetV2理解 ShuffleNetV2原始论文:https://openaccess.thecvf.com/content_ECCV_2018/html/Ningning_ ...

最新文章

  1. 第十五周程序阅读-范型程序设计(6)
  2. mysql my.cnf 找不到_为什么我在mysql的my.cnf下找不到bind-address?
  3. java网络编程之TCP通讯
  4. PyQt5 官方文档
  5. 许可证( License LicenseLicenseLicenseLicenseLicense)服务器配置
  6. 『软件测试3』八大典型的黑盒测试方法已来袭,快快接住!
  7. Java并发教程–线程池
  8. Redis是单线程为什么还那么快?
  9. Qt笔记-QCryptographicHash摘要算法调用(MD5,SHA等)
  10. 樊登高效休息法读书心得_读书时间丨高效休息法:让身体和大脑彻底放松的七个方法...
  11. 研磨设计模式之《观察者模式observer》
  12. 注册测绘师 案例分析
  13. word for Mac 符号插入
  14. java基本数据类型存放在哪?
  15. 华为推送服务回执证书即将到期,尽快更新
  16. x5650服务器装系统,笔记本处理器天梯图,小猪教您最新笔记本显卡天梯图
  17. EMM系列1:EMM和ECM状态
  18. SQL之 CAST 和 CONVERT
  19. TCP/IP协议十二:关于MAC地址和IP地址在传输过程中变与不变的问题
  20. AIX PowerPC体系结构及其溢出技术学习笔记

热门文章

  1. VI/VIM下如何搜索字符串
  2. x265源码分析:SAO 函数总结及逻辑关系图
  3. 目标跟踪Tracker
  4. 为什么编程时间从1970年1月1日开始?
  5. word文件太大怎么压缩变小?
  6. OSChina 周三乱弹 ——女盆友生气了,如何使她平稳的漏气
  7. python opencv vscode 增加自动补全 auto completement
  8. Linux笔记(六)——权限的基本介绍,修改权限,修改文件/目录的所有者及所在组
  9. 使用sqlserver management studio创建新用户
  10. 自养号测评对亚马逊、Lazada有哪些技术要求,对卖家有哪些好处?