图 | Zack Seckler 拍摄于非洲
最近读了一本硬书:吴军的《数学之美》,一共261页,从头到尾逐句读了下来。大约两个半休息天就读完了。
这个情况很少见。通常自己都不会一本书啃到头,一般是同时读几本,不同内容和风格,互相穿插调剂一下。更何况,《数学之美》还不是普通的的非虚构类书籍,它是一本讲数学的书(这里请允许作为一个对数学仍心有余悸的文科生,着重强调一下这两个字)虽然作者已尽力写得通俗易懂,对多数人友好,但还是少不了各种数学公式。
但是,不仅一口气读完了,而且是一次非常愉悦的阅读体验。怎么说呢?
就个人的感受来说,阅读带来的愉悦感主要有两种,一是共情,就是书里写出了自己的体会和感受,因此获得共鸣和被认同之感。二是解惑,即在书里回答自己的疑惑,让人恍然大悟之感。
《数学之美》这本书对我来说,就是第二种。它不仅解了很多问题的惑,而且在一些根本性的问题上带给我一个全新的视角。
下面这一段是作者为本书写的简介,是这本书内容的概貌。
“本书的一个目的在于揭示信息和自然语言处理,以及它们在通信和互联网各种应用(语音识别、机器翻译、搜索、分类等)中的数学原理,从而帮助读者认识到:解决这些问题,好的方法是什么。
毫无疑问,解决这些问题需要智能,而计算机本身并没有智能,它有的只是巨大的计算能力。
只有找到描述这些问题的数学模型,才能利用计算机解决这些需要智能的问题。这样,计算机看上去也似乎聪明起来了。”
这段话说到这样的几个关键点:信息、互联网和数学的关系、计算机并无智能、描述问题的数学模型... 太专业的问题也谈不了,仅以这几个点为“抓手”,说说自己的一点理解以及得到的启示,也算是再做一次简单回顾吧。(有不专业的地方,欢迎讨论拍砖)
一 信息、互联网和数学的关系
“数字,和文字以及用文字记录的自然语言一样,都是信息的载体,它们之间原本有着天然的联系。语言和数学的产生都是都为了同一个目的——记录和传播信息。”
这是扉页上的一段话,看到这个句话就认定这本书一定要读。原来语言和数学本质上都是为了同一个目的,他们都在记录和传播一种东西:信息。记录传播信息的方式,可以0和1二进制字符串,也可以十进制的阿拉伯数字,也包括我们说的每个词语和句子。
它们之间可以相互转化,比如一个汉字“国”看似跟二进制无关,实则不然。这样要引出一个参照系,汉字总表中有7000字,我们要用二进制表示“国”,可以采取以下这种办法:通过是否问题来确定“国”的位置。你问,“国”在1-3500中吗?在,记为1;那就接着问“国”在1-1750吗?不在,记为0;到此时你已经在纸上写下了“10”,已经确认“国”在1750-3500之间了,继续问:在1750-2625之间吗?…如此反复,到最后确定“国”的位置,你的纸上会留下一个13位的0和1的字符串,可能是这样的:1000100101000。就这样文字就转化成了计算机可识别和可计算的形式。
另外,这个字符串代表着“国”的信息量(信息熵)为13比特。现在才明白我们电脑里一份文档大小的原理是这样的。
总之,数字和文字本质都是信息载体,在此基础上语言系统和数学模型可以进行复杂的信息记录和传播。除了文字,色彩、声音、图像都是通过转码变成机器可识别和计算的编码。
(看书的时候觉得已经看懂了,动笔写了才发现并没有!又回去翻书才算理清了一下。这也说明要能跟别人讲明白,才算是真的学明白了)
二 计算机本身并没有智能
刚看到这句话时,有点诧异。心想,大家不是都在说 AI 人工智能吗?难道都是骗人的?虽然现在机器人和小助手们还常常“说傻话”“做傻事”,但我们也不得不承认,计算机确实在慢慢地变“聪明”,变得“更懂我”。这些都是表象吗?
对,这些就是表象。计算机的每个行为,每一个操作,都不是因为有像人脑一样的思维,而是算出来。没错,靠强大的计算能力,算出来的。比如,你对你手机说话,语音输入法自动在屏幕上打出文本,而且出错率极低。事实上,计算机并没有学会中文或者某个方言的语言规则,然后听懂你的话,再帮你转成文本。事实上是计算机用统计的方法算出来,算出你说的某个字就是那个字的概率,然后通过文本反馈给你。
从基于规则的方法到基于统计的方法的转变,正是自然语言处理取得突破的原因。基于统计的方法,把数学模型和通信联系在了一起。认识到这种联系,科学家花了几十年的时间。
补充知识:统计学是应用数学的一个分支,主要通过利用概率论建立数学模型,收集所观察系统的数据,进行量化的分析、总结,并进而进行推断和预测,为相关决策提供依据和参考。(百度百科)
除了自然语言处理以外,其他场景比如搜索排名、地图路线、新闻分类等也是算出来。到底怎么算出来的?去看这本书吧,能解决你大部分的疑惑。
这也是为什么在第一点里说的,将信息(知识)转码成计算机可识别和可计算的形式是第一步。但还不够,要对一个复杂的问题进行计算,还需要把这个问题描述成可计算的形式,这就是下面要说的数学模型。
三 描述问题的数学模型
对于“模型”,一开始我的认知还停留在实体的,像什么房子模型之类的上。后来才慢慢明白模型本质是一套数学计算过程。这里说的数学模型,就是基于统计概率论的模型。
“对于自然科学和工程学,包括计算机科学和通信,数学是描述这些规律性最好的工具。” 对于一个问题,或者一个规律,用数学模型来描述是最好的。
在这个问题上,就要提到一个重要概念:马尔可夫假设。这个假设就是,某个状态的出现只与前一个状态相关。这是一个偷懒但是有效的方法。这是假设大大简化问题,因此可以把复杂的预测问题简化成简洁的概率计算。
具体的概率计算需要先进行模型训练,训练模型的前提就是数据。这也是为什么傅盛说 “未来的公司本质都是数据公司。市场竞争,一定会从技术竞争演变成数据竞争。” 当然,前两天的 AlphaGO Zero 通自学习就掌握围棋最高技能,也许以后在某些领域,机器并不需要大量数据也能够实现智能化,这个就不好说了。
对于“模型”的认识,还有一种说法也许能帮我们外行加深认知,虽不是从这本书里读到的。这个认识就是:模型反映的是一种相关性,而非因果性。头脑里有了这样底层认知,才更好的理解模型本身以及其应用场景。比如模型只能是预测,而非下判断。比如,预测天气的模型,并不能确定明天是否下雨,它只会给你一个下雨或不下雨的概率,而且有时也并不准确。
好了,以上就是我对这三个点的学习体会和理解。书上的内容远远比这多得多,生动得多。
另外,这本书的用户界面也是相当友好的。比如很贴心地尽量让主文通俗易懂,而将更复杂的原理背后的数学推导放在延伸阅读上,并且注明了所需的知识背景。
特别推荐给以下人士:
对人工智能、机器学习有同样好奇的同学;
内心有阴影,想疗愈数学之痛,发现数学之类的同学;
做人工智能产品相关的同学;
想理解理科思维的文科生同学等。
突然想到,以后有了孩子,应该把这本书列在其必读书书目上,越早读懂越好。蛤蛤,想得有点多了。
汇报:
记写字计划的第41篇。写了这么长,有一种完成一篇大稿的感觉呢。
最后也要说,我们的兴趣会受到自身背景以及所处环境和氛围的影响。这本书之于我,有特殊吸引力的原因主要是:
我的语言学专业背景,同时又对计算机方面很感兴趣,所以语音识别、语义分析、中文分词、各种算法和模型...统统都有兴趣去了解。
在现在的工作中,也常常听身边的同事提起书里的这些概念。记得一位同事试着跟我解释一个跟语义相关度的概念:词向量,当时没听懂。后来百度知乎一通也不是很懂,这本书正好就说到这个,解释得很通透了。
虽然这本书不一定是你的菜,但最重要还是跟你分享这次愉快的阅读体验。也祝你在阅读中获得快乐!
手头读的这本是从办公室的书架上拿的,发现还有吴军老师亲笔签名!