饺子中的人工智能

… I’ve become so numb, I can’t feel you there Become so tired, so much more aware By becoming this all I want to do Is be more like me and be less like you And I know I may end up FAILING TOO But I know you were just like ME with someone disappointed in you

– Numb, Meteora, Linkin park, 2003

1. 人工智能再次兴起的理由

非常宽泛地说,所谓人工智能,就是用机械来实现人脑的部分智力活动的话,早在1940年左右Alan Turing提出图灵机构想的时候人工智能就已经诞生。不过最早的有意识地进行的用计算机模仿人类智力的研究,应该是1959年在Dartmouth大学中,一些来自MIT和IBM的科研人员受到国防部的资助进行一些用计算机代替人脑的尝试。当时的程序由研究人员事先进行编写,随后可以根据既定的逻辑法则进行自动的选择,进而实现了一些诸如解图形迷题甚至是下国际象棋的功能(国际象棋的变化相对于围棋来说要少的多,同时当时的程序也没有非常高的胜率)。然而这样的一种智能,仅仅停留在由人类对其进行编纂,然后自动执行的程度,从根本上不能脱离人的编程,所以在应用维度上非常有限;同时受制于当时计算机性能的原因,最终并没有取得在产业界广泛的应用。由于对人工智能研究的投入迟迟不见回报,在随后的十几年中,政府对人工智能的投资也大大削减,这段1970-1980年的时期也被称作“AI Winter”

第二次的人工智能热潮开始于1980年后,Stanford大学的研究人员开发了称为Expert system的人工智能,这种系统首先需要使用者将某些专门(Expert)知识进行整理输入,然后制定一些基本的决策规则(比如:如果A就选择B),随后就可以自动地对新的问题进行分析和决策。这种机器超越之前的所谓人工智能的原因,是因为它一定程度上摆脱了人类,通过基于现有规则对知识库进行探索,有能力自动地发现一些使用者本身并不知道的事实。有数据表明,当时的世界500强企业中有2/3导入了这种专家系统来帮助企业决策。然而,当面对复杂问题的时候,机器就会需要越来越庞大的知识库,并且可能需要一些新的规则来帮助决策。最终,由于整理出一个可以解决真正实际复杂问题所需要的知识库和规则系统的难度,大大超过了这个系统可以探索出的结论本身的价值,这一次的人工智能热潮也在1990年左右再次衰退。

