奎克的藏经阁 · MinerU 解析内容

人工智能时代:破解人机共存密码(套装共10册)

3314 个 PDF 物理页 · 本页显示文件第 3151–3160 页

PDF 物理页索引 3150

文件中的第 3151 页 · 印刷页码:未识别

马尔可夫假设(假设错误但有用)文中每个位置的概率都是一样的。因此我们只需估算三个概率:P(元音1=真),P(元音i+1=真|元音i=真),且P(元音i+1=真|元音i=假[因为概率相加等于1,由此我们可以马上得出P(元音1=假)等]。与朴素贝叶斯法一样,我们可以随心所欲拥有许多变量,而不用估算可能会抵达上限的概率的数量,但现在变量之间实际上会相互依赖。

如果我们测量的不仅仅是元音对辅音的概率,还有字母顺序遵循字母表顺序的概率,利用与《尤金·奥涅金》一样的统计数据,我们可以很愉快地生成新的文本:选择第一个字母,然后在第一个字母的基础上选择第二个字母,以此类推。当然结果是一堆没有意义的数据,但如果我们让每个字母都依照之前的几个字母而不止一个字母,这个过程就开始听起来更像一个酒鬼的疯话,虽然从整体上看没有意义,但从局部上看却很连贯。虽然这还不足以通过图灵测试,但像这样的模型是机器翻译系统的关键组成部分,比如谷歌翻译可以让你看到整版的英文页面(或者几乎整版),不管原页面的语言是什么。

源于谷歌的页面排名,本身就是一条马尔可夫链。拉里·佩奇认为,含有许多链接的页面,可能会比只含几个的要重要,而且来自重要页面的链接本身也更有价值。这样就形成了一种无限倒退,但我们可以利用马尔可夫链来掌控这种倒退。想象一下,一个页面搜索用户通过随机点击链接来从这个页面跳到另外一个页面:这时马尔可夫链的状态就不是文字而是页面了,这样问题就变得更为复杂,但数学原理是一样的。那么每个页面的得分就是搜索用户花在该页面上的时间,或者等于他徘徊很久后停留在该页面上的概率。

马尔可夫链无处不在,而且是人们研究最多的数学话题,但它仍是受到很大限制的概率模型。我们可以用图6–2中的模型来进一步探讨这个问题。

PDF 物理页索引 3151

文件中的第 3152 页 · 印刷页码:未识别

与之前一样,这些状态组成一条马尔可夫链,但我们看不到它们,得从观察中将它们推导出来。人们称其为隐藏的马尔可夫模型,或者简称为HMM(有点误导人,因为被隐藏的是状态,而不是模型)。HMM和Siri一样,处于语音识别系统的中心。在语音识别过程中,隐藏的状态是书面形式的单词,而观察值则是对Siri说的声音,而目标则是从声音中推断出单词。模型有两个组成部分:给定当前单词的情况下,下一个单词出现的概率和在马尔可夫链中的一样;在单词被说出来的情况下,听到各种声音的概率(到底如何进行推导,这是一个有趣的问题,下面我们会来讨论这个问题)。

除了Siri,你每次用手机来通话时都会用到一个HMM。这是因为你的词语在空气中以位流的形式发送,而数位在发送过程中会受到损坏。这个HMM接着会从接收到的数位中(观察值)找到预期的那个(隐藏状态),这是HMM应该能做得到的,只要受损的数位不是很多。

HMM还是计算生物学家最为喜爱的工具。一个蛋白质分子是一个氨基酸序列,而DNA则是一个碱基序列。举个例子,如果我们想预测一个蛋白质分子怎样才能形成三维形状,我们可以把氨基酸当作观察值,把每个点的褶皱类型当作隐藏状态。同样,我们可以用一个HMM来确定DNA中基因开始转录的地点,还可以确定其他许多属性。

PDF 物理页索引 3152

文件中的第 3153 页 · 印刷页码:未识别

如果状态和观察值都是连续而非离散变量,那么HMM就变成人们熟知的卡尔曼滤波器。经济学家利用卡尔曼滤波器来从数量的时间序列中消除冗余,比如GDP(国内生产总值)、通货膨胀、失业率。“真正的”GDP值属于隐藏的状态;在每一个时间点上,真值应该与观察值相似,同时也与之前的真值相似,因为经济很少会突然跳跃式增长。卡尔曼滤波器会交替使用这两者,同时会生成流畅的曲线,仍与观察值一致。当导弹巡航到目的地时,就是卡尔曼滤波器使它保持在轨道上。没有卡尔曼滤波器,人类就无法登上月球。

所有东西都有关联<sub>,</sub>但不是直接关联

HMM有助于模拟所有种类的序列,但它们远远不如符号学派的“如果……那么……”规则灵活,在这个规则当中,任何事都可以以前提的形式出现,而在任意下游规则中,一条规则的结果可以反过来当作前提。然而,如果我们允许如此随意的结构在实践中存在,那么需要掌握的概率数量将会呈爆发式增长。很长一段时间,没有人知道该如何打破这个循环,而研究者们只能求助于特别方案,比如将置信度估算与规则挂钩,并以某种方式将它们联合起来。如果A以0.8的置信度暗指B,而B以0.7的置信度暗指C,那么也许A暗指C的置信度则为$0 . 8 \times 0 . 7$ O

这些方案的问题在于,它们可能会严重出错。我可以根据两个合情合理的规则——如果灭火喷水系统打开了,那么玻璃就会湿;如果玻璃湿了,那么下雨了——推导出一条荒谬的规则:如果灭火喷水系统打开了,那么下雨了。一个潜藏得更深的问题是,有了置信度评级规则,我们容易重复计算证据。假设你在读《纽约时报》,讲的是外星人已经登陆地球。这一天不是4月1日,可能这是一个玩笑。但是现在你在《华尔街日报》《今日美国》《华盛顿邮报》看到一样的标题。你开始感到慌张,就像奥森·威尔斯声名狼藉的广播剧《世界大战》的听众一样,没有意识到这只是戏剧化的描写。但是,如果你查看细节,会发现这四家报社都从美联社那里得到这个新闻标题,你又返回去怀疑这是一个玩笑,而这次开玩笑的是一位美联社的记者。规则系统无法解决这个问题,朴素贝叶斯法也一样。如果它标出诸如“由《纽约时报》报道”的字样,预示新闻事件是真实的,那么它能做的也只是加上“由美联社报道”的字样,这样只会让事情变得更糟糕。

PDF 物理页索引 3153

文件中的第 3154 页 · 印刷页码:未识别

20世纪80年代终于有了突破。朱迪亚·珀尔(加州大学洛杉矶分校的一名计算机科学教授)发明了一种新的表示方法:贝叶斯网络。珀尔是世界上最为卓著的计算机科学家之一,他的方法在机器学习、人工智能,以及其他许多领域迅速传播。2012年,他获得图灵奖,这是计算机科学领域的诺贝尔奖。

珀尔意识到,拥有一个随机变量之间复杂的依赖关系网络也没什么,只要每个变量仅仅直接依赖于其他几个变量。我们可以如之前看到的马尔可夫链和HMM那样,用一幅图来表示这些依赖关系,除了现在该图可以是任意结构(只要箭头不会形成闭环)。珀尔最喜欢的例子之一就是防盗报警器。当窃贼企图闯入时,你房子的报警器应该会响起来,但它也可能会因为地震而响起(在洛杉矶,珀尔居住的地方,地震和盗窃案发生的频率一样)。如果你此时工作到很晚,而你的邻居鲍勃打电话给跟说他听到你家的报警器响了,而你的邻居克莱尔却没打给你,你应该报警吗?图6–3表明了这种依赖关系。

PDF 物理页索引 3154

文件中的第 3155 页 · 印刷页码:未识别

如果图中有一个箭头从一个节点指到另外一个节点,我们说第一个节点是第二个节点的父节点。那么“报警器”的父节点就是“盗窃案”和“地震”,而“报警器”是“鲍勃打来电话”和“克莱尔打来电话”的唯一父节点。贝叶斯网络就是像这样的依赖关系图,附带一张包含每个变量的表格,给出变量父节点的每个值的组合概率。对于“盗窃案”和“地震”,我们只需每个一个概率,因为它们没有父节点。对于“报警器”我们需要四个概率:如果盗窃案和地震都不发生,报警器响起的概率;如果盗窃案发生,地震未发生,报警器响起的概率等。对于“鲍勃打来电话”,我们需要两个概率(考虑报警器和未考虑报警器),克莱尔的情况也一样。

以下是问题的关键点:鲍勃依据“盗窃案”和“地震”来打电话,但只能通过“报警器”来获取信息。考虑到“报警器”时,鲍勃的电话才会条件地独立于“盗窃案”和“地震”之外,克莱尔的情况也一样。如果报警器未响起,你的邻居睡得很香,而窃贼也没有惊扰别人。同样,考虑到“报警器”,鲍勃和克莱尔相互独立。没有这个独立结构,你需要掌握32个 $2 ^ { 5 }$ 概率,每个概率对应5个变量的可能状态(或者31个概率,如果你讲究细节,因为最后一个可能是隐含概率)。有了条件独立性,你需要的只是1+1+4+2+2=10,可以少算68%的概率。这仅仅是小例子的情况,如果有数百或者数千个变量,省力的程度可能达到100%。

PDF 物理页索引 3155

文件中的第 3156 页 · 印刷页码:未识别

据生物学家巴里·康芒纳的观点,生态学的第一定律就是所有生命都与其他生命相互关联。这个说法可能正确,但也会使人们无法理解这个世界,如果不是多亏条件独立性:每个生命都相互关联,但只是间接关联。为了对我产生影响,1英里之外发生的事情,即使通过光传播,也得先影响我周围的环境。可以打趣说,空间是所有事情没有都发生在你身上的原因。换句话说,空间结构是条件独立性的一个实例。

在盗窃案的例子中,32个概率的完整表格不会明确表示出来,但通过较小表格和图形结构的集中,它会被隐含地表示出来。为了获得P(盗窃案、地震、报警器、鲍勃打来电话、克莱尔打来电话),我要做的就是把以下概率相乘:P(盗窃案)、P(地震)、P(报警器∣盗窃案、地震)、P(鲍勃打来电话∣报警器)、P(克莱尔打来电话∣报警器)。在任意贝叶斯网络中也是同样的道理:为了获得完整状态的概率,只需将单个变量表格中相应行上的概率相乘。因此,只要条件独立性有效,转换到更加简洁的表示方法不会导致信息丢失。这样我们就可以很容易算出极端非寻常状态的概率,包括之前未观察到的状态。贝叶斯网络揭穿这样一个常识性错误:机器学习无法预测鲜有的时间,或者纳西姆·塔勒布口中的“黑天鹅”。

回想一下,我们可以看到朴素贝叶斯法、马尔可夫链、HMM都是贝叶斯网络的特殊例子。朴素贝叶斯法的结构如图6–4所示。

PDF 物理页索引 3156

文件中的第 3157 页 · 印刷页码:未识别

马尔可夫链隐含这样的猜想:考虑到现在,未来会有条件地独立于过去。此外,HMM假设每个观察值只依赖于对应的状态。贝叶斯网络对贝叶斯学派来说,就像逻辑与符号学者的关系:一种通用语,可以让我们很好地对各式各样的情形进行编码,然后设计出与这些情形相一致的算法。

我们可以把贝叶斯网络想成“生成模型”,即从概率的角度,形成世界状态的方法:首先要决定盗窃案或地震是否会发生,然后在此基础上决定报警器是否会响起,再次在此基础上决定鲍勃和克莱尔是否会打电话。贝叶斯网络讲述这样的故事:A发生了,接着它导致B的发生;同时,C也发生了,而B和C共同引起D的发生。为了计算特定事件的概率,我们只需将与之相关事件的概率相乘即可。

贝叶斯网络最激动人心的应用之一,就是模拟基因在活细胞中如何相互管制。人们已经花费数十亿美元来找到单个基因和特殊疾病的两两相关关系,但产出却低得让人失望。回想一下,这并不奇怪:细胞的活动是基因与环境复杂的相互作用的结果,而单个基因的预测能力有限。但有了贝叶斯网络,我们可以揭开这些相互关系,只要我们有必要的数据,而随着DNA微阵列技术的普及,我们越来越有希望能做到。

PDF 物理页索引 3157

文件中的第 3158 页 · 印刷页码:未识别

开辟机器学习在垃圾邮件的应用之后,大卫·赫克曼开始转向将贝叶斯应用于抵抗艾滋病的斗争中。艾滋病病毒是很强的对手,因为它可以迅速变异,这样所有疫苗或者药物长时间抑制艾滋病病毒就变得困难。赫克曼注意到,这是一个和猫捉老鼠一样的游戏,垃圾邮件过滤器和垃圾邮件玩耍。他决定将自己学习的一个经验付诸实践:攻击最弱的链接。在垃圾邮件的例子中,弱链接包括为了收到客户的款项而必须使用的网址。在艾滋病的例子中,它们就是病毒蛋白质的微小区域,不伤害病毒就无法改变这些区域。如果他可以对免疫系统进行训练,使其识别这些区域,然后攻击表现这些区域的细胞,他可能只有一种艾滋病疫苗。赫克曼和同事利用贝叶斯网络来帮助识别易受伤区域,并研发出一个疫苗交付机制,用来教免疫系统只攻击那些区域。这些交付机制在老鼠身上起作用了,而且现在人们已经在准备临床试验。

这样的事情经常发生:即使我们将所有条件独立性都考虑进来,贝叶斯网络中的一些节点仍有太多的父节点。有些网络布满箭头,这样当我们打印这些网络图时,纸面会变成黑色(物理学家马克·纽曼称之为“荒谬图”)。医生需要同时诊断病人可能患的病,而不止一种,而且每种疾病是许多不同症状的根源。除了感冒,发烧可能由任意数量的条件引起,但是考虑到条件的每个可能的组合,尝试预测其概率几无希望。其实还有一线希望,不需要这样的表格:为每个状态的起因详细说明每个节点的条件概率,我们可以对较简单的分布进行学习。最受青睐的选择是逻辑OR运算(Logical OR operation)的一个概率版本:任何原因都可以独自引起发烧,但每个原因都会有一个特定、无法引起发烧的概率,即使通常情况下该原因引起发烧的理由充分。赫克曼和其他人已经对贝叶斯网络进行学习,通过这种方法来诊断数百种传染病。谷歌在其AdSense系统中利用这种类型的庞大贝叶斯网络,用于自动选择广告放入网页中。该网络将100万的满足变量相互关联起来,同时还通过3亿个箭头与1200万的词语和词组相关联,这些词语和词组都是从1000亿个文本片段和搜索词条中掌握的。

PDF 物理页索引 3158

文件中的第 3159 页 · 印刷页码:未识别

说点轻松的,微软的Xbox Live游戏用贝叶斯网络来对选手进行排名,并对技术水平相似的选手进行配对。这款游戏的结果就是可以知道对手技术水平的一个概率函数,而且利用贝叶斯定理,我们可以从选手的游戏结果推断选手的技术水平。

推理问题

遗憾的是,推理问题是一个巨大的障碍。仅仅因为贝叶斯让我们简洁地表达概率分布,这并不意味着我们也可以利用它进行有效推理。假设你想计算P(盗窃案∣鲍勃打电话,而克莱尔没有)。利用贝叶斯定理,你知道这仅仅是P(盗窃案)P(鲍勃打电话,而克莱尔没有∣盗窃案)/P(鲍勃打电话,而克莱尔没有),或者相当于P(盗窃案,鲍勃打电话,而克莱尔没有)/P(鲍勃打电话,而克莱尔没有)。如果有包含所有状态的概率的完整表格,你可以获得这两个概率,方法就是把表格中对应行的值加起来。例如,P(鲍勃打电话,而克莱尔没有)是在所有包含鲍勃打电话,而克莱尔没有的概率的行中,把这些概率值加起来,但是贝叶斯网络不会给你完整的表格。你总可以通过单个表格来构建这样的表格,但这需要很多时间和空间。我们真正需要的是计算P(盗窃案∣鲍勃打电话,而克莱尔没有),而不用建立完整的表格。简单地说,那就是贝叶斯网络中的推理问题。

PDF 物理页索引 3159

文件中的第 3160 页 · 印刷页码:未识别

在许多例子中,我们可以做到这一点,并避免指数性暴增。假设夜深人静时你正带领排成纵队的一个排,穿过敌人的领地,而你想确认所有士兵仍在跟着你。你可以停下,自己数人数,但那样做会浪费太多时间。一个更聪明的办法就是只问排在你后面的第一个兵:“你后面有几个兵?”每个士兵都会问自己后面的士兵同一个问题,知道最后一个士兵回答“一个也没有。”倒数第二个士兵现在可以说“一个”,以此类推,直到回到第一个士兵,每个士兵都会在后面士兵所报数的基础上加一。现在你知道有多少兵还跟着你,你甚至都不用停下来。

Siri用同样的想法来计算你刚才说的概率,通过它从麦克风中听到的声音来进行“报警”。把“Call the police”(报警)想成一排单词,正以纵队形式在页面上行走,“police”想知道它的概率,但要做到这一点,它需要知道“the”的概率;“the”回过头要知道“call”的概率。所以“call”计算它的概率,然后将其传递给“the”,“the”重复步骤并将概率传递给“police”。现在“police”知道它的概率了,这个概率受到句子中每个词语的适当影响,但我们绝不必建立8个概率的完整表格(第一个单词是否为“call”,第二个是否为“the”,第三个是否为“police”)。实际上,Siri考虑在每个位置中出现的所有单词,而不仅仅是第一个单词是否为“call”等,但算法是一样的。也许Siri认为,在声音的基础上,第一个单词不是“call”就是“tell”,第二个不是“the”就是“her”,第三个不是“police”就是“please”。个别地,也许最有可能的单词是“call”、“the”和“please”。但那样会变成一句没有意义的话“Call the please”,所以要考虑其他单词,Siri得出结论,认为句子就是“Call the police”。它会打电话,幸运的是警察及时赶到你家并抓住小偷。

如果图是一棵树而不是一条链,那么同样的想法还会奏效。如果你领导的是整支军队而不仅仅是一个排,你可以问每个连长,他们身后有多少士兵,然后把他们的回答相加。反过来,每个连长会问他的每个排长,以此类推。但如果图形形成环状,你就会遇到麻烦。如果有一个联络官员,他同时是两个排的成员,他会数两次数。实际上,他身后的每个人都会数两次。这就是“外星人登陆”情形中发生的问题,举个例子,如果你想计算恐慌的概率,如图6–5所示。