书 · 2012-05 · 吴军

《数学之美》

计算机与 AI书单第 3 名

一句话结论

作者认为,搜索、语音识别、翻译这些看似“智能”的技术,底层都是通信模型加概率统计,用简单的数学工具加大量数据,往往比复杂的人工规则更有效。

值不值得读完整本?

值得读,而且不必一口气读完。它是写给工程师和好奇读者的科普,不是教材,每章基本独立,用最小的数学门槛讲清“这个技术为什么能工作”。读前半本最划算,后半本按兴趣挑。

  • 先读第 1–6 章(语言即信息、从规则到统计、统计语言模型、中文分词、隐马尔可夫模型、信息的度量)。这是全书的主线,也是理解后面所有章节的前提。
  • 再读第 19、20 章(数学模型的重要性、最大熵模型),这两章是作者的方法论,最值得细读。
  • 第 8–16 章(布尔索引、图论与爬虫、PageRank、TF-IDF、余弦定理、矩阵与 SVD、信息指纹)是搜索引擎工具箱,按兴趣挑着读,每章相对独立。
  • 第 17、18、22 章(密码学、搜索反作弊、马库斯和他的弟子们)偏故事和行业见闻,时间紧可以跳过。
  • 第 24–29 章(贝叶斯网络、条件随机场、维特比算法、EM 算法、逻辑回归、MapReduce)更偏技术,想真正会用的读者需要另配教材和练习,书里只讲直觉。
  • 书成于 2012 年之前,深度学习主导的现状书中没有,需要自己补上这段背景。

核心观点

1. 语言是信息编码,识别和翻译都是“解码”

作者把语言看成人类对信息的一种编码,把语音识别、机器翻译、拼音输入看成通信中的解码问题:已知接收到的信号,求最可能的原始信息。

为什么:通信模型是信息发送者、编码、信道、接收者。说话是编码,声音经过嘈杂的信道后被听到。解码的目标就是在所有可能的句子里,找“给定观察到的信号后概率最大”的那一个。根据贝叶斯公式,这个概率可以拆成“这个句子本身有多常见”和“这个句子被说成这个声音的可能性”两项,前者是语言模型,后者是声学模型或翻译模型。这样一来,原本模糊的“理解语言”变成了可以估计概率、可以计算的优化问题。不同任务只是换了信道,数学框架是同一套。

2. 自然语言处理的出路是从规则走向统计

早期研究试图让计算机学会语法规则,作者认为这条路走不通,真正的突破来自把语言当成统计现象,用数据来估计概率。

为什么:规则派的问题有三点。第一,自然语言的语法规则数量多,例外也多,写不完。第二,规则之间相互牵扯,加一条往往要改很多条,系统越写越难维护。第三,真实语言充满歧义,规则只能给出“可能”,不能说“哪个更可能”。统计方法反过来:不先假定语言应该是什么样,而是从大量真实语料里数出什么常见,再用概率排序。这样语言用得越多,数据越多,模型就越准,能随算力和语料增长而改进,规则系统做不到。因此作者认为,决定性因素不是语言学理论是否漂亮,而是方法能不能随数据规模扩展。

3. 统计语言模型:用上下文的概率判断句子,数据比花招重要

判断一个句子是否通顺,可以计算它出现的概率;为了让计算可行,要假设每个词只和前面有限的几个词有关(n 元模型)。

为什么:一个句子的概率可以按词序展开成一连串条件概率,但条件太长就无法估计。马尔可夫假设把“前面所有词”简化成“前面 n-1 个词”,计算量一下就降下来了。简化的代价是丢失远距离依赖,所以模型阶数越高越准,但需要的数据成指数增长。更麻烦的是,很多合理的词组在语料里根本没出现过,直接数出来的概率是零,所以要用平滑和回退(古德-图灵估计、卡茨回退)给没见过的事件留出概率。作者由此得出的工程判断是:模型结构不必太复杂,只要语料足够大、平滑做得好,效果就会稳步提升。

4. 信息论是统一的度量工具

