什么是人工智能?维基百科上是这么说的:

人工智能(英语:Artificial Intelligence, AI)亦称机器智能,是指由人工制造出来的系统所表现出来的智能。通常人工智能是指通过普通电脑实现的智能。该词同时也指研究这样的智能系统是否能够实现,以及如何实现的科学领域。

简而言之,就是让人制造的机器具有从事智能活动的能力。实际上,在人工智能发展的早期阶段,科学家就是通过让机器模拟人脑产生智能的方式使其具备从事简单智能活动的能力,人的智能活动很多时候依赖于人类的意识,然而冷冰冰的机器是不能也不会产生意识的,所以实际上这种方法在后来就遇到了很多难以逾越的障碍,几乎没有做出什么突破性的成果。人类和机器之间一个重要的区别就是人类是有意识的,人类能够感知自我的存在和行为,而机器不行。很多媒体报道什么家用机器人跳水自杀之类的新闻显然是哗众取宠和危言耸听,再加上各种科幻电影的渲染,在一些不知所以然的群体中制造了莫名其妙又毫无必要的恐慌,担心机器哪天意识觉醒之后会成为人类的威胁,相比于担忧这些压根儿就不存在的事情,人类更应该考虑的是将来自己的工作机会被机器取代了该怎么办?关于这一点我会在后文提到。

言归正传,这种让机器模拟人脑产生智能的方式使其具有智能的方法,我们一般称之为传统的人工智能方法。实际上,现在人工智能领域所取得的一系列重大突破性成果,如语音识别、图像识别、机器翻译等,都是采用数据驱动而不是通过模拟人类产生智能的方式取得的。在怎么发展机器智能这条路上,人类大概挣扎了十多年的时间才找到了数据驱动发展机器智能的方法,这个过程就好比人类学会飞翔一样,最初通过模拟鸟类的飞翔给自己的双手绑上插了羽毛的翅膀,然后从高处一跃而下,当然结果可想而知了,后来空气动力学的发展让人类明白了可以利用其原理造出飞机,才真正实现了飞翔的梦想。飞机不需要像鸟儿一样有一双长满羽毛的翅膀才能飞起来,飞机有自己飞起来的方式,与此类似,机器产生智能的方式也不需要向人类一样,可以采用完全不同于人类思维的数据驱动的方式让机器具有智能。那么,什么是数据驱动的方式呢?

所谓数据驱动的方法,首先需要大量的具有代表性的数据,接着需要能够处理这些数据的超级运算能力,然后就是利用一些简单的数学模型组合在一起,去契合这些数据,以训练出模型的参数,这种训练模型参数的过程,就是现在很火的机器学习。从这里可以看到,数据驱动方法的成功,取决于两个必要的因素,一是大量的爆炸式的数据积累,二是超级运算能力。恰好互联网技术,特别是移动互联网的发展,导致数据量喷井式地爆发,产生了大量的可用于机器学习的数据,而摩尔定律(即集成电路的性能会每隔18个月翻一番)又为超级计算的出现准备了条件。数据量和运算能力都指数级增长,所以,在现在这个时代,人工智能领域才出现了很多突破性的进展,并且随着数据量的积累,将来在诸多领域难以解决的问题都可以转化为数据问题用机器智能的方法得到解决。在后文中我将会提到,癌症的治疗问题也可以是一个数据问题。

人工智能的关键是利用大量的数据训练出模型的参数,这个过程称为机器学习。对于机器学习,我一直在找一个大多数人都能理解的方式来加以说明,我想我们可以把它看作是解非齐次线性方程组(即等号右边的常数部分不全为 0 的方程组)的逆向过程,先说明一下,对线性代数不熟悉的话可以跳过这部分,只需记住机器学习就是由已知的部分解集合找方程组的过程即可。所谓逆向过程,即已知一个有无穷多解的非齐次线性方程组的部分解集合,求满足这个解集合的非齐次线性方程组的系数矩阵的过程。在这里,解集合就是数据,一个非齐次线性方程组有无穷多解的话,要求其系数矩阵的秩等于增广矩阵的秩同时小于未知数的个数,这就是一个基本的简单模型,我们由这个基本的简单模型出发,一步步去拟合解集合中的数据,直到找到最终的方程组,对于这个最终的方程组来说,目前存在于解集合中的数据,全是它的解。这个过程就是机器学习。

