雷锋网按:本文为英特尔中国研究院最新研究成果,主要介绍了一个名为“动态外科手术”算法,有效地解决了处理大型网络时重训练时间长,误剪枝率高的问题。利用该算法,我们可以轻易地将LeNet和AlexNet这两个经典网络的参数总量分别压缩108倍和17.7倍。
英特尔中国研究院于近期提出了一种名为“动态外科手术”的神经网络压缩算法,获得了业内的广泛关注以及国内外专家的高度评价。利用该方法,研究人员可以在保证原始模型性能不降的前提下大幅度压缩网络结构。让我们带您一起深入浅出地理解这一算法。
如果您有定期关注IT、互联网新闻的习惯,想必不会对深度学习(deep learning)一词感到陌生。深度学习的概念源于早期的针对人工神经网络的研究,其理念的核心在于通过深层神经网络(deep neural networks)完成对样本数据抽象表示的“学习”。自2006年深度学习的概念被首度提出,如今已经极大程度地改变了人工智能乃至整个互联网、IT领域的生态。经过十年的发展,该技术在包括人脸识别、语音识别、物体检测和自然语言处理在内的多个领域都表现出了顶尖的性能。
主流的深度网络之一:深度卷积神经网络
(图片来源:A tutorial on deep learning [3])
然而,深度学习距离“天下无敌”也还有一定的距离。制约其发展的主要瓶颈之一是深度网络极高的模型复杂度和消费级电子产品极有限的硬件资源之间的矛盾。事实上,时下许多主流的深度网络都包含千万级甚至是过亿的学习参数,而如此海量的参数给模型的存储和计算都带来了相当大的压力。因而,如何对训练好的深度网络进行压缩就成了困扰研究人员的一大难题。2015年的论文Learning both weights and connections for efficient neural networks提出了一种网络剪枝(network pruning)算法,可以在保持数据表示能力的前提下,将深度网络中的学习参数压缩10倍以上,在学界引起了广泛讨论。该论文也被发表在机器学习领域的顶级国际会议神经信息处理系统大会(Conference on Neural Information Processing Systems,以下简称“NIPS”),获得了巨大的影响力。
神经网络剪枝策略
(图片来源:Learning both weights and connections for efficient neural networks [1])
今年,英特尔中国研究院认知计算实验室郭怡文、姚安邦和陈玉荣三位研究员在深度学习领域取得突破性进展。他们所提出的动态外科手术(dynamic network surgery)算法,极其有效地解决了处理大型网络时重训练时间长,误剪枝率高的问题。利用该算法,我们可以轻易地将LeNet和AlexNet这两个经典网络的参数总量分别压缩108倍和17.7倍。
英特尔中国研究院认知计算实验室郭怡文、陈玉荣和姚安邦
该算法采取了剪枝与嫁接相结合、训练与压缩相同步的策略完成网络压缩任务。通过网络嫁接操作的引入,避免了错误剪枝所造成的性能损失,从而在实际操作中更好地逼近网络压缩的理论极限。
动外科手术策略
(虚线代表当前被切断的网络连接,而绿线代表通过嫁接重新建立的网络连接[2])
目前,该方法已被撰写成文,并将发表在本年度的NIPS会议上。作为机器学习领域的顶级会议,NIPS近年来一直保持着极低的论文接收率。而获准发表的论文也都会得到业内人士的极大关注,从而对机器学习的发展产生相当的推动作用。据悉,NIPS本年度收到的稿件总量约为2500篇,而接收率还不到23%。相信英特尔中国研究院的这项工作将会对学界和工业界产生巨大的影响。
图片来源:
[1] Han, Song, et al. "Learning both weights and connections for efficient neural networks." Advances in Neural Information Processing Systems, 2015.
[2] Guo, Yiwen, Yao, Anbang and Chen, Yurong. “Dynamic network surgery for efficient DNNs.” Arixv preprint, arXiv:1608.04493v1, 2016.
[3] Yu, Kai. “A tutorial on deep learning.” China Workshop on Machine Learning and Applications, 2012.
雷锋网注:本文由深度学习日记本er授权雷锋网发布,如需转载请联系原作者,并注明作者和出处不得删减内容。