引言
GMIC作为每年规模很宏大的一个会议,会邀请行业内的大佬过来演讲,毫无疑问今年的主题跟AI相关--AI生万物,每天微信各类推送的信息也是各类AI咨询。这些让我十分想一探究竟,为何AI突然就火了,为啥计算机出现半个多世纪以来,AI突然现在会受到这么大关注?
先看一些热点事件:
1.iPhone X 面部识别Face ID
2.NVIDIA发布最强GPU—Tesla V100 支持深度学习
3.AlphaGo->Alpha Master-> Alpha Zero
4.百度腾讯推出AI开放平台
5.google、baidu开源深度学习框架
6.百度腾讯先后开始自动驾驶路测
7.腾讯AI同传在博鳌论坛
8.华为麒麟970手机AI芯片,阿里宣布研发AI芯片
这些更加印证了AI已经在行业中扩大应用,并且在快速发展。
后面我希望从人工智能定义、历史的发展和工程原理、实践运用来尝试梳理一下,AI发展的内在逻辑。先引入“人工智能”(AI)的概念。
人工智能由来
人工智能概念的由来可以追溯到1950的图灵测试,有这么一个实验:
如果一个人(代号C)使用测试对象皆理解的语言去询问两个他不能看见的对象任意一串问题。对象为:一个是正常思维的人(代号B)、一个是机器(代号A)。如果经过若干询问以后,C不能得出实质的区别来分辨A与B的不同,则此机器A通过图灵测试。
通俗地说,这个实验表现出来的是机器像人,而我们一般认为人是有智能的,所以机器通过这个测试就可以认为有智能,即机器智能,也就是人工智能了。
所以我们先尝试给人工智能下个定义:通俗的说可体现出智能行为的硬件或软件,即可称为人工智能。换一种学术点的说法:
可以制造出智能的机器,尤其是智能的计算机程序的科学和工程。
人工智能在学术上公认最早是由下面这个人在会议上的一份议程中给提到的,当时并没有特别强调AI的定义,可能原话也不是这样。
我们还可以从学科分类上了解下人工智能到底处在什么位置,我从国内一所高校的学科介绍中看到如下这个层次结构,还比较清晰:
首先计算机应用学科大类是研究计算机如何在生产生活中使用的理论、方法和指导,当然人工智能属于计算机应用领域,同时区别于科学计算、数据处理、过程控制和辅助工程,其下可细分出机器人领域、专家系统、模式识别、智能检索等。基本覆盖了计算机解决的所有问题领域。
人工智能发展历程
通过计算机技术的发展历程,我们来探究一下人工智能是如何产生的。
我把人工智能发展尝试归纳成四个阶段:
-
看上去有智能
-
具有有限学习能力
-
有深入学习能力
-
有自由学习能力
看上去有智能
首先看第一阶段,总结起来有以下几个关键发展过程:
“计算”阶段
计算机之所以称为计算机,是因为它有“计算”能力,“计算”是一切计算机应用的最基本的条件。什么是计算呢?比如,1+2+3=6是一种算术计算,1<2这种逻辑判断是一种逻辑运算,但它们都是计算。给计算下个定义就是:基于规则的符号变换。
话说在二战时期,1943年英国皇家空军为了破译德军密码,组织一大批科学家,其中包括世界最伟大的计算机理论开拓者、英国数学家图灵(A.M.Turing,1912-1954),研制成功了世界上第一批电子计算机。破译密码,本质上可以理解为数学计算,当然计算机比人更擅长计算。
这就是起初的计算机,在人类看来就是“计算”。
“计算”+“领域”阶段
然后到了19世纪50年代开始,计算机软硬件不断成熟,处理能力也呈现摩尔定律开始增长,计算机开始结合一个个特定的行业领域开始发挥作用。比如数值计算,在气象预报中有大量的模型计算;数据处理,就比如现在各行各业用到的信息管理系统;过程控制,比如汽车组装车间的各种自动化控制,等等。这个时期的计算机应用,是“计算”+领域产生了各类软硬件,但有一个特点就是,用计算机实现了人类本来做的事情,属于完全copy,人类如何处理对应着计算机上的一行行代码实现。所以这类应用还谈不上智能。
“计算”+“知识”+“规则”阶段
随着特定领域应用的深入,人们发现,把人类的想法一个个写代码实现,效率太低,也十分不利于扩展。19世纪60年代开始出现了“专家系统”。让计算机可以很方便快捷地不断增加从人类那里得到的知识,以使机器像专家一样。这就产生了“计算”+“知识”+“规则”。
以上三个阶段,显示了人工智能发展初期时的形态,虽然很有效的解决了人类某些问题,本质上是复制人类的行为,所以我称作“看上去有智能”。
给几个例子,首先来看一个人工智能领域很古老的一个程序——SAINT,符号自动积分程序。是MIT的James Slagle的博士论文中设计的一个程序。
程序有三个重要组成部分:积分变化公式表;积分表;目标树的解题过程。第一个对应的实际上就是“知识”,第二个对应"规则",第三个是一个推理过程(框架),再加上程序的计算处理能力就完成了这样一个可以自动解积分问题的程序,话说当时可以解所有大一考试用到的积分方程。所以这实际上就是一个微型的专家系统。
再看以下两个事件:
这些都是向计算机输入人类的"知识"和“规则”,计算机做检索和推理从而解决了十分复杂,原来只有专家才能搞定的问题,甚至比专家处理得质量还高。
但这阶段的人工智能具有以下明显的优缺点:
具有有限学习能力
随着互联网的兴起,计算机便捷的输入输出外设和传感器的发展,开始大量积累了数据,有数据后,人类自然就开始研究能否从数据中挖掘更多价值。继而开始了基于数据的人工智能领域研究。
“计算”+“数据”+“经验”+“机器学习”成为了这个时期最有效的人工智能技术基础。一个典型的应用案例就是亚马逊发展起来的“协同过滤”技术。协同过滤可以理解为一套推荐的理论方法,其中会涉及到一个重要的计算,相似性计算,可以基于简单的数学模型,也可以融入机器学习等复杂的模型来提升推荐效果。
这个时期的人工智能同样具有以下优劣势:
具有深入学习能力
时间来到了2000年以后,计算力的膨胀可以支撑更高复杂度的计算,早在上个世纪就提出来的神经网络算法提现出了意想不到的效果,超过了一般初级从业者的水平,并且成本也在可接受范围内,所以这类基于神经网络发展起来的深度学习大量进入人类视野。
这次的人工智能解决问题过程中降低了机器对人类知识的依赖,并且具有了更复杂的学习能力。解决问题的方式变成“计算”+“数据”+“深度学习”,而人类扮演简单的数据处理,输入给计算机,让计算机自己去学习复杂的模式。不得不提到这阶段的代表性事件:
到这里人工智能并没有结束,反而很多学术专家、行业人士甚至认为AI还没有真正开始。或许AI相对人类智能来说,具有非常高的能耗,有具大的发展空间;或许AI仍然需要在人的监督下学习产生一定的智能,能解决问题但无法自己发现问题。