本文主要介绍关于模型压缩/优化系统学习的内容,找论文学习有方向。并不提供详尽内容与代码。后面提供一些论文。下面所有内容,够你成为学习模型优化方面大神了,别求代码,自己写出来领悟更多。
1 压缩加速系统
1.1 卷积核张量的低秩分解
1.1.1 迭代法
1.1.2 SVD
1.2 网络剪枝
1.3 网络参数量化
1.3.1 线性量化
1.3.1.1 对称
1.3.1.2 不对称
1.3.1.3 极限二值化
1.3.2 非线性量化
1.3.2.1 对数
1.3.2.2 k-means
1.3.2.3 哈希网络
1.4 数学方法
1.4.1 im2col
这些都是,方法异曲同工。
1.4.2 layer融合
2 轻量化卷积神经网络的设计
2.1 以网络深度代替网络宽度
2.2 用小的卷积核
2.3 卷积层的输入、输出通道尽可能小
2.4 推延下采样层,全局下采样
2.5 全局平均池化层替代全连接层
2.6 可能精简同时保证网络精度
2.7 short-cut合理设计
3 老师-学生训练模型
这个应该算迁移的应用吧
4 知识蒸馏 ?
应该写在第一部分,但是这里东西太多了
论文
这些论文可以作为参考,这两个基本就够了,还缺一方面的。主要看摘要,然后相关的资源学习。
朱瑞. 基于卷积神经网络的图像识别算法的研究[D].
陈伟杰. 卷积神经网络的加速及压缩[D].
注:还有很多优秀的论文,可以在这两个人的参考文献中找到,可以拿来学习。
处理模型流程
1 层的融合 / 教师-学生系统+retrain:目的简化模型复杂度
2 模型优化 :目的加速conv和fc运算
2.1 剪枝+retrain
2.2 知识蒸馏+retrain
2.3 张量分解+retrain
3 模型量化:目的减小体积
建议:如果第一次接触,建议keras学习,h5模型能用软件打开,可以一步步实现上面内容,在做组合。