深度学习之轻量化网络

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

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

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

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

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

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

1、剪枝:通过一定策略来过滤掉一些不重要的神经网络连接。然后再重新训练进行参数微调,

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值