—— 读《终极算法》
在深度学习出现突破之前,其实我不太相信会出现什么机器智能。那些让人惊艳的产品都不过是人脑智慧的某种包装,背后的力量还是人。比如:
-
Google 神奇的 PageRank 算法可以把网页按搜索词的相关性排序展现。但它最初并不是突破了什么语意理解,本质上只是把对网页质量的评判转换为编写网页的人的取舍(对其他网页的取舍,就是「超链接」啦);
-
聊天机器人鼻祖 Eliza ,要么是替换发问,要么是从人工建立的语料库里抽取出一条相关的回复;
-
快速傅立叶变换,就像把乘法转换成了对数下的加法(呃~~这个例子好像不大准确😒);
-
……
每每看到这些黑科技背后竟是「不过尔尔」的原理,就有点小伤感。据说美国佬在得知老毛子是怎么做到三倍音速[1]以后,也是这种心情😑。
何谓智能?
在深度学习出现突破之后,我们不得不开始审视智能的标准(别提什么 Turing 测试,他老人家只不过是把人工智能的定义规约到了人脑智能上)。
我们先来考察下智能的基础是什么?Hawkins 说,智能的基础是预测。在生命还不具备大范围移动能力之初,只需要简单的预测(应激性)就已足够生命续命了。而在生命获得了移动能力之后,环境的剧烈变化要求生命必须获得对环境、对同族对手、对天敌的更强的预测能力。
那么,预测的基础是什么呢?如果真像 Leibniz 所说「世间没有两片相同的树叶」,那我们应该生活在无穷无尽的恐惧当中,比三体人还惨,才对啊!事实是,世间万物充满了相似、重复、联系。没有造化的「重复利用」,人类何以以极其有限的资源应对无限的可能(复杂性怪兽)?!
计算机体系结构设计建立在一条基本假设之上——局部性原理(时间局部性 & 空间局部性)。如果这条假设不存在,寄存器、快取、内存、磁盘的存储体系就没有意义,因为你根本不能预测下一条指令会用到什么数据。
同样,卷积神经网络也建立在这种空间上的「重复利用」之上[^principle of locality]。直线边缘、弧形边缘、拐角……,如果世间万物都是毫不相干的「随机边缘」,人眼中也许就只有现象,不会出现概念了。
[^principle of locality]: 推荐大家看 YJango 写的神经网络教程。
正是由于万物间普遍存在的「重复」,才使得生物可以预测环境中的危险而存活下来。活下去,这就是「学习」的本质:不管环境如何变化,都能迅速适应(不依靠进化剪刀)适应环境。一方面,根据以往的经验,做好应对各种威胁的准备;另一方面,预想可能出现的威胁,并做出预案。从这个角度看「算法」,算法就是维持某种稳态的一系列调整。
我们不应该将「智能」与「意识」挂钩。重要的是怎么调整策略达成目标。比如:用梯度下降求目标函数最小点的参数时,要是「步长」设大了,可能就一蹦一蹦出去了。显然,这时候,就还不具备智能,因为它没有根据当下的情况作出调整。这种应对的弹性也好、自恢复也好,也许正是智能奥秘的底牌。
人类的机会
目前看来,机器暂时还赶不上人类的领域,大多是传感器做得还不如人类原生好(或者还太贵)的领域。正如书中所言,
(p353) 狭义定义的任务很容易通过数据来完成,但那些需要技能与知识广泛结合的任务却不能。
(p354) 一项任务,需要的背景信息越多,计算机能迅速完成它的可能性就越小。
机器学习要想赶上人类,至少还有两道坎:先验知识 & 逻辑推演。
人类几万年的积累的先验知识可不是盖的。摩尔定律驱动下的计算加速再快,也得经过很长一段时间的调优吧。所以,在此之前,依仗这些祖宗的老本,人类还是可以横行一段时间的。
但同时,人类对感官的依赖将会越来越低。因为人类被迫去处理更为间接的因素缠斗。就好像频率论派 & Bayes 派之争,本质上是「只使用直接观测到的数据」v.s.「允许使用间接观测到的数据(含有主观的成分)」。
另一个未解之谜是:众所周知,人脑就是那套「终极算法」,而且还是基于神经网络的,可这套算法是怎么产生逻辑推演的?一个是「神经网络拟合」,一个是「符号演算」,两者看起来如此迥然不同,它俩可是怎么融合的啊?!
虽然我们有 Mathematica 这样的规则引擎,但要在神经网络之上搭建出这样一套引擎,其难度就好比从「一个苹果」「一个西瓜」之中发现「1」这个抽象概念一样,让人唏嘘不已。要知道,哪怕就是一条简单的「加法交换律」a + b = b + a
那都是可以适用于无限个实数的法则啊!把神经网络和无限扯上关系,总觉得怪怪的。这种神的武器库里的神器,人类是怎么拿到的啊?!!!😱
机器学习将会成为人类观察数据世界的显微镜(或者数据宇宙的望远镜?)
也许直到计算机的出现,人类才真正获得了探索高维空间的能力。
我本以为,深度学习早已融入了各家之言,进化派、链接派、符号派、Bayes 派、类推派的划分早已名存实亡:Dropout 算法不就是进化派的手法,概率分析更是被玩得烂熟……但从来没有从整合现有工具的角度思考。对于中国人来说,盲人摸象是个贬义词。可这正是我们面对复杂性怪兽的真实处境,也是近乎唯一的手段。但当我们把盲人摸到的感受和他所处的位置整合起来考虑时,却可以拼凑出一个近似的真相。对,我们就是想用一系列的观察值把真实关起来。揭开老底看,哪怕 AlphaGo 干翻了人类顶尖高手,我们应对复杂的工具仍然很简陋。可如果我们能把这些简陋的工具有效组合起来,我们或许能拿到一套强大的武器。
开始吐槽
第二章中「来自物理学的论证」一节。不应该用简洁性来论证终极算法的单一存在(哪怕是因为物理学自己的屁股都没擦干净(对啊,我就是说的你们物理牛心心念念的大统一理论)),而应从能量最低的角度来论证:大自然老妈不大可能根据不同的智能需求设计不同的算法,因为进化的成本太高了。即使不同的生命个体进化出不同的智能,也不大可能通过进食的方式整合。那如何解释智能机制的高度一致呢?唯有一开始大家就都是一个妈生的。环境虽然千千万,但环境压力都会顺着某条未知的管道形成智能。
但这只是一个微不足道的小瑕疵。真正让人匪夷所思的是那个所谓的「终极算法——马尔可夫逻辑网络」。我去~逻辑 & 概率的距离,就像是引力 & 其他三种作用力的距离那么远。感觉好像有人宣称自己发现了大统一理论,浓浓的民科即视感😒
不得不说,整合现有工具[2]、白人小女孩的那个过拟合的段子[3]、Autocoder[4]、维数灾难( 3000 维的橘子的例子[5]相当深刻)等章节都相当精彩。但读到「解开疑惑」一章的时候,感觉自己读了本假书。《终极算法》这种书名本就听起来像是外行写的预告片,没曾想是内行写的科幻小说(要不奇幻小说?)。按作者的说法,终极算法就是会说话的魔镜。呃~~
也许若干年后会有人给 Domingos 正名吧,但至少它给我的感受和《反脆弱》一样:本来我想找到生物系统如此健壮的根源,但是作者抛了堆问题,就打止了。
深度学习实现了对特征的自动识别,打通了从现实世界到数学模型间的关键一环。但没必要过分神话。
其实,「终极算法」早就出现了,那不就是家里那个蠢萌的小家伙吗!
网友评论