当前位置:

OFweek电子工程网

可编程逻辑

正文

展望FPGA在深度学习领域的未来

导读: 近十年来,人工智能又到了一个快速发展的阶段。深度学习在其发展中起到了中流砥柱的作用,尽管拥有强大的模拟预测能力,深度学习还面临着超大计算量的问题。在硬件层面上,GPU,ASIC,FPGA都是解决庞大计算量的方案。

  OFweek电子工程网讯 近十年来,人工智能又到了一个快速发展的阶段。深度学习在其发展中起到了中流砥柱的作用,尽管拥有强大的模拟预测能力,深度学习还面临着超大计算量的问题。在硬件层面上,GPU,ASIC,FPGA都是解决庞大计算量的方案。本文将阐释深度学习和FPGA各自的结构特点以及为什么用FPGA加速深度学习是有效的,并且将介绍一种递归神经网络(RNN)在FPGA平台上的实现方案。

  揭开深度学习的面纱

  深度学习是机器学习的一个领域,都属于人工智能的范畴。深度学习主要研究的是人工神经网络的算法、理论、应用。自从2006年Hinton等人提出来之后,深度学习高速发展,在自然语言处理、图像处理、语音处理等领域都取得了非凡的成就,受到了巨大的关注。在互联网概念被人们普遍关注的时代,深度学习给人工智能带来的影响是巨大的,人们会为它隐含的巨大潜能以及广泛的应用价值感到不可思议。

  事实上,人工智能是上世纪就提出来的概念。1957年,Rosenblatt提出了感知机模型(Perception),即两层的线性网络;1986年,Rumelhart等人提出了后向传播算法(Back Propagation),用于三层的神经网络的训练,使得训练优化参数庞大的神经网络成为可能;1995年,Vapnik等人发明了支持向量机(Support Vector Machines),在分类问题中展现了其强大的能力。以上都是人工智能历史上比较有代表性的事件,然而受限于当时计算能力,AI总是在一段高光之后便要陷入灰暗时光——称为:“AI寒冬”。

  然而,随着计算机硬件能力和存储能力的提升,加上庞大的数据集,现在正是人AI发展的最好时机。自Hinton提出DBN(深度置信网络)以来,人工智能就在不断的高速发展。在图像处理领域,CNN(卷积神经网络)发挥了不可替代的作用,在语音识别领域,RNN(递归神经网络)也表现的可圈可点。而科技巨头也在加紧自己的脚步,谷歌的领军人物是Hinton,其重头戏是Google brain,并且在去年还收购了利用AI在游戏中击败人类的DeepMind;Facebook的领军人物是Yann LeCun,另外还组建了Facebook的AI实验室,Deepface在人脸识别的准确率更达到了惊人的97.35%;而国内的巨头当属百度,在挖来了斯坦福大学教授Andrew Ng(Coursera的联合创始人)并成立了百度大脑项目之后,百度在语音识别领域的表现一直十分强势。

  一览深度学习

  简单来说,深度学习与传统的机器学习算法的分类是一致的,主要分为监督学习(supervised learning)和非监督学习(unsupervised learning)。所谓监督学习,就是输出是有标记的学习,让模型通过训练,迭代收敛到目标值;而非监督学习不需要人为输入标签,模型通过学习发现数据的结构特征。比较常见的监督学习方法有逻辑回归、多层感知机、卷积神经网络登;而非监督学习主要有稀疏编码器、受限玻尔兹曼机、深度置信网络等。所有的这些都是通过神经网络来实现的,他们通常来说都是非常复杂的结构,需要学习的参数也非常多。但是神经网络也可以做简单的事情,比如XNOR门,如图。

  展望FPGA在深度学习领域的未来

  在图1(a)中,两个输入x_1和x_2都是分别由一个神经元表示,在输入中还加入了一个作为偏置(bias)的神经元,通过训练学习参数,最终整个模型的参数收敛,功能和图1(b)真值表一模一样。图1(c)分类结果。

  而通常来说,模型都是比较复杂的。比如ILSVRC2012年图像识别大赛中Krizhevsky等人构建出来的 Alex Net。他们一共构建了11层的神经网络(5个卷积层,3个全连接层,3个池化层),一共有65万个神经元,6千万个参数,最终达到了15.2%的识别错误率,大大领先于第二名的26.2%。

  展望FPGA在深度学习领域的未来

  图2. Alex Net神经网络

  当前深度学习得以流行,是得益于大数据和计算性能的提升。但其仍然遭受计算能力和数据量的瓶颈。针对数据量的需求,专家们可以通过模型的调整、变更来缓解,但计算力的挑战没有捷径。科大讯飞、百度、阿里、360在深度学习方面也面临着计算力的困扰。科大讯飞的深度学习平台属于计算密集型的平台,集群几百台机器之间要实现高速互联,是类似超算的结构,但它又不是一个非常典型的超算。科大讯飞最开始探索传统的方式,用大量CPU来支持大规模数据预处理,运行GMM-HMM等经典模型的训练,在千小时的数据量下,效果很不好。而360每天处理的数据有上亿条,参数50万以上,如果用CPU,每次模型训练就要花几天,这对于崇尚快速迭代的互联网公司运营来说简直是不可接受的。

1  2  3  下一页>  
责任编辑:Trista
免责声明: 本文仅代表作者个人观点,与 OFweek电子工程网 无关。其原创性以及文中陈述文字和内容未经本站证实, 对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅 作参考,并请自行核实相关内容。

我来说两句

(共0条评论,0人参与)

请输入评论

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码: