AlphaGo:算法的胜利
2016-04-22赵言昌
赵言昌
2016年3月15日,谷歌阿尔法狗(AlphaGo)与韩国九段棋手李世石进行“人机大战”第五场对弈,经过五个小时的博弈,最终,谷歌AlphaGo获胜。
AlphaGo的胜利,是深度学习的胜利,也是算法的胜利。你鼠标的每一次点击,你在手机上完成的每一次购物,天上飞的卫星,水里游的潜艇,拴着你钱袋子的股票涨跌——我们这个世界,正是建立在算法之上的。
那么,什么是算法,你对它又了解多少?
齐军煮粥与枚举法
一直以来,计算机科学都给人一种高深莫测的感觉,人们对其有很多“高大上”的印象,其实,它也有一些你我早已熟识的东西。
例如:电影《战国》中,孙膑(孙红雷饰)带领齐国军队打仗,半路上收留了几百个灾民。齐国的情报系统告诉孙膑,灾民之中有敌国奸细。那么,仓促之间,如何判断谁才是敌人?
孙军师心生一计,嘱咐手下人煮粥,并在粥里加了很多辣椒。如此味道,一般人肯定是不肯喝的,但灾民就不一样了。都快饿死了,谁还敢挑食?下属们纷纷称赞军师神算……
那么,有没有更好的方法呢?
有!狠下心,挨个儿杀,总会把奸细杀死。
电脑有时就是这么处理问题的:五把钥匙里,有一把是对的,一把一把试过去,总能打开锁。这就是枚举法,听起来有些弱智,但是计算机的运算速度很快,所以至今仍有用武之处。
考场作弊与数据压缩
随着网络的应用越来越普遍,很多人都爱花钱办会员,在线或下载下来收听无损歌曲。那么,无损音乐是怎么回事?
这就要从数据压缩说起。
比如,考试时,你身后坐的一位后进同学小声跟你要选择题的答案。假设一共有20道选择题,每道题的答案都是A,你是挨个给他念一遍呢,还是说一句,“都是A”?正常人肯定会选后者,不仅省时、省事,而且没有信息损失,和“AAAAAAAAAAAAAAAAAAAA”效果一致。
在此过程中,你通过统计分析,总结出规律,用更少的字段去描述全部信息,这就是无损压缩。
那么,有损压缩又是什么样的?比如,你爱上一个姑娘,她在北京,你在上海。聚少离多,思念日增,你想要知道对方每时每刻的样子。不过,总不能请个摄影师24小时跟拍吧。于是你们约定,选几个特定时刻,早上起床什么样,晚上睡前什么样,白天工作什么样,周末休息什么样。
就这样,24小时的内容,被压缩到几分钟,数据量大为减少,这是好处一;有些情况你看不到,这是坏处一;照片到了你手里,你就可以根据你对她的了解,近似还原她的状态,这是好处二。
“两利相权取其重”,有损压缩因此风靡。
比如刷微博时,你上传一张自拍,新浪的服务器会将照片还原成一个个明暗变化的小点,然后用有损压缩。比如,可以每隔几行剪掉一部分数据,用临近小点的明暗数值补齐。新浪节省了存储空间,你减少了流量费,而图片质量区别并不是很大,何乐而不为?
外星探索与公钥加密
公钥加密是一种很古老的做法——在计算机领域,超过10年就算古董了。
公钥加密是由对应的一对唯一性密钥(即公开密钥和私有密钥)组成的加密方法,是目前商业密码的核心。“公钥”,顾名思义,钥匙是公开的。
比如,你和你的好朋友小明被聘请为人类外星探索先行官,降落在某个地外星球上。不料,这颗星球上是有原住民的,他们把你俩抓了起来,并监控了你俩的通信频道。
小明问:“你现在还有多少子弹?”
你要是直接说数字,外星人马上会知道,你要是说“N+5”,小明又不知道N是多少。
就在这个时候,你发现外星人不懂乘除法。该如何利用这一情况呢?
首先,你还是用加密信息,告诉小明:“我的子弹数是N×9。”
然后,你说:“任选一个数字。”
外星人自然会听到,不过没关系,数字是无穷的,撞车的概率很小。你选了3,小明选了2。
接下来,你用3乘以9,得到27;小明也一样,他用2乘以9,得到18;至于外星人,他们选的数字和你们不一样,得出的结果自然也不一样。
随即,你公布“答案是27”,小明也公布,“答案是18”。
最后是见证奇迹的时刻:你用小明公布的数字18,乘以你的私密数字3,得到54;小明呢,他用27乘以2,结果也一样——(2×9)×3=(3×9)×2。
我们逛淘宝的时候,正是经历了这样的场景。你发出的付款信息,要经过多个服务器转接。如果不加密,你的支付信息就会暴露在互联网上;你自定义一套密码,安全倒是安全,但淘宝也不知道你说的什么,老是“支付失败”你能乐意吗?因而,必须用公钥加密信息。
所以,并不是“败家娘们”通过“买买买”让马云当上了首富,技术进步才是淘宝成功的关键之一。
“川菜招牌菜”与匹配排名
谷歌初创时,不过是斯坦福大学的一个学生研究项目。20年来,从十万美元的初始投资到一千多亿美元的资产净值,从一个小小的搜索框到涵盖手机、通讯、在线教育等数个领域的互联网大鳄,谷歌深远地影响了世界。
为什么谷歌风靡全球?因为谷歌的搜索引擎特别好用。
为什么谷歌的搜索引擎那么好用?因为谷歌的匹配与排名算法极其优秀。
比如,当我们用谷歌搜索“川菜的招牌菜是什么”时,谷歌的服务器首先要进行匹配,找到我们想要的网页;其次要进行排名,判断不同网页的优先度,将我们最想要的,排在最前面。
匹配就像查字典,难的是如何教会计算机查字典。“川菜的招牌菜”是偏正短语,“川菜”用来修饰“招牌菜”,计算机不懂这些。所以,计算机首先要把互联网上的网页都看一遍,找到所有含有“川菜”的网页和所有含有“招牌菜”的网页,将二者进行对比,找出重复的部分。而这,大概就是用户需要的。
问题是,这些网页很多,可能有几百万个,怎么对它们进行排序呢?总不能一股脑都摆第一页吧?否则,50寸的显示器也不够用呐。
谷歌的崛起,就是因为排名。1998年,谷歌创始人拉里·佩奇和谢尔盖·布林发表了《解析大规模超文本网络搜索引擎》。
当时,由于技术限制,人们还不可能让计算机直接模拟人脑,分辨哪些重要、哪些不重要。对此,佩奇和布林找到了一个计算机可以辨识的指标:PageRank值。
PageRank值可以简单理解为网页的被引用次数。比如有一百个网页既包含“川菜”又包含“招牌菜”,符合搜索要求。其中,有九十九个网页通过超链接提到了最后一个网页,那么,最后一个网页,就是最贴近用户需要的。
谢耳朵认脸与图像识别
PageRank值本质上是一种等价思想,用一种计算机可以使用的衡量标准,取代人类的衡量标准,“数值高”就等于人们“最想要”。如此一来,计算机就能出色地完成我们交付的任务。
有时候,问题并不是这么简单。举个例子,计算机该如何进行图像识别呢?更进一步讲,计算机能不能辨识人脸以至于认识到人的喜怒哀乐?
喜爱看美剧的人,对于《生活大爆炸》中的谢耳朵肯定不会陌生,他既是一个物理学方面的天才,十几岁就开始攻读博士学位,让人钦佩;也是一个生活中的弱智,连朋友是开心还是生气都看不出来,令人莞尔。
如果谢耳朵花钱请你教他识别面部表情,你该怎么做呢?
你的第一反应,可能是找一台摄像机,把他朋友的喜怒哀乐都记录下来,一个一个地分析给谢耳朵听,让他记住重点,开心的时候,眉毛在哪,嘴唇如何,生气的时候又是怎样,区别在哪里。
思路没有什么大错,只是有两个缺陷:第一,每一个人每次笑,都有些许不同,还有“激动地流泪”、“长歌当哭”这种场景;第二,就算他学会了,他也只能辨识朋友们的面部表情,陌生人的则不行。
所以,我们改进方案。首先,选取最典型的长相;接着,寻找最典型的表情;最后,设立一个决策树。计算机进行图像识别的方式也与此类似,当计算机拿到一张照片时,它沿着决策树,将测试数据和之前的样本数据进行对比。
最终,计算机给出结论,“这是一张男人的照片,他在哭”。研究人员再对结果进行判断,给予奖励或者修正。这样,计算机就能逐步地建立一个决策体系,准确地识别人的表情。
奇点与未来
在物理上,有观点认为宇宙起源于奇点。奇点是指一个体积无限小、密度无限大的点,所有的物理定律都对它不适用;仿照这一概念,有人提出了技术奇点,认为在未来某一时刻,技术会发生近乎无限的进步,使得我们之前的预测和生活方式都失效。
很多名人,如比尔·盖茨、史蒂芬·霍金,都曾发出警告,认为人工智能可能就是这个奇点,超级计算机也许会导致人类的毁灭。如今,AlphaGo在“人机大战”中已取得压倒性胜利。那么,计算机技术的奇点真的已经到了吗?未来人类又将走向何方?(编辑/余风)