Expert system的概念模型(https://en.wikipedia.org/wiki/Expert_system)

我们现在正在经历的人工智能热潮起源于2000年以后,其中成为重要牵引力量的则是人工智能的一个分支:机械学习。机械学习,指的是让计算机基于一定的数据,自动地认知或者学习,如何完成一项任务。例如图像识别,就是让计算机首先“学习”大量的已知图片,从而使其有能力对没有见过的图片进行分类(识别)。又比如在ios中出现的语音助手Siri,就是对人的声音进行识别,而后对识别出的信息进行处理,反馈给用户进行人机互动。所以从本质来说,第三次人工智能热潮的核心,并不同于之前的两次爆发对于“智能”的追求,而在于赋予计算机“识别”或者说“认知”的能力。 这么说起来,好像在技术层面,机械学习并没有什么石破天惊的概念,一个自然的疑问是,为什么人工智能会在近期引发此巨大的社会关注呢?

解答这个疑问的难处在于,引发第三次人工智能热潮的原因不是单一的而是一些事件的复合,主要包括:

1.后因特网时代的大数据爆炸

2.计算机计算能力的提高

3.机械学习领域本身的技术突破

机械学习的血液,就是大量的数字化数据,唯有基于大量的数字化数据,机械学习才可以进行识别和判断并发挥作用。在智能手机普及以前的2000年左右,整个因特网所涵盖的数据量还比较有限,特别是终端用户的信息,并不足以让机械学习发挥巨大的作用。然而在2010年以后,大量的智能设备进入实用阶段,2015年全世界接入因特网的电子设备总数来到了150亿台(https://www.statista.com/statistics/471264/iot-number-of-connected-devices-worldwide/),这些大量的电子设备开始提供前所未有的基础数据,使得对终端用户的分析和掌握变成了可能。

接入因特网设备的数量(https://www.statista.com/statistics/471264/iot-number-of-connected-devices-worldwide/)

同时,计算机的计算性能也在一刻不停地提高,现在的个人电脑运算能力已经可以轻松超过数十年前超级计算中心。不仅如此,在第三次人工智能热潮中起到重要推动作用的,是GPGPU的诞生和机械学习在GPGPU上的成功实现。GPU原本作为图像运算的组件在计算机中被应用,由于其高速的处理性能,在2000年左右开始有研究者尝试用GPU进行科学运算。但是当时的GPU并没有对浮点运算进行支持,研究者的尝试仅仅停留在了科研的层面。随后GPU厂商ATI和Nvidia关注到这一动向,开始开发专门面向科学计算的GPU单元,称之为GPGPU(General-purpose computing on Graphic Grocessing Unit),使得GPU运算的开发变得更加热门。2012年,Google Brain和Stanford大学的研究团队利用其保有的由1000台高性能电脑组成的计算机对1000万枚图像数据进行长达3天的学习,成功训练出了一套可以由图像识别出物体的系统。之后Stanford大学的Andrew Ng.(吴恩达)成功地将算法移植到GPU上实现,使用12张GPU显卡,获得了和Google Brain具有同等的学习能力的系统。这一突破使得机械学习的效率大大提高而成本大大降低,从而进一步推进了机械学习应用的可能性。

最后,是机械学习领域本身技术上获得了一系列较为重大的突破。其中最为主要的是对神经网络算法的实现和提高。神经网络(Neural network),是机械学习中的手法之一。其主要概念为,通过称为神经元(Neuron)的计算单元,可以对输入的数据进行线性组合计算,然后输出一个结果值。例如,把一张图像的所有像素灰度值,排列成一个一维向量,通过对这些灰度值的线性运算,神经元将输出一个计算机的识别结果。这些神经元可以互相连接,把其他神经元的输出做为输入,进行反复的抽象计算。神经网络算法本身,并不是最近才产生的概念,然而在早期的神经网络计算中,将输入数据进行处理神经元只有一层,这种手法的识别效率较低,或者需要输入巨大的特征向量来进行处理,否则就无法获得高精度的结果。2006年在Toronto大学的Hinton教授提出了一种多层的神经网络结构,在输入和输出层之间建立多层的中间层,并利用Backpropagation的算法成功实现了高精度的学习。借由这种结构,神经网络实现了由较少的运算量实现极高识别精度,使得神经网络的实用程度大大提高。这种多层的神经网络结构,也就是现在深度学习(Deep learning)中“深度”一词的由来。

现在你开始觉得对第三次人工智能热潮有了一定的理解,但是对于上述三点理由,可能还是缺乏切身实际的体会,所以在开始展望人工智能在产业中的应用之前,我想把机械学习和神经网络算法进行一个简单的介绍。

2. 从线性回归到神经网络

假设现在有m个已知的二维数据点,在XY平面上呈现较为典型的线性分布,我们希望找到一条直线,可以较好地呈现这些数据的分布特征,从而可以被利用来预测在已知点范围以外的数据分布。例如想象x代表某好友的加班时间,y代表此人的年薪(好虽然年薪和加班时间成正比是一个不合理的推测…),如果找到这样一条直线,那就可以利用他来基于加班时间预测某新好友的年薪水平。

线性回归

为了找到这样一条直线,任务就是找到一组合理的,首先需要定义一个目标,来判断什么是一个“好”的预测。非常直接的想法就是,现有所有的数据点距离直线越近,那这条直线预测就越好,同时为了包含所有的数据点,我们需要对所有点进行求和:

这里的称作Cost function,用来衡量一条以为参数的直线距离所有的数据点有多远,称为Hypothesis,也就是对x的预测值。其中为了避免正负抵消所以对所有距离进行了平方,并将总和进行了平均。比如对这个点,预测值为,而实际值为,他们之间的距离就成为了Cost中的一部分。

为了找到一条使得最小的直线,现在需要对的选择进行探索。

3. 站在时代浪尖的企业动向

4. 人工智能化后的业界变化

5. 总结:充气娃娃是意淫还是性交?

Written on June 10, 2018