都想吞下人工智能这个蛋糕,CPU/GPU/FPGA有何高招?
一、人工智能与深度学习
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.深度学习:剔除神经网络之误差
深度学习由人工神经网络衍生而来,是一种需要训练的具有大型神经网络的多隐层层次结构,其每层相当于一个可以解决问题不同方面的机器学习。利用这种深层非线性的网络结构,深度学习可以实现复杂函数的逼近,将表征输入数据分布式表示,继而展现强
- 基于S3C2410和UDAl34l的嵌入式音频系统设计(02-11)
- 苹果Airplay技术打造无线互联智能家庭(05-13)
- Intel Atom再进化:Clover Trail+技术详解(01-27)
- 基于单片机的微控制器在系统编程(08-31)
- 半导体产业或掀整并潮(09-02)
- 一种基于FPGA的接口电路设计(11-18)