NIPS 2016论文:英特尔中国研究院在神经网络压缩算法上的最新成果

http://www.leiphone.com/news/201609/OzDFhW8CX4YWt369.html

英特尔中国研究院深度学习领域最新成果——“动态外科手术”算法

2016-09-05 11:33 转载 粉红熊熊

雷锋网按:本文为英特尔中国研究院最新研究成果,主要介绍了一个名为“动态外科手术”算法,有效地解决了处理大型网络时重训练时间长,误剪枝率高的问题。利用该算法,我们可以轻易地将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授权雷锋网(搜索“雷锋网”公众号关注)发布,如需转载请联系原作者,并注明作者和出处不得删减内容。

NIPS 2016论文:英特尔中国研究院在神经网络压缩算法上的最新成果的更多相关文章

  1. 英特尔人工智能圆桌论坛举行 四位大咖论道AI

    英特尔人工智能圆桌论坛举行 四位大咖论道AI 2017-04-01 17:57     北京2017年4月1日电 /美通社/ -- 毫无疑问,人工智能已是最具变革力的发展趋势之一,在3月31日举行的2 ...

  2. NIPS 2016上22篇论文的实现汇集

    http://blog.csdn.net/jiandanjinxin/article/details/54087592 日前,LightOn CEO 兼联合创始人 Igor Carron 在其博客上放 ...

  3. Intel 英特尔

    英特尔 英特尔 基本资料   公司名称:英特尔(集成电路公司)    外文名称:Intel Corporation(Integrated Electronics Corporation)    总部地 ...

  4. 与英特尔分道扬镳,苹果的5G业务掉队了吗?

    5G概念已经大热,越来越多的厂商推出相关产品,中国骄傲之华为不仅在5G通信标准制定方面参与感非常强,也先于竞争对手推出5G智能终端,连同三星/Vivo等也纷纷推出5G终端,而作为智能手机市场绝对的利润 ...

  5. 英特尔与 Facebook 合作采用第三代英特尔® 至强® 可扩展处理器和支持 BFloat16 加速的英特尔® 深度学习加速技术,提高 PyTorch 性能

    英特尔与 Facebook 曾联手合作,在多卡训练工作负载中验证了 BFloat16 (BF16) 的优势:在不修改训练超参数的情况下,BFloat16 与单精度 32 位浮点数 (FP32) 得到了 ...

  6. 基于英特尔® 至强™ 处理器 E5 产品家族的多节点分布式内存系统上的 Caffe* 培训

    原文链接 深度神经网络 (DNN) 培训属于计算密集型项目,需要在现代计算平台上花费数日或数周的时间方可完成. 在最近的一篇文章<基于英特尔® 至强™ E5 产品家族的单节点 Caffe 评分和 ...

  7. [转帖]迎战AMD 7nm 64核EPYC 英特尔至强也玩起了胶水以及性价比

    迎战AMD 7nm 64核EPYC 英特尔至强也玩起了胶水以及性价比 Intel 最强CPU 从最开始的双核 到现在的 28核 发展迅猛. https://www.cnbeta.com/article ...

  8. [转帖]AMD、英特尔为何争相走向胶水多核处理器?真相在此

    AMD.英特尔为何争相走向胶水多核处理器?真相在此 胶水多核到底好不好?这个事不是简单一句话能说明的,今天的超能课堂里我们就来聊聊MCM胶水多核技术的过去及未来. 作者:孟宪瑞来源:超能网|2018- ...

  9. 现代英特尔® 架构上的 TensorFlow* 优化——正如去年参加Intel AI会议一样,Intel自己提供了对接自己AI CPU优化版本的Tensorflow,下载链接见后,同时可以基于谷歌官方的tf版本直接编译生成安装包

    现代英特尔® 架构上的 TensorFlow* 优化 转自:https://software.intel.com/zh-cn/articles/tensorflow-optimizations-on- ...

随机推荐

  1. photoshop 魔术橡皮擦

    魔术棒和橡皮的结合,不用解锁就能抠图

  2. Android BuildConfig.DEBUG的妙用

    在Android开发中,我们使用android.util.Log来打印日志,方便我们的开发调试.但是这些代码不想在发布后执行,我们并不想在软件发布后调试日志被其他开发者看到,现在我的方法是设置一个全局 ...

  3. jQuery实现父窗口的问题

    因为先前遇到的问题,所以我考虑采用 IFRAME 来隔离不同的脚本,从而实现我需要的效果. 在框架中,我用 JavaScript 获取 JSON 数据,组织成 HTML 代码,最后将其填充至上层文档的 ...

  4. HDU5907 Find Q 数学

    题目大意:求当前串中只含q的连续子串的个数 题目思路:水题,但要注意的是计算过程中可能超int范围; #include<iostream> #include<algorithm> ...

  5. PHP 实现定时任务的几种方法

    一. 简单直接不顾后果型 <?php ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行. set_time_limit(0);// 通过set_time_limi ...

  6. Android :android.os.Process.myTid()与 Thread.currentThread().getId();

    这两种方式得到的ID并不是相同的,前者的返回值是int,后者是long. 个人猜测:应该是一个线程的两种得到的方式.类似于一个人有2个名字. 如有不对,请指正!

  7. postgresql 在linux上的源码安装

    http://my.oschina.net/hippora/blog/375292 下载源码并解压 [root@fnddb ~]# wget https://ftp.postgresql.org/pu ...

  8. java数据结构之有序表查找

    这篇文章是关于有序表的查找,主要包括了顺序查找的优化用法.折半查找.插值查找.斐波那契查找: 顺序优化查找:效率极为底下,但是算法简单,适用于小型数据查找: 折半查找:又称为二分查找,它是从查找表的中 ...

  9. java 常见异常总结

    异常1:java.util.NoSuchElementException: No line found 原因:Java 是顺序执行的 你执行到.close() 后就代表 你关闭了 流,你再去调用已经被 ...

  10. haxe 中使用音效

    将wavSound.wav音效文件放到assets/sounds下, 在project.xml加入以下代码: <assets path="assets/sounds" ren ...