细心的人可能已经发现了,我这里所说的是部分解集合,而不是全部(实际上除了用基础解系的方式能够把全部解表示出来的话,没有其他方法能把解集合的全部都表示出来)。这是因为,在实际场景中,我们虽然可以得到大量的数据,但是,永远不可能得到完完全全的所有数据完备集,因为谁也不知道这个完备集的范围是多大,而我们最终训练出来的模型,跟数据量的大小是又很大关系的,数据量不足的情况下,我们的模型误差就会比较大。但是只要我们用以训练的数据量足够大,不断大,那么,我们最终训练出来的模型的精确度跟真实模型的误差就会越小,这不是随口乱说的,背后是有着严密的数学保障的,这个数学保障就是俄国数学家切比雪夫提出的切比雪夫大数定律,这个定律背后表达的思想是:当样本数足够多时,一个随机变量和它的期望值之间的误差可以任意小。那么由此看来,我们最终得到的非齐次线性方程组有以下两种情况:

  • 与最真实的模型同解,甚至就是最终的模型,这是最理想的情况;
  • 满足部分解集合的模型与最真实的模型只是有公共解,那个部分解集合里面的解就是公共解。

对于第二种情况,是不是意味着工作都白做了,完全没用了呢?当然不是。下面的举个例子说明一下这种情形。

我们天体运动的模型是开普勒和牛顿所确定的日心说椭圆形模型,开普勒提出了开普勒三定律,准确地描述了行星运动的规律,牛顿在这个基础上修正了椭圆的焦点,将其移动到了太阳系的重心。开普勒是怎样得到这个模型的呢?实际上,开普勒首先很幸运地观察到了行星运动的椭圆形轨迹,这相当于一个最初的简单模型,并且在此基础之上,用了大半辈子的时光,通过从他的老师那里继承到的和观察到的大量的数据,一步步将模型拟合起来,人工地完成了这个机器学习的过程。其实在此之前,最早提出日心说的是哥白尼,但是哥白尼的日心说模型很不准确,与实际的误差很大,原因是哥白尼是以圆为基础而不是以椭圆为基础建立模型的。早在哥白尼之前,托勒密以圆为基础的地心说模型准确的契合了一百多年以来行星运动的观察数据,这个模型是由 40 ~ 60 个相互嵌套的大小圆组成的,并且托勒密根据自己的模型绘制了一张表,准确地预测了将来的某个时候某个星球所在的位置。托勒密之所以把行星的轨迹看作是圆,是因为受到了毕达哥拉斯的影响,毕达哥拉斯认为,圆是这个世界上最美的图形,所以托勒密认为行星运动的轨迹应该是圆。在哥白尼的时代,他所提出的日心说模型还没有托勒密的地心说模型准确度高呢。托勒密的地心说模型准确地指导了欧洲人的农时1500年,1500年后,托勒密模型对太阳运动的累积误差才多出了 10 天。

由上面的例子我们可以看到,其实在实际生活中,最接近真实情况的那个模型往往很难得到(开普勒是运气很好地恰好观察到了椭圆形轨迹),但是我们可以用一系列简单模型的组合来逼近那个最真实的模型(托勒密就是用圆),并且切比雪夫大数定律告诉我们,随着数据量越来越多,我们的简单模型会越来越接近最真实的情况,可以无限接近。实际上这也是我们现在机器学习研究机器智能的方法,大家都知道前段时间 3:0 战胜柯洁 Google 大脑,其背后也就是简单的人工神经网络在几万台服务器上的复杂实现。

讲完了数据驱动的人工智能方法,还有一个问题就是,怎么判断机器具有了智能呢?其实这个方法很早很早就有人提出来了,这个人就是大名鼎鼎的阿兰图灵,这个方法被称之为图灵测试。图灵测试是这样子的:拿一块帘子挡住具有智能的机器和一个人,另一个人坐在帘子的对面,这个人和帘子的另一面交谈,如果这个人无法判断对面跟他交谈的是人还是机器的话,那么我们就说这个机器具有了智能。

