新闻中心

EEPW首页 > 智能计算 > 设计应用 > 详解人工智能芯片 CPU/GPU/FPGA有何差异?

详解人工智能芯片 CPU/GPU/FPGA有何差异?

作者:时间:2017-04-01来源:行业报告研究院
编者按:CPU与GPU在各自领域都可以高效地完成任务,但当同样应用于通用基础计算领域时,设计架构的差异直接导致了两种芯片性能的差异。

  在深度学习的领域里,最重要的是数据和运算。谁的数据更多,谁的运算更快,谁就会占据优势。因此,在处理器的选择上,可以用于通用基础计算且运算速率更快的迅速成为人工智能计算的主流芯片。可以说,在过去的几年,尤其是2015年以来,人工智能大爆发就是由于英伟达公司的得到广泛应用……

本文引用地址:http://www.eepw.com.cn/article/201704/346122.htm

  一、人工智能与深度学习

  2016年,AlphaGo与李世石九段的围棋对决无疑掀起了全世界对人工智能领域的新一轮关注。在与李世石对战的5个月之前,AlphaGo因击败欧洲围棋冠军樊麾二段,围棋等级分上升至3168分,而当时排名世界第二的李世石是3532分。按照这个等级分数对弈,AlphaGo每盘的胜算只有约11%,而结果是3个月之后它在与李世石对战中以4比1大胜。AlphaGo的学习能力之快,让人惶恐。



  1.人工智能:让机器像人一样思考

  自AlphaGo之后,“人工智能”成为2016年的热词,但早在1956年,几个计算机科学家就在达特茅斯会议上首次提出了此概念。他们梦想着用当时刚刚出现的计算机来构造复杂的、拥有与人类智慧同样本质特性的机器,也就是我们今日所说的“强人工智能”。这个无所不能的机器,它有着我们所有的感知、所有的理性,甚至可以像我们一样思考。

  人们在电影里也总是看到这样的机器:友好的,像星球大战中的C-3PO;邪恶的,如终结者。强人工智能目前还只存在于电影和科幻小说中,原因不难理解,我们还没法实现它们,至少目前还不行。

  我们目前能实现的,一般被称为“弱人工智能”。弱人工智能是能够与人一样,甚至比人更好地执行特定任务的技术。例如,Pinterest上的图像分类,或者Facebook的人脸识别。这些人工智能技术实现的方法就是“机器学习”。

  2.机器学习:使人工智能真实发生

  人工智能的核心就是通过不断地机器学习,而让自己变得更加智能。机器学习最基本的做法,是使用算法来解析数据、从中学习,然后对真实世界中的事件做出决策和预测。与传统的为解决特定任务、硬编码的软件程序不同,机器学习是用大量的数据来“训练”,通过各种算法从数据中学习如何完成任务。

  机器学习最成功的应用领域是计算机视觉,虽然也还是需要大量的手工编码来完成工作。以识别停止标志牌为例:人们需要手工编写形状检测程序来判断检测对象是不是有八条边;写分类器来识别字母“S-T-O-P”。使用以上这些手工编写的分类器与边缘检测滤波器,人们总算可以开发算法来识别标志牌从哪里开始、到哪里结束,从而感知图像,判断图像是不是一个停止标志牌。

  这个结果还算不错,但并不是那种能让人为之一振的成功。特别是遇到雾霾天,标志牌变得不是那么清晰可见,又或者被树遮挡一部分,算法就难以成功了。这就是为什么很长一段时间,计算机视觉的性能一直无法接近到人的能力。它太僵化,太容易受环境条件的干扰。

  3.人工神经网络:赋予机器学习以深度

  人工神经网络是早期机器学习中的一个重要的算法,历经数十年风风雨雨。神经网络的原理是受我们大脑的生理结构——互相交叉相连的神经元启发。但与大脑中一个神经元可以连接一定距离内的任意神经元不同,人工神经网络具有离散的层,每一次只连接符合数据传播方向的其它层。

  例如,我们可以把一幅图像切分成图像块,输入到神经网络的第一层。在第一层的每一个神经元都把数据传递到第二层。第二层的神经元也是完成类似的工作,把数据传递到第三层,以此类推,直到最后一层,然后生成结果。

  每一个神经元都为它的输入分配权重,这个权重的正确与否与其执行的任务直接相关。最终的输出由这些权重加总来决定。

  我们仍以停止标志牌为例:将一个停止标志牌图像的所有元素都打碎,然后用神经元进行“检查”:八边形的外形、救火车般的红颜色、鲜明突出的字母、交通标志的典型尺寸和静止不动运动特性等等。神经网络的任务就是给出结论,它到底是不是一个停止标志牌。神经网络会根据所有权重,给出一个经过深思熟虑的猜测——“概率向量”。

  这个例子里,系统可能会给出这样的结果:86%可能是一个停止标志牌;7%的可能是一个限速标志牌;5%的可能是一个风筝挂在树上等等。然后网络结构告知神经网络,它的结论是否正确。

  即使是这个例子,也算是比较超前了。直到前不久,神经网络也还是为人工智能圈所淡忘。其实在人工智能出现的早期,神经网络就已经存在了,但神经网络对于“智能”的贡献微乎其微。主要问题是,即使是最基本的神经网络,也需要大量的运算,而这种运算需求难以得到满足。

  4.深度学习:剔除神经网络之误差

  深度学习由人工神经网络衍生而来,是一种需要训练的具有大型神经网络的多隐层层次结构,其每层相当于一个可以解决问题不同方面的机器学习。利用这种深层非线性的网络结构,深度学习可以实现复杂函数的逼近,将表征输入数据分布式表示,继而展现强大的从少数样本集中学习数据集本质特征的能力,并使概率向量更加收敛。

  简单来说,深度学习神经网络对数据的处理方式和学习方式与人类大脑的神经元更加相似,比传统的神经网络更准确。

  我们回过头来看这个停止标志识别的例子:深度学习神经网络从成百上千甚至几百万张停止标志图像中提取表征数据,通过重复训练将神经元输入的权重调制得更加精确,无论是否有雾,晴天还是雨天,每次都能得到正确的结果。只有这个时候,我们才可以说神经网络成功地自学习到一个停止标志的样子。

  Google的AlphaGo也是先学会了如何下围棋,然后通过不断地与自己下棋,训练自己的神经网络,这种训练使得AlphaGo成功在三个月后击败了等级分数更高的李世石。

  二、深度学习的实现

  深度学习仿若机器学习最顶端的钻石,赋予人工智能更璀璨的未来。其摧枯拉朽般地实现了各种我们曾经想都不敢想的任务,使得几乎所有的机器辅助功能都变为可能。更好的电影推荐、智能穿戴,甚至无人驾驶汽车、预防性医疗保健,都近在眼前,或者即将实现。人工智能就在现在,就在明天。你的C-3PO我拿走了,你有你的终结者就好。

  但是正如前面提到的,人工神经网络,即深度学习的前身,已经存在了近三十年,但直到最近的5到10年才再次兴起,这又是因为什么?

  1.突破局限的学习算法

  20世纪90年代,包括支撑向量机(SVM)与最大熵方法(LR)在内的众多浅层机器学习算法相继提出,使得基于反向传播算法(BP)的人工神经网络因难以弥补的劣势渐渐淡出人们的视线。直到 2006年,加拿大多伦多大学教授、机器学习领域的泰斗 Geoffrey Hinton 和他的学生在《科学》上发表了一篇文章,解决了反向传播算法存在的过拟合与难训练的问题,从而开启了深度学习在学术界和工业界的浪潮。

  深度学习的实质,是通过构建具有很多隐层的机器学习模型和海量的训练数据,来学习更有用的特征,从而最终提升分类或预测的准确性。因此,“深度模型”是手段,“特征学习”是目的。区别于传统的浅层学习,深度学习的不同在于:

  ·强调了模型结构的深度,通常有5层、6层,甚至10多层的隐层节点;

  ·明确突出了特征学习的重要性,也就是说,通过逐层特征变换,将样本在原空间的特征表示变换到一个新特征空间,从而使分类或预测更加容易。

  这种算法的差别提升了对训练数据量和并行计算能力的需求,而在当时,移动设备尚未普及,这使得非结构化数据的采集并不是那么容易。


上一页 1 2 3 4 下一页

关键词: GPU FPGA

评论

技术专区

关闭