首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

智能的衡量

本文主体整理、润色自去年和T同学一起读Superintelligence时,第六章的读书笔记。原文标题:定义智能I的一种尝试。

缘由

Superintelligence是一本“人工智能阴谋论”的经典著作。我把它归结为“阴谋论”,并不是因为这本书故弄玄虚,危言耸听——恰恰相反,这本书写得非常扎实,论证紧凑严密,内容丰富。作者是一个搞哲学的,但前两章对计算机科学的分析也很专业,后面涉及到的其他学科的内容,依据我对那些学科的浅薄理解,也没有明显的问题。而作者的哲学背景使这本书可读性很好。

之所以我说它是“阴谋论”,是因为我不认同这本书的结论。或者说,我不认为所谓“超智能”会迅速取代人的说法会真的变成现实。不过,这就是很主观的观点了,现在这个时间点,没有人能有足够的信息来预测“超智能”的事情。所以这并不影响我喜欢这本书,更不影响这本书是一部佳作的事实。(虽然,很惭愧地,这本书我也只读了一半,我归咎于写读书笔记的任务太重,而英文版确实读来太费精力——这就是另一个故事了)

作者的非理科背景并没有削弱他对计算机科学很多概念的理解和分析,但确实让这本书的“数学”严密性有些逊色。最重要的一点是关于“智能”的精确定义。作者没有给出我想看到的定义,而是把“智能”当成一个理所当然的概念,甚至在前几章中理所当然的当做一个量来讨论它(甚至用微积分的方式“证明”了人工智能的“爆炸式”演化。作者的这段证明我也非常不认同,不过这不是本文要讨论的了)。的确,智能看起来并没有太多歧义:我可以放心地说,爱因斯坦的“智能”远高于我,而我的智能也比某些人要高;甚至我们有现成的“智商”概念,似乎可以把人类的智慧数值化。“智商”这个值得不合理性已经超出了本文想探讨的范畴,这里只引用书中的一小段话来指出“智商”这个衡量标准会遇到的困境:

“For example, we have data that show that people with an IQ of 130 are more likely than those with an IQ of 90 to excel in school and to do well in a wide range of cognitively demanding jobs. But suppose we could somehow establish that a certain future AI will have an IQ of 6,455: then what? We would have no idea of what such an AI could actually do. We would not even know that such an AI had as much general intelligence as a normal human adult—perhaps the AI would instead have a bundle of special-purpose algorithms enabling it to solve typical intelligence test questions with superhuman efficiency but not much else.”

——摘自Superintelligence,第六章注释五附近的正文。

然而令我失望的是,作者在提出这个困境后,直接放弃了精确定义智能,然后把它和人类进行比较的尝试,而转向了实用主义,即列举直接一些“超智能”可能拥有的能力。事实上,作者指出“智商”的困境就是为了停止对人类智能和人工智能的能力比较,而直接进入对“超智能”拥有的“超能力”的探讨。

定义

但我还是放不下智能的概念。贯穿全书最重要的概念,竟然是一个没有定义的量。这让我完全无法接受。这个念头从前几章就开始折磨我,终于在读第六章的时候,我有了一点想法,可以定义智能。下面把智能(Intelligence)简写为I。

在我的想法中,I必须符合两个条件。第一,scalible(不知道这个词合不合适),也就是说,这个定义可以衡量各种尺度,各种条件下的智能。书中也说了,超智能有很多种形式,第六章table 8 就列了几种superpower。第二,comparable,不同的智能在这个标准下确实是可以比较的,不会出现上面引用的,智商为意义不明的6455这种尴尬情况。

