深度学习高效化与专用处理芯片设计.doc

深度学习高效化与专用处理芯片设计.doc

ID:28103779

大小:1.49 MB

页数:37页

时间:2018-12-08

深度学习高效化与专用处理芯片设计.doc_第1页
深度学习高效化与专用处理芯片设计.doc_第2页
深度学习高效化与专用处理芯片设计.doc_第3页
深度学习高效化与专用处理芯片设计.doc_第4页
深度学习高效化与专用处理芯片设计.doc_第5页
资源描述:

《深度学习高效化与专用处理芯片设计.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、深度学习高效化与专用处理芯片设计  上图是本次汇报的大纲,主要从深度学习发展现状、面临的挑战、神经网络加速算法设计、深度学习芯片设计和对未来的展望五个方面来展开。    首先我们来看一下深度学习的发展现状。毋庸置疑的是深度学习目前在各个领域都取得了一些突破性的进展,上图展示了深度学习目前广泛应用的领域。    深度学习近年来取得的长足发展离不开三个方面,上图展示了其不可或缺的三个要素。一是随着互联网的发展产生的大数据,二是游戏行业的发展促使的如GPU计算资源的迅速发展,三是近年来研究者们对于深度学习模型的研究。在目前的情况下,给定一个应用场景,

2、我们可以使用大量的数据和计算资源搭建非常深的网络模型来达到比较高的性能。然而在实际应用中,这些复杂网络由于需要很高的计算量难以很好地部署到设备上以满足实际应用的需求,所以如何减少深度神经网络计算量,成为深度学习领域中的研究热点。    另一方面,面向深度学习设计的芯片也受到了越来越多的关注。目前一些通用的芯片如CPU不能很好地适应神经网络这种计算量非常密集的操作,而计算能力强大的GPU由于其价格和功耗因素很难在大量终端设备上部署。所以如何设计一个面向深度学习的专用芯片达到速度和功耗的要求是目前比较火热的研究方向。    虽然现在对神经网络模型设

3、计和深度学习芯片设计的研究很多,但依旧面临很多挑战。    面临的挑战之一是越来越复杂的网络模型,上图展示了近年来主流网络模型的参数和计算量等信息。可以看出随着网络规模越来越大,网络结构越来越复杂,由此带来的越来越大的计算量会是一个挑战。    面临的挑战之二是深度学习复杂多变的应用场景,主要包括在移动设备上算不好、穿戴设备上算不了、数据中心算不起三个方面。由于移动设备和可穿戴设备本身硬件比较小,允许运行的计算量非常有限,在面临非常复杂多变的应用场景的时候,往往不能满足实际需求。而目前存在的一些移动中心的计算由于其代价昂贵使得大多数人只能望而却

4、步。    面临的挑战之三是近年来摩尔定理随着时间推移的失效,不能像以前一样仅仅依靠在硬件上堆叠晶体管来实现物理层面的性能提升。    目前深度学习面临的三个挑战促使我们从两个方面去思考,一是网络模型本身优化的问题,二是设计面向深度学习专用芯片来实现神经网络的高效计算。下面分别从这两个方面进行阐述。    在深度学习模型的优化计算方面,包括一些最近几年研究的工作,上图展示了三种方式,下面主要列出了一些比较适合芯片的神经网络加速计算的方法。  首先对于神经网络大部分的计算,无论是卷积层还是全连接层都可以转换成矩阵乘的基础操作,上图展示了这个过程,

5、所以对矩阵乘进行加速的方法都可以引入到神经网络的加速中来,包括低秩分解、网络稀疏化、低精度表示等方法。    上图展示了低秩分解的基本思想,将原来大的权重矩阵分解成多个小的矩阵,右边的小矩阵的计算量都比原来大矩阵的计算量要小,这是低秩分解的基本出发点。    低秩分解有很多方法,最基本的是奇异值分解SVD。上图是微软在2016年的工作,将卷积核矩阵先做成一个二维的矩阵,再做SVD分解。上图右侧相当于用一个R的卷积核做卷积,再对R的特征映射做深入的操作。从上面可以看到,虽然这个R的秩非常小,但是输入的通道S还是非常大的。    为了解决SVD分解

6、过程中通道S比较大的问题,我们从另一个角度出发,沿着输入的方向对S做降维操作,这就是上图展示的Tucker分解的思想。具体操作过程是:将原来的卷积,首先在S维度上做一个低维的表达,再做一个正常的3×3的卷积,最后再做一个升维的操作。    在SVD分解和Tucker分解之后的一些工作主要是做了更进一步的分解。上图展示了使用微调的CP分解加速神经网络的方法。在原来的四维张量上,在每个维度上都做类似1×1的卷积,转化为第二行的形式,在每一个维度上都用很小的卷积核去做卷积。在空间维度上,大部分都是3×3的卷积,所以空间的维度很小,可以转化

7、成第三行的形式,在输入和输出通道上做低维分解,但是在空间维度上不做分解,类似于MobileNet。    上图展示了我们在2016年的工作,结合了上述两种分解方法各自的优势。首先把输入参数做降维,然后在第二个卷积的时候,做分组操作,这样可以降低第二个3×3卷积的计算量,最后再做升维操作。另一方面由于分组是分块卷积,它是有结构的稀疏,所以在实际中可以达到非常高的加速,我们使用VGG网络在手机上的实验可以达到5-6倍的实际加速效果。    第二个方面是网络的剪枝,基本思想是删除卷积层中一些不重要的连接。    上图展示了在NIP2015上提出的非常

8、经典的三阶段剪枝的方法。首先训练一个全精度网络,随后删除一些不重要的节点,后面再去训练权重。这种非结构化的剪枝的方法,虽然它的理论计算量可以压缩到很低

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。