信息可以被量化:熵衡量不确定性,互信息衡量两个事物的关联,相对熵衡量两个分布的差距,它们是搜索、分类、语言模型评价共用的尺子。

为什么:在作者看来,信息的作用是消除不确定性:知道得越多,剩下的不确定性就越小。熵就是不确定性的大小,所以语言模型的好坏可以用“它让下一个词的不确定性减少多少”来衡量。互信息告诉你两个词是否经常一起出现,因此能用来做词的聚类和歧义消解。相对熵可以比较两个概率分布,因此能比较两个文档的词分布。因为都是同一种量的变化,所以看起来分散的任务(分词、检索、分类)能在同一套语言下讨论,也能互相借用方法。

5. 好模型简单、准确且不做多余假设(含最大熵)

作者认为好的数学模型往往是简单的,而且要在已知的约束下保留尽可能多的不确定性,即最大熵原则:不对没有证据的东西下断言。

为什么:模型的价值在于预测能力,复杂度只是代价。作者借天文学的例子说明:复杂的修补式模型可以暂时拟合观察,但简洁的模型更容易被验证、被扩展,也更接近真实规律。最大熵的推理是:如果只知道一部分约束,那么满足这些约束的所有分布里,选熵最大的那个,等于没有偷偷加入任何你不知道的假设。这样做的好处是,新的特征可以不断加入,不破坏已有结论,模型能一点点变准。反过来,把所有赌注压在某个自以为是的假设上,一旦假设错了,整个模型都会失效,这就是“不要把鸡蛋放在一个篮子里”。

6. 简单的数学工具能解决大规模的工程问题

搜索引擎看似复杂,其实是布尔代数、图论、线性代数、哈希、动态规划这些经典数学工具的组合,关键在于把问题转化成这些工具能处理的形式。

为什么:作者的论证是:每个工程难题一旦被数学抽象,就能套用已有的成熟方法,而且这些方法在规模变大时还能保持效率。网页是图的节点,链接是边,于是可以用 PageRank 给网页排序:被重要网页引用的网页更重要,用迭代求解矩阵就能得到。文档是词的向量,两篇文档的相似度就是夹角的余弦,新闻分类因此变成几何问题。网页去重可以用哈希得到“指纹”,不必逐字比较。这些方法的共同点是原理简单、可并行、容易随数据扩大,所以能在互联网的规模下工作。

反对意见

统计近似无法抓住语法的本质(乔姆斯基)

乔姆斯基在《句法结构》(1957)中指出,“Colorless green ideas sleep furiously”这样语法正确但从未出现过的句子,和打乱词序后的版本,在任何基于出现频率的统计里都一样“不可能”,因此统计不能代表语法知识。后来在 MIT 建校 150 周年的讨论会上,他又批评只靠统计产生行为模仿、却不去理解其背后机制的研究路线(该场合的内容见诺维格的回应文章)。

只靠形式的数据学不到意义(本德与科勒)

本德和科勒在 ACL 2020 的论文中论证:仅用语言的形式(字符序列)训练的系统,原则上没有办法学到意义,因为意义涉及语言之外的交际意图和现实世界。这对“用更多语料就能逼近语言理解”的思路是一个正面质疑。

纯统计的“无模型”方法有理论天花板(朱迪亚·珀尔)

珀尔认为当前机器学习基本运行在统计或“无模型”的模式下,无法回答干预和反事实问题,不能作为强人工智能的基础;要接近人类水平的智能,需要引入因果模型。这与作者“数据加简单统计模型就够用”的乐观形成对照。

数据驱动方法依赖大量数据且缺少泛化与可解释性(加里·马库斯)

马库斯列举了深度学习的十个问题,包括依赖大量数据、难以外推到训练分布之外、缺乏透明度,并主张需要与其他技术结合才能走向通用智能。虽然针对的是深度学习而非书中的 n 元模型,但“靠数据堆出来的统计系统有哪些边界”这一点同样适用。

相关推荐

导读由 AI 根据公开资料整理,没有读取原书全文,一切以原著为准。导读 Primer 首页