神经网络部署--网络压缩技术Network Compression

1 network pruning

network pruning技术的思路是:训练一个大的神经网络→评价网络中参数和神经元的重要度→根据重要度排序,移除不重要的weight和神经元(置0)
在这里插入图片描述
为什么要训练一个大的网络再压缩,而不是直接训练一个小的网络呢?
因为研究表明,大的网络比较容易训练,效果也更好。

2 knowledge distillation

训练一个大的,效果好的神经网络→训练一个小的网络,但是损失函数不以实际值为参照,而是以大的网络的输出为参照进行训练
这种做法通常效果不佳

3 parameter quantization

parameter quantization是一种减少神经网络需要的储存空间的技术

  • 采用较少的bit来储存神经网络的值
  • 首先将weight进行聚类,直接储存类别和类别代表的值,而不是储存每一个weight,这样就会减少存储的需要的空间
  • 也可以采用huffman编码等方式来减少储存
  • 采用binary connect来设置权重,即权重都是+1或者-1

4 Architecture Design

设计网络架构来减少权重的个数,例如下图的网络,从前一层神经元个数N到后面一层神经元个数是M,W的个数为N×M。
在这里插入图片描述
如果在两层之间增加一层的话,如下图所示,那么W的个数为N×K+M×K,合理设置K的值,就能使权重的数量减少
在这里插入图片描述
现在采用这种技术的网络主要有:

  • depth separable convolution
  • squeezeNet
  • mobileNet
  • shuffleNet
  • Xception

5 dynamic computaion

动态计算追寻的是一种“先求有,再求好”理念,例如著名的Multi-Scale Dense Networks,首先训练一个多重分类器,然后在选择其中某一层的输出作为最终的分类器。
在这里插入图片描述
训练完一整个分类器后,可以将layer1或者layer2的输出作为压缩的分类器使用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值