现在,我们已经知道了数据驱动人工智能的方法一个关键性的影响因素是数据量,数据必须要大,必须是 big data ,即大数据。通常来说,人们一看到名字,就知道大数据的其中一个特点,就是数据的体量必须要大,这个没什么可说的,上文中已经说了,这是很关键的。除此之外,大数据还有两个特点:多维度和完备性。什么叫做大数据的多维度呢?拿微信来说,当一个人发一条状态的时候,或者发出一条聊天消息的时候,微信的后台是能够知道这个人的年龄、性别、地域的,年龄、性别、地域和这条状态或记录联系在一起,就成为了一个多维度的数据,而不是最初的仅仅只是一条孤零零的状态或者消息。那么这些多维度的数据又有什么用呢?为什么要求大数据具有多维度呢?这是因为,多维度的数据可以利用数据的交叉性和强相关性的特点得出很多单单从一种角度得不到的信息。举个例子吧,譬如娱乐圈某某明星摊上大事了(出轨了之类的),我们可以在微信上通过大数据分析的方法得到一些对于这个事件的结论:某某年龄段的女生、男生对这个事件的态度啊,某个地域的人对这个事件的态度啊种种,一目了然,通常不同的年龄段的人对这种事情的态度是不一样的,我们通过大数据的方法可以分析出来,不同地域的人态度也可能不一样,譬如该明星所在地的人,可能对这个事件的态度与其他地方的人就不一样了。什么是大数据的完备性呢?就是数据要尽可能地覆盖面要广,这一点在以上也略作了分析,大量重复的数据是毫无意义的。

其实,大数据和机器智能不仅仅可以用来做各种社会问题调查(譬如上文所说的对某明星摊上大事的态度),还有一个最重要的特点,也是人工智能领域非常重要的特点,就是预测!什么意思呢?举个例子吧。如果我们掌握了合肥市过去很多年每条道路的交通运行情况数据,我们就可以在过去这些数据的基础上,对每天每条道路的拥堵情况做出准确的预测,帮助人们合理地安排出行时间和选择出行道路,事实上,已经有很多公司在做这方面的研究了。想象一下可以互相通信自动驾驶汽车,它们对整个城市的道路情况了如指掌,可以帮助你选择合理地出行路径以节约大部分的时间。对于自动驾驶汽车的问题,我跟身边人聊起这些的时候,总有人说之前特斯拉出的那场事故,事实上,特斯拉的那场事故已经过去快两年了,依照人工智能的进化速度,自动驾驶早就已经不是当初那个量级了,人很容易犯的一个错误就是用过去的观点看待现在的问题。自动驾驶的应用,现在只剩下政策和保险的问题了。

我们知道机器智能的发展依赖于大数据,实际上在大数据领域有两个不同的方向,一个是大数据工程,另一个是大数据分析,大数据工程做的工作是大数据的设计、部署、获取和维护,大数据分析则属于数据挖掘的内容,本质上来说就是机器学习,在大量的数据中提取有用的信息。说到这儿,其实有一个信息度量的问题,数据和信息是不一样的概念,数据量大并不意味着信息量大,譬如在大量重复的数据中,数据量是很大,但是信息量却是很少的,那么怎么样度量信息呢?我们生在了一个好的时代,早就有人替我们解决了信息度量的问题了,这个人是谁呢?也是一个大名鼎鼎的人物 —— 克劳德香农博士。一个杂乱无章的系统是充满很多不确定性的,怎么样消除这些不确定性呢?就是引入信息。香农博士在概率论的基础之上发展了信息论,引入了信息熵的概念,引入的信息量越大,不确定性越小,香农博士的信息论是现代数字通信技术的基础,通信领域的最高奖叫做香农奖,就是以香农博士的名字命名的。如果你对信息论有兴趣,可以看看吴军老师的《数学之美》这本书。

大数据和机器智能的发展,在未来所涉及到的影响面会非常之广,在这一点明天的文章再来谈吧。明天的文章会写一下我自己对于未来世界的思考,主要集中在医疗和教育方面。大数据和机器智能的发展可以让很多疾病的发现变得可以预测,特别是癌症,很多癌症在早期是很难检测出来的,但是我们可以用大数据的方法提前发现和预防,另外,就是以后的教育,智能社会机器会剥夺人很多的从事技能劳动的机会,现在的技能教育以后会有什么变化?以后的教育是什么样子的?对于医疗来说,为什么看病这么贵?有哪些方法可以降低医疗成本,我们明天的文章再来谈。