赞
踩
需要部署,设备内存和计算能力有限,需要进行模型压缩,在设备上运行的好处是低延迟,隐私性。
不考虑硬件问题,只考虑通过软件算法优化。
参数过多或者没有用的参数,可以将其剪掉。
先训练一个最大的网络模型,衡量评估每个参数的重要性,
修剪后能力会降低一点,并想办法将性能变好一点,对小模型进行微调
如果剪掉后,进行空缺的话导致无法进行GPU加速,一般将其值设置为0
速度大于1是加速,小于1是降速。
从上述看到对权重进行修剪,加速的效果不理想。
一个大的模型可以看作是很多个小模型的集合,只要里面有一个成功,大的模型也就成功了,跟买大乐透一样,买的彩票越多,越有可能中奖。
让学生的输出与老师的输出尽可能相近,哪怕老师的模型输出是错误的。
teacher不仅是一个模型,可以是多个模型的集成。模型集成在打比赛的时候用的多,但是实际中考虑性能问题不太行,因此可以使用知识蒸馏使得学生模型也能得到相近的性能。
对softmax进行修改,增加一个温度参数T,把比较集中的分布变得更加平滑一点,对分类结果不会有影响,但是每个类别得到的分数会比较平滑平均
使用二元值代替
depthwise separable convolution
传统的cnn 每个通道都要进行卷积,参数量大。
可以先加一个pointwise convolution,然后再进行depthwise convolution;
期望网络能自己调整计算量,因为模型会跑到不同设备上。电量的多少也会对性能有影响。
自己调整深度
让每层的输出,与最终的输出之间的差距加起来作为最终的loss,优化该loss来动态调整深度。
自己调整宽度
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。