APP下载

浅谈深度学习的硬件加速

2017-09-20周一

科学家 2017年16期
关键词:深度学习算法

周一

摘 要 近年來,随着深度学习算法的突破和当前计算能力的局限性,硬件加速受到越来越多的关注,许多研究机构对硬件加速器进行了广泛而深入的研究。本文介绍了深度学习算法的原理,分析了不同的硬件解决方案的优缺点,并展望了硬件加速的未来前景。

关键词 深度学习;算法;硬件加速

中图分类号 TP2 文献标识码 A 文章编号 2095-6363(2017)16-0134-02

1 深度学习原理

1.1 深度学习概念

深度学习是机器学习中一个非常接近人工智能的领域,它的目的在于建立一个神经网络以模拟人脑的学习和分析的过程。深度学习的主要思想就是堆叠多个层,将低层的输出作为更高一层的输入,含多隐层的多层感知器就是一种深度学习结构的体现。通过这样的方式,深度学习能够通过组合低层特征来形成更为抽象的高层表示属性,从而发现数据的分布式特征表示[1]。

以学习中有没有标签作为标准,深度学习的方式分为监督学习和无监督学习。两种不同的学习框架下建立的学习模型也是存在差别的。比如,卷积神经网络(CNN)即是一种深度的监督学习的机器学习模型,而深度置信网络(DBN)则是一种无监督学习的机器学习

模型。

1.2 卷积神经网络(CNN)

卷积神经网络(Convolutional Neural Networks)是一种特殊的深层的神经网络模型,它已经发展成为语音和图像识别的研究热点。CNN的提出是为了满足最小化数据预处理的要求。在CNN中,图像的局部感受野作为高一层结构的最底层输入,每层通过一个数字滤波器去提取数据最显著的特征,通过这样的方式网络能够获取对位移、缩放和旋转不变的观测数据的显著特征CNN的网络结构大致如图1所示。

C1层的3个映射图是卷积之后的结果。S2层中的3个图分别是对C1中的3个特征映射图中的特定尺寸的区域进行采样的结果,这个过程称为pooling。Pooling 分为max pooling和mean pooling。其中max pooling就是选出该区域中最大的像素点。通过pooling,可以进一步实现降维。之后重复之前的卷积和pooling的过程,最后形成一个一维向量输入到传统的神经网络[2]。

2 深度学习算法的硬件发展现状

PC机一般只有一个CPU,只能串行执行,没有充分发挥神经网络并行执行的优点。随着神经网络尺寸的不断加大,仿真时间复杂度迅速增大,因此,软件模拟执行只适用于规模小,速度慢,对实时性要求不高的场合。采用硬件实现神经网络,抗干扰能力强,适用于自控应用,不用程序控制。全并行执行时的系统可以取得不依赖于网络规模大小的执行速度。目前几种主流实现深度学习算法的硬件主要包括CPU、GPU、ASIC以及FPGA。

2.1 CPU

在过去的10多年中,CPU的性能得到了极大提升,但是,串行处理的特点成为了其在深度学习领域的致命缺点。尽管多核使得它能够在一定程度上实现并行处理,但是也只是体现在小数据集上。对于大规模和复杂数据集,其处理能力还远远不够。

2.2 GPU

相比于CPU,GPU具有更加强大的并行处理能力,其处理速度能达到CPU的10倍以上。GPU具有出色的浮点计算性能,在满足所需精准度的同时,能够快速处理分类和卷积运算。相对传统CPU的方式,拥有更快的处理速度、更少的服务器投入和更低的功耗。以手写体数字识别为例,目前的GPU加速芯片能达到99.5%以上的正确率。在第六届ImageNet图像识别大赛上,微软基于GPU加速的计算机识别系统在图像分类错误率方面达到3.5%。

2.3 ASIC

ASIC,即专用集成电路芯片,由于其定制化的特点,相比于GPU,其功耗更低,也更加高效。但是定制化的特点也造成了ASIC的可迁移能力不强,而且造价高昂,生产周期长,需要耗费大量的人力、物力和财力。Google之前发布了一款人工智能芯片:Tensor Processing Unit,其学习效果和运行效率比起传统的CPU和GPU都要高出至少一个量级,兼具低功耗和高速度的双重优点。

2.4 FPGA

FPGA,作为专用集成电路(ASIC)领域中的一种半定制电路,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。由于FPGA是可编程重构的硬件,相比于ASIC要更加灵活,也省去了流片过程,能够很好的兼顾处理速度和功耗。目前的深度学习网络在不同的应用场景中,其层数和规模都不相同,因此硬件的设计框架也相应调整。采用FPGA实现深度学习算法,能够缩短开发周期,降低开发成本,特别适用于高校的科学研究。

3 未来前景

深度学习的硬件加速受到了各国相关领域研究人员和高科技公司的重视。著名的深度学习专家Lecun曾经提出一种用于识别数字的卷积网络LeNet-5,其准确度能达到99%以上,当年美国大多数银行曾用于识别支票上的手写体数字;前段时间风靡全球的围棋人工智能程序Alphago的主要工作原理也是深度学习网络,其核心处理芯片正是Google公司开发的Tensor Processing Unit;百度是中国互联网企业第一个把深度学习作为核心技术研究的企业,在语音和图像产品方面都取得了长足的进步。

目前,在人脸识别数据集的算法表现上,深度学习算法已经超过了人类。在不久的将来,很多混合型的问题,比如视频识别、文字处理和网络安全研究都会采用深度学习算法来解决。

4 结论

由于深度学习算法由于网络复杂和数据量大等特点,传统的软件模拟和处理能力存在明显的缺陷,因此采用硬件加速已经成为了如今的发展趋势。下一阶段更智能、更大规模的神经网络也推动着加速工具的开发和研究。FPGA已经承担了相当一部分的运算任务,GPU则成为了大规模训练的主流解决方案,整个生态系统正在逐步完善。相信随着加速芯片新技术研究的成熟,深度学习将被应用在更多的商业产品中。

参考文献

[1]尹宝才,王文通,王立春.深度学习研究综述[J].北京工业大学学报,2015(1):48-59.

[2]Bengio Y.Learning Deep Architectures for AI[M].Now Publishers,2009.endprint

猜你喜欢

深度学习算法
基于MapReduce的改进Eclat算法
Travellng thg World Full—time for Rree
进位加法的两种算法
基于增强随机搜索的OECI-ELM算法
有体验的学习才是有意义的学习
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
一种改进的整周模糊度去相关算法