让你的模型在边缘设备上高效推理的算法
|
的相反,剪枝与砍树无关。在机器学习中,为了得到一个更小、更快的网络,模型剪枝包括去除不重要的权重。 1989年,Yann Le Cun在他的论文“Optimal Brain Damage”中首次提出了模型剪枝。该思想是采取一个完全训练的网络,删除修剪权值将导致最小化的目标函数增加。各参数的贡献可用海森矩阵近似表示。一旦去除了不重要的权值,较小的网络就可以再次训练,这个过程可以重复几次,直到网络有一个令人满意的大小和一个合理的性能。 从那时起,大量的剪枝技术的变化发展起来。Han等人,2015年,在“Learning both Weights and Connections for Efficient Neural Networks”中,引入了一个三步方法,由神经网络的训练,然后修剪低于选择阈值的连接权值,最后再训练稀疏网络学习最后剩下的连接权重。
你可能想知道:如何确定剪枝阈值?好问题!卷积层和全连接层都可以修剪,然而,经验表明,卷积层比全连接层对剪枝更敏感。因此,需要根据各层的 报告,在NVIDIA Titan X GPU上重新训练修剪过的AlexNet需要173个小时。但再训练时间不是一个关键问题,因为最终目标是让较小的模型在资源有限的设备上快速运行。 在ImageNet上,该方法将AlexNet的参数数量减少了9倍(从6100万个参数减少到670万个),将VGG-16的参数数量减少了13倍(从1.38亿个参数减少到1030万个)。经过剪枝后,AlexNet和VGGNet的存储需求大大降低,所有的权值都可以存储在芯片上,而不是存储在芯片外的DRAM上(访问DRAM需要消耗大量的能量)。 2 . 深度压缩 神经网络既需要大量计算,又需要大量内存,因此很难在硬件资源有限的嵌入式系统上部署它们。为了解决这个限制,“Deep Compression“论文,来自Han等,介绍了一个3步走的pipeline:剪枝,训练好模型的量化,霍夫曼编码,在共同努力下,减少神经网络的存储需求35 - 49倍,但是不影响其准确性。 (编辑:桂林站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


