要说清楚大数据的本质和作用,先要讲讲数据的作用以及它和机器智能的关系。
1.数据驱动的方法导致机器智能的出现
从1946年计算机诞生以来,人类一直在思考这样几个问题:机器是否能有类似于人一样的智能?如果有,会在什么时候,以什么样的方式出现?如果出现了,它将对人类的生活产生什么影响?在过去的半个多世纪里,虽然人类一直在为此努力,但是到目前为止,这件事情似乎并没有发生,其中原因主要有两点。首先,人类在机器智能这个问题上一度过于乐观并且走了20年的弯路。人们最初的想法是让计算机来仿造智能,并且提出了人工智能的概念。学术界后来把这样的方法论称作“鸟飞派”,意思是说看看鸟是怎样飞的,就能模仿鸟造出飞机,而不需要了解空气动力学。(事实上我们知道,怀特兄弟发明飞机靠的是空气动力学而不是仿生学。)直到上个世纪70年代,人类才找到了适合计算机发展智能的道路,即采用数据驱动和大强度计算。其次,三十年前计算机的功能还不够强大,虽然当时人们以为它已经很快了,容量很大了,但是只有今天的十亿分之一左右,对解决智能问题来讲是远远不够的。而今天,人类正走在机器智能可能超越人类智能的转折点上。
讲到机器智能(而不是人工智能),首先要搞清楚什么是机器智能。1950年,计算机科学的先驱图灵博士给出了一个衡量机器是否有智能的测试方法:让一台机器和一个人坐在幕后,与一个人(测试者)展开对话(比如回答人的问题),当测试者无法被辨别和他讲话的是另一个人还是一台机器时,就可以认为这台机器具有和人等同的智能。这种方法被称为图灵测试 (Turing, 1959)。计算机科学家们认为,如果计算机实现了下面几件事情中的一件,就可以认为它有图灵所说的那种智能:
1. 语音识别,
2. 机器翻译,
3. 自动回答问题。
![]()
图 2 图灵测试
但是,从1950年代到60年代,机器智能按照传统人工智能的路子走得非常不顺利,几乎没有拿得出手的像样成果。而与此同时,计算机科学的其他分支都发展得非常迅速。因此,美国计算机学界开始反思是否机器智能走错了路?1968年,著名计算机科学家明斯基在Semantic Information Process一书 (Minsky, 1968)中分析了所谓人工智能的局限性,他引用了Bar-Hillel使用过的一个非常简单的例子:
The pen was in the box.
这句话很好理解,如果让计算机理解它,做一个简单的语法分析即可。但是另一句话语法相同的话:
The box was in the pen.
就让人颇为费解了。原来,在英语中,Pen还有另外一个不太常用的意思--小孩玩耍的围栏。在这里,理解成这个意思整个句子就通顺了。但是,如果用同样的语法分析,这两句话会得到相同的语法分析树,而仅仅根据这两句话本身,是无法判定pen在哪一句话中应该作为围栏,哪一句话应该是钢笔的意思。事实上,人对这两句话的理解并非来源于语法分析和语意本身,而来自于他们的常识,或者说关于世界的知识(World Knowledge),这个问题是传统的人工智能方法解决不了的。因此,明斯基给出了他的结论,“目前”(指当时)的方法无法让计算机真正有类似人的智能。由于明斯基在计算机科学界崇高的声望,他的这篇论文导致了美国政府削减了几乎全部人工智能研究的经费。在机器智能的发展史上,贾里尼克是一个划时代的人物。1972年,当时还是康奈尔大学教授的贾里尼克来到IBM沃森实验室进行学术休假,并且担任起IBM研制智能计算机的工作。贾里尼克于是挑选了一个他认为最有可能突破的课题,即语音识别。
贾里尼克从来不是真正的计算机科学家,而他的专长是信息论和通信,因此他看待语音识别问题完全不同于人工智能的专家们--在他看来这是一个通信问题。人的大脑是一个信息源,从思考到合适的语句,再通过发音说出来,是一个编码的过程,经过媒介(空气或者电话线)传播到听众耳朵里,是经过了一个长长的信道的信息传播问题,最后听话人把它听懂,是一个解码的过程。既然是一个典型的通信问题,就可以用解决通信问题的方法来解决,为此贾里尼克用两个马尔可夫模型分别描述信源和信道。当然,为了训练和使用这两个马尔可夫模型,就需要使用大量的数据。采用马尔可夫模型,IBM 将当时的语音识别率从70%左右提高到90%以上,同时语音识别的规模从几百词上升到两万多词 (Jelinek, 1976),这样,语音识别就能够从实验室走向实际应用。 贾里尼克和他的同事在无意中开创了一种采用统计的方法解决智能问题的途径,因为这种方法需要使用大量的数据,因此它又被称为是数据驱动的方法。
贾里尼克的同事彼得∙布朗在1980年代,将这种数据驱动的方法用于了机器翻译 (P.F. Brown, 1990)。由于缺乏数据,最初的翻译结果并不令人满意,虽然一些学者认可这种方法,但是其他学者,尤其是早期从事这项工作的学者认为,解决机器翻译这样智能的问题,光靠基于数据的统计是不够的。因此,当时SysTran等公司依然在组织大量的人力,写机器翻译使用的语法规则。
如果说在1980年代还看不清楚布朗的方法和传统的人工智能的方法哪一个更适合计算机解决机器智能问题的话,那么在1990年代以后,数据的优势就凸显出来了。从1990年代中期之后的10年里,语音识别的错误率减少了一半,而机器翻译的准确性提高了一倍,其中20%左右的贡献来自于方法的改进,而80%则来自于数据量的提升。当然,这背后的一个原因是,由于互联网的普及,可使用的数据量呈指数增长。
最能够说明数据对解决机器翻译等智能问题的帮助的,是2005年NIST对全世界各家机器翻译系统评测的结果。
这一年,之前没有做过机器翻译的Google,不仅一举夺得了各项评比的第一名,而且将其它单位的系统远远抛在了后面。比如在阿拉伯语到英语翻译的封闭集测试中,Google系统的BLEU评分为51.31%,领先第二名将近 5%,而提高这五个百分点在过去需要研究7—10年;在开放集的测试中,Google51.37%的得分比第二名领先了17%,可以说整整领先了一代人的水平。当然,大家能想到的原因是它请到了世界著名的机器翻译专家弗朗兹·奥科(Franz Och),但是参加评测的南加州大学系统和德国亚琛工学院系统也是奥科写的姊妹系统。从奥科在Google开始工作到提交评比结果,中间其实只有半年多的时间,奥科在方法上没有做任何改进。Google系统和之前的两个系统唯一的不同之处在于,前者使用了后者近万倍的数据量。
下表是2005年NIST评比的结果。值得一提的是,SysTran公司的系统是唯一采用传统的语法规则进行机器翻译的。它和那些采用数据驱动的系统相比,差距之大已经不在一个时代了。
从阿拉伯语到英语的翻译 (封闭集)
Google 51.31%
南加州大学 46.57%
IBM沃森实验室 46.46%
马里兰大学 44.97%
约翰∙霍普金斯大学 43.48%
……
SYSTRAN公司 10.79%
从中文到英语翻译 (开放集)
Google 51.37%
SAKHR公司 34.03%
美军ARL研究所 22.57%
表1 2005年NIST对全世界多种机器翻译系统进行评比的结果
到了2000年之后,虽然还有一些旧式的学者死守着传统人工智能的方法不放,但是无论是学术界还是工业界,机器智能的主流方法是基于统计或者说数据驱动的方法。与此同时,另外两个相关的研究领域,机器学习和数据挖掘也开始热门起来。
2012-2014年,笔者曾经负责Google的机器问答项目,并且通过使用大数据,解决了30%左右的问题,这远远超过了学术界迄今为止同类研究的水平。究其原因,除了Google在自然语言处理等基础算法上做到了世界领先之外,更重要的是,Google将这个过去认为是存粹自然语言理解的问题变成了一个大数据的问题。首先,Google发现对于用户在互联网上问的各种复杂问题,有70-80%左右的问题可以在前十条自然搜索结果(去掉广告、图片和视频等结果)中找到答案,而只有20%左右的复杂问题,答案存在于搜索结果的摘要里。因此,Google将机器自动问答这样一个难题转换成了在大数据中寻找答案的摘要问题。当然,这里面有三个前提,首先答案需要存在,这就是我们前面讲到的大数据的完备性;其次,计算能力需要足够,Google回答这样一个问题的时间小于10毫秒,但是需要上万台服务器同时工作;最后,就是要用到非常多的自然语言处理算法,包括对全部的搜索内容要进行语法分析和语义分析,要能够从文字的片段合成符合语法而且读起来通顺的自然语言等等。其中第一个前提是只有Google等少数大公司具备,而学术界不具备,因此这就决定了是Google而非学术界最早解决图灵留下的这个难题。
![]()
图 3 Google自动问答(问题为“天为什么是蓝色的?”,问题下面是计算机产生的答案)
由此可见,我们对数据重要性的认识不应该停留在统计、改进产品和销售,或者提供决策的支持上,而应该看到它(和摩尔定律、数学模型一起)导致了机器智能的产生。而机器一旦产生了和人类类似的智能,就将对人类社会产生重大的影响了。
2.大数据(Big Data)的本质
机器智能离不开数据,那么大量的数据和现在大家所说的大数据是否是一回事呢?如果不是,它们之间又有什么联系和区别呢?
毫无疑问,大数据的数据量自然是非常大的,但是光是“量”大还不是我们所说的大数据。比如过去国家统计局的数据量也很大,但是不是真正意义上的大数据。这两者的差别我们可以从三个方面来看。
首先,大数据具有多维度性质,而不同维度之间有着天然的(而非人为的)联系。为了说明这一点,我们不妨看一个实际的例子。
2013年9月份,百度发布了一个颇有意思的统计结果《中国十大“吃货”省市排行榜》。百度没有做任何的民意调查和各地饮食习惯的研究,它只是从“百度知道”的7700万条和吃有关的问题里“挖掘”出来一些结论:
在关于“什么能吃吗?”的问题中,福建、浙江、广东、四川等地的网友最经常问的是“什么虫能吃吗”,江苏、上海、北京等地的网友最经常问“什么的皮能不能吃”,内蒙古、新疆、西藏,网友则是最关心“蘑菇能吃吗”,而宁夏网友最关心的竟然是“螃蟹能吃吗”。宁夏的网页关心的事情一定让福建的网友大跌眼镜,反过来也是一样,他们会惊讶于有人居然要吃虫子。
百度做的这件小事其实就是大数据的一个典型应用。它有这样一些特点。首先,它的数据量非常“大”。第二,这些数据维度其实非常多,它们不仅涉及到食物的做法、吃法、成分、营养价值、价格、问题来源的地域和时间等等,而且里面包含了提问者的很多信息,互联网的IP地址,所用的计算机(或者手机)的型号,浏览器的种类等等。这些维度也不是明确地给出的(这一点和传统的数据库不一样),因此在外面人看来,这些原始的数据是“相当杂乱”,但是恰恰是这些看上去杂乱无章的数据将原来看似无关的维度(时间、地域、食品、做法,成分,人的身份和收入情况等)联系了起来。经过对这些信息的挖掘,加工和整理,就得到了有意义的统计规律。
当然,百度只公布了一点点大家感兴趣的结果。它完全可以从这些数据中得到更多有价值的统计结果。比如,它很容易得到不同年龄人、性别和文化背景(这些很容易挖掘出来)的饮食习惯,不同生活习惯的人(比如正常作息的、夜猫子们、经常出差的或者不爱运动的等等)的饮食习惯等等。如果百度的数据收集的时间跨度足够长,它还可以看出不同地区人饮食习惯的变化,尤其是在不同经济发展阶段饮食习惯的改变。而这些看似很简单的问题,比如饮食习惯的变化,没有百度知道的大数据,还真难得到。这就是大数据多维度的威力。
大数据的第二个特点在于它的完备性。为了说明这一点,让我们再来看一个真实的案例。从1932年开始,盖洛普一直在对美国总统选举进行预测,几十年来它也在不断地改进采样的方法,力求使得统计准确,但是在过去的几十年里,它对美国大选结果的预测可以讲是大局(全国)尚准确,但是细节(每一个州)常常出错。因为再好的采样方法,也有考虑不周全之处。
但是到了2012年总统选举时,这种“永远预测不准”的情况得到了改变。一位名不见经传的统计学家Nate Silver通过对互联网网上能够取得的各种大量的数据(包括社交网络上用户发表的信息、新闻信息和其它网络信息),进行大数据分析,准确地预测了全部50个州的选举结果,而在历史上,盖洛普从来没有做的这一点。当然,有人可能会问,这个结果是否是蒙的?这个可能性或许存在,但是只有一千万亿分之一,因此可以认为这是大数据分析的结果。在这个例子中,Silver并没有什么好的采样方法,只是收集的数据很完备。大数据的完备性,不仅有用,甚至有点可怕。
![]()
图4. Nate Silver对2012年美国大选的预测(左)和实际结果(右)的对比(红色的地方表示共和党获胜的州,蓝色的表示民主党获胜的州)
数据的完备性的作用远比准确预测一个总统选举大得多,Google无人驾驶汽车便是一个很好的例子。首先,无人驾驶汽车可以算是一个机器人,这点应该没有疑问,因为它能像人一样对各种随机突发性事件快速地做出判断。在这个领域Google只花了六年时间就做到了全世界学术界几十年没有做到的事情。在2004年,经济学家们还认为司机是计算机难以取代人的几个行业之一。当然,他们不是凭空得出这个结论的,除了分析了技术上和心理上的难度外,还参考了当年DARPA组织的自动驾驶汽车拉力赛的结果--当时排名第一的汽车花了几小时才开出8英里,然后就抛锚了。但是,仅仅过了6年后,2010年Google的自动驾驶汽车不仅研制出来了,而且已经在高速公路和繁华的市区行驶了14万英里,没有出一次事故。
为什么Google能在不到六年的时间里做到这一点呢?最根本的原因是它的思维方式和以往的科学家们都不同--它把这个机器人的问题变成了一个大数据的问题。首先,自动驾驶汽车项目是Google街景项目的延伸,Google自动驾驶汽车只能去它“扫过街”的地方,而在行驶到这些地方时,它对周围的环境是非常了解的,这就是大数据完备性的威力。而过去那些研究所里研制的自动驾驶汽车,每到一处都要临时地识别目标,这是人思维的方式。其次,Google的自动驾驶汽车上面装了十几个传感器,每秒钟几十次的各种扫描,这不仅超过了人所谓的“眼观六路、耳听八方”,而且积攒下来的大量的数据,对各地的路况,以及不同交通状况下车辆行驶的模式有准确的了解,计算机学习这些“经验”的速度则远远比人快得多,这是大数据多维度的优势。这两点是过去学术界所不具备的条件,依靠它们,Google才能在非常短的时间里实现汽车的自动驾驶。
大数据的第三个特征在它的英文提法“Big Data”这个词当中体现的很清楚。请注意,这里使用的是Big Data,而不是Large Data。Big和Large这两个单词有什么区别呢,Big更主要是强调抽象意义上的大,而Large是强调数量(或者尺寸)大,比如大桌子Large Table。Big Data的提法,不仅表示大的数据量,更重要地是强调思维方式的不同。这种以数据为主的新的做法,在某种程度上颠覆了我们长期以来在科学和工程上的方法论。在过去,我们强调做一件事情的因果关系,通过前提和假设,推导出结果。但是在大数据时代,由于数据的完备性,我们常常是先知道结论,再找原因(甚至不去找原因),那么我们是否愿意去接受这样的工作方式。事实上,在一些具有大数据的IT公司里,包括Google,阿里巴巴等,今天已经是按照这种思维方式做事情了。Google的产品比竞争对手稍微好一点,主要不是靠技术,而是靠它的数据比对手更完备,同时它愿意用数据来解决问题。阿里巴巴的小额贷款能做起来(而其它商业银行做不到),其实就是对大数据思维的一种诠释。这是一种我们以前完全没见过的新的思维方式,一种新的方法论。
大数据的这三个特点导致了机器智能和人具有完全不同的特点,它不是通过逻辑推理归纳演绎得出结论,而是利用大数据的完备性和多维度特点,直接找到答案。而大数据的完备性有可能让机器比人更能够掌控全局,或者说帮助决策者更好地掌握全局。
大数据不仅仅是数据量大,而在于它的天然多维度特点和它的完备性。数据驱动的方法结合呈指数增长的计算机性能导致了机器智能的产生,并且在今天这个时间点上可以比肩人类的智能,这才是大数据重要的根本原因。机器智能和人的智能是不同的,它不是依靠人严密的逻辑推理得到问题的答案,而是通过大数据的完备性直接找到答案,或者根据大数据多维度的特点找到以前我们无法发现的规律性。这将改变我们的思维方式,也就是所谓的采用“大数据思维”。