我的定义灵感来自熵。熵这个物理量算是被各路民科大量使用的一个了,于是当我决定做民科来定义智能的时候,也借鉴了这个量的一个重要性质:统计性质。熵的统计定义是S=k ln Omega,k是玻尔兹曼常数,作用是联系不同量纲,可以不讨论。Omega是等价状态的状态数,而熵S的定义就和这个状态数的对数成正比。更具体的例子可以参照知乎网友的这个回答:https://www.zhihu.com/question/24053383/answer/26590199 (或点击文末的查看原文) 。正是这么“民科”的定义,使熵成为一个泛用性很强的物理量。在任何一个系统,只要你可以定义状态和等价状态,就可以定义出这个系统每一个状态的“熵”——当然这个熵并不是热力学上的熵,但用这个概念辅助说明问题是可以的。

那么只要对系统进行一定的限制,我也可以定义一个智能体在这个系统中的智能I了。一个用来定义智能的系统需要有一个环境,用来考察智能水平;需要一套交互方式,智能只能用这一套方式和环境交互;需要一套停止条件,在条件生效时交互结束;需要一个比较标准,要求任何两次交互的结果确定之后,可以比较这两次交互的结果孰优孰劣,并且这个比较标准必须有传递性:a>b, b>c则a>c。

举个最简单的例子。一套100道的判断正误题的试卷就可以构成这样一个系统。环境是试卷,交互方式是在纸上书写答案,停止条件是时间到,比较标准是看正确判断的题数。看到这里你可能有很多疑惑要问,但先别急,我先在这个系统下定义I。

这里的交互方式还有一个隐含条件,那就是在交互方式上必须是可以定义概率的,或者说类似微观状态等概率原理,每一种交互方式都是等概率的。注意上句话第二个“交互方式”是“微观的”交互方式,只有微分定义;而第一个“交互方式”是宏观上的,是微观交互方式的概率积分的结果。我们的要求就是,这个积分是存在的,是数学上可定义的。后文如果提到交互方式,都指宏观的。

定义交互方式的概率之后,I就容易定义多了。设系统S;智能体Z;S(Z)是Z在S下一次交互的结果,注意同样的S和Z进行多次可能出现不同结果;交互方式计为J;S(J)是以J这种交互方式得到的结果。那么I的定义就是下面的公式了:

P_J指的是在J均匀分布下的概率。这个公式用语言来描述,智能体Z在系统S下的智能I是任意交互方式J在S下的结果大于Z的结果的概率的期望的负对数。概率是因为J是随机选的,期望是因为S(Z)每次结果不同,负对数是为了让这个量纲更合理。

例子

现在用前面100道判断题的例子来实践一下这个定义。为了便于计算,我们改变交互方式的定义为给每道题选择“对”或是“错”,而停止条件改为100道题全部完成。这样一来,我们就可以使用“等状态原理”精确地计算每一种交互方式的概率了。同时因为判断题的试卷自然拥有有传递性的比较标准,所以我们就可以计算达到每一个分值所需的智能有多高了。

注意这个定义最重要的思想是,看有多少种方式能做得比这个智能体更好。比如说,如果100道题你做对了99道,只有一种方式能比你更好:就是满分。如果做对了98道呢?那就有1+100=101种方式比你好。1是一种满分可能,100是100种不同的得到99分的方式(每种是错不一样的题)。同样地,如果做对了97道,比你好的方式有1+100+100*99/2=5051种。

那么一共有多少种做题方式呢?每一道题都有两种选择:对或者错。那么100道题,可能性就是2^200=1267650600228229401496703205376种。我们开始计算智能。做对99题的家伙,智能值是I(99)-ln(1/2^100)=69.31。这1/2^100就是在所有选择中,正好选到了比这人强的结果的概率。类似地,我们有I(98)=-ln(101/2^100)=64.70,以及I(97)-ln(5051/2^100)=60.79。

但是,想做这种计算的话,要求是很高的:我们不仅需要算出比这种结果更好的交互方式数,还需要知道所有可能的交互方式数。如果说第一个数字还可以大概估算,第二个数字则在很多情况下不可能计算。

——没关系,我们更关注的不是智能的绝对值,而是差值。如果我们想知道I(99)-I(98),我们完全不需要知道2^100这个数字。只需要计算-ln(1/101)即可得到两者的差是4.62,而I(98)-I(97)=-ln(101/5051)=3.91。我们可以直观地感受到,I(99)和I(98)的差距要大一些。

可以这样计算,是因为定义智能的时候用了对数,而同底对数相减,对数里面相同的分母就消掉了。

更进一步,我们甚至不需要知道1和101这两个数,只需要估算出它们的比值,就可以计算智能差了。

下图横轴是做对的题数,纵轴是对应的智能。

可见随着分数的均匀增长,智能值的增长是越来越剧烈的。这也和我们平时说的,从90分提到95分比60提到65分难得多,是一个道理。仔细观察,95分到98分这一段,智能值上升了10左右,而10智能差足以使81分升到87分,或者69分升到79分,甚至0分升到69分!这初看似乎不正常,但考虑到判断题平均瞎蒙也能对一半,并观察到50分的智能值只有1,这一切也就相对合理了。这种“越接近满分越难”的情况完全符合我们做事的经验。

分析

和物理学中的熵不同的是,我们智能的定义不只关注“混乱度”的降低,而且必须向“正确”的方向降低。例如如果要计算这一百道题的不同答案的熵值,会发现只做对1道题和做对99道题是一样的低熵状态(对应这里的高智能),因为100道判断题,随机选的话全都做错和全都做对的难度其实是一样的。然而这里的智能定义通过定义了不同结果的全序关系,避开了这个陷阱。

这只是最简单的一个例子,在复杂的系统中,如果能定义S,并且能粗略计算J的分布,就也能估算智能体Z在这个系统中的智能I了。

这个定义有一个很大的优点是“抗噪性”。比如在最开始100道题的例子中,定义的交互方式是“在纸上书写”,但完全也可以定义成“给每道题选择正确或错误的答案”,这样的定义会导致S(J)的分布完全不同。在第一个定义中,有太多的J仅仅是在试卷上乱画乱写,导致无法判断答案是否正确,只能给0分;而第二个定义避开了这种可能性。同时,第一个定义对智能体的要求也比第二个高:智能体不仅要能判断命题的正误,还需要有握笔、书写的能力。但是在两种不同的交互方式定义下的I,却有着“平移相似性”,也就是说,I_ - I_ 约等于 I_ - I_,这是因为“好”的交互结果大都没有鬼画符,而影响I的差值的部分,只和那些好的J所占的比重相关。

另一个优点是灵活性。我们都知道,一个人擅长考试,并不一定擅长游戏。甚至擅长数学并不一定擅长物理。在我们的定义中并没有简单的定义智能体的智能,而是定义智能体在某个系统中的智能。比较不同智能体的智能时也要先确定是在什么系统中。(然而不能比较同一个智能体在不同系统中的智能)。

当然,这种定义也有两个很大的缺陷。第一,无法定义“完美智能体”的智能。如果一个智能体能做到完美完成系统的任务,没有任何J能比它做得更好,那么这个智能体在这个系统中的智能就无法定义,或者说是无限大了。这也是上面的图里面,没有画100分对应的智能的原因:这个智能是无限大。第二,这个智能的绝对值意义并不大,会随着S的定义方式剧烈变化,比如判断题的例子中,对“交互方式”的复杂定义会让正常人类的智能值看起来非常非常高,而简单定义则一般只有几十(或是100分的无限大)。也就是说,这种定义只有比较两个智能体的智能时才有意义。

有一种方法可以暂时弥补上面所说的第一个缺陷。只要将公式里面的大于改为大于等于,那么就算是完美智能体,也有至少一种J能做到和它一样好的结果,那么完美智能体的智能就是ln(count of all possible J)。当然这只是权宜之计,如果J是连续的怎么办?所以这依然是这套理论的缺陷。然而,考虑到这个理论更重视比较不同智能体的智能,而我们完全可以说,完美智能体的智能是压倒性地强于一切非完美智能的。所以这个缺陷也不是不能容忍的。

就写到这里。如果有什么疑问或是建议,可以在评论里提出,我们一起讨论。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190106G0C5OI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券