人工智能内部原理(二)(2)https://developer.aliyun.com/article/1525484
附录 A:追溯根源:从机械计算器到数字梦想
对于普通人来说,人工智能似乎是最近的一个领域,考虑到近年来公众对人工智能的关注增加。然而,支撑这一学科的概念和理论的基础可以追溯到几个世纪以前。本章将踏上一段时光之旅,追溯那些引领我们走向今天人工智能的先驱的足迹。我们将发现那些梦想着能够推理和学习的机器的先见者:从帕斯卡对机械计算器的巧妙设计,这标志着人类与机器互动历史的一个重要时刻,到莱布尼茨的二进制系统,至今仍然是今天数字计算的表征基础,巴贝奇对分析引擎的构思作为一台机械大脑,以及爱达·洛芙莉丝对编程的洞察。了解这些历史发展将为我们展示人工智能曾经走过的道路,今天的位置以及其潜在的未来。
A.1 机器能思考吗?
几乎四个世纪前,在 1642 年,有人首次提出了机器是否具有思考能力的问题。这个问题是在布莱斯·帕斯卡(1623-1662)介绍帕斯卡计算器(Pascaline)时出现的,这是最早记录的计算设备。帕斯卡在 19 岁时构思了这台机器,主要目的是帮助他的父亲,他的父亲是一名税收征收员。它的目的是两方面的:最小化错误并减轻枯燥计算的负担。
帕斯卡计算器(Pascaline)通过无误地执行加法、减法、乘法和除法(图 A.1)显著增强了人类的认知能力。这个机械奇迹接受输入,执行运算,并产生数字结果。通过自动化这些功能,它减少了对人力的手工劳动的需求。这一创新对帕斯卡的父亲尤为宝贵,否则他将沉浸在繁琐且耗时的手工计算任务中。
图 A.1 帕斯卡计算器(法国 CNAM)
帕斯卡计算器(Pascaline)还具有一个巧妙的进位机制(称为 le sautoir),设计用于处理进位操作(la retenue)。这一创新解决了帕斯卡在协助父亲时观察到的主要计算错误之一。正如你可能从你自己的算术课上记得的那样,当计算类似 2…9 这样的东西时,我们首先加上最右边的数字,写下 6,然后“进位 1”到下一列。对这一发明印象深刻,路易十四国王于 1649 年授予帕斯卡在法国制造他的计算机的独家权利。
在他的作品《思想录》[1]中,帕斯卡对机器和有感知的生物进行了最早的重要比较。例如,他说:“算术机器产生的效果比动物的所有行为都更接近思想。但是,它并没有执行任何可以让我们归因于它的意愿的行为,就像我们对待动物一样。”
同样,在《帕斯卡先生的生活》[2]中,他的妹妹佩里埃夫人将帕斯卡林描述为“完全存在于思想中的任务”。她回忆了她兄弟的成就:
在那个时候(1642 年至 1643 年),他 19 岁时发明了这台算术机器,通过这台机器,不仅可以进行各种操作而不需要笔和记号,而且我们甚至不需要了解任何算术规则,也能百分之百地确定结果。这项工作被认为是一种来自自然界的新事物,将完全存在于思想中的一门科学机械化,并找到了在其中进行所有操作的手段,完全不需要推理。这项工作让他很疲惫,不是因为思考或动作,这些他都毫不费力地完成了,而是要让工人们理解所有这些事情,以至于他花了两年时间将它完美地实现。
尽管帕斯卡林需要熟练操作机器控制的人类操作员,但它执行的任务通常需要精通数学的个人。这引出了一个问题:我们应该将帕斯卡林归类为开创性的人工智能机器吗?这个考虑是相关的,因为,就像帕斯卡林一样,当今的计算机执行着由人类程序员精心设计和编码的根植于算法的计算任务。即使是今天最先进的人工智能系统本质上也代表了人类设计和调整的技术的集合,以生成特定的行为,而不具有真正的理解或推理能力。
在 1671 年,大约三十年后,帕斯卡林诞生,戈特弗里德·威廉·莱布尼茨推出了阶梯式计算器,这是一种巧妙的计算设备,采用十进制表示法,通过迭代加法执行乘法,由手摇曲柄机构(图 A.2)驱动。在他的数字表示机械化努力的指导下,莱布尼茨于 1703 年撰写了一篇著名的论文,题为《仅使用字符 0 和 1 解释二进制算术,以及有关其实用性和给予伏羲古老汉字意义的评论》[3]。在这部开创性的作品中,他引入了二进制数系统,该系统仅依赖两个数字 0 和 1。这个二进制系统现在几乎是所有现代计算机的基石。
图 A.2 德国博物馆里的莱布尼茨台阶式计算器复制品
我们都熟悉十进制数系统,通常称为“十进制数”。该系统使用数字 0、1、2、3、4、5、6、7、8 和 9,每个数字在数字中的位置表示其在个位、十位、百位等位置的价值。我们的祖先发明了十进制系统,很可能受到了他们用十根手指计数的影响。在我们的日常计算中,比如加法…得到 8 或从 27 减去 7 得到 20,我们无意识地使用十进制系统。许多人可能没有意识到这种选择是任意的,而且还存在其他选择,比如二进制。
计算机、智能手机和各种数字设备完全依赖于二进制系统,使用 1 和 0 进行所有操作。文档、图像、音频以及各种文件都以 1 和 0 的序列存储,并且计算机通过将数字表示为二进制位序列并执行类似于十进制系统的过程来执行数学运算。鉴于二进制在计算中的关键作用,熟悉它是有益的。我们可以从在二进制系统中表示几个十进制数开始(表 A.1)。
表 A.1 十进制数及其二进制等效值
十进制数 | 二进制等效值 |
0 | 0 |
1 | 1 |
2 | 10 |
3 | 11 |
4 | 100 |
5 | 101 |
6 | 110 |
7 | 111 |
8 | 1000 |
9 | 1001 |
十进制数表示为数字序列,最右边的数字表示单位。向左的每个连续的数字表示十的幂的倍数,其中第 n 个十的幂表示 10 乘以自己 n 次。例如,十进制数 207 可以看作是 2 × 100 + 0 × 10 + 7 × 1,符合我们对它的理解,即两个 100、没有 10 和七个 1。以更简明的形式,这个数字可以用指数表示为 2 × 102 + 0 × 101 + 7 × 100。
二进制数遵循类似的概念,但它们的数字表示的是二的幂的倍数,而不是十的幂的倍数。举例来说,十进制数 27 在二进制中表示为 11011,因为 27 可以表示为十进制中的 16 + 8 + 0 + 2 + 1,而这个和可以表示为二的幂的和,如 1 × 24 + 1 × 23 + 0 × 22 + 1 × 21 + 1 × 20。
计算机中的文本存储为二进制代码,其中每个字母和印刷符号根据通用约定被分配一个固定的二进制字符串。例如,本书早期的工作标题 AI Reality and Illusion 存储在计算机内存中的二进制序列如下:
01000001 01001001 00100000 01010010 01000101 01000001 01001100 01001001 01010100 01011001 00100000 01100001 01101110 01100100 00100000 01001001 01001100 01001100 01010101 01010011 01001001 01001111 01001110
每组数字代表一个字母或一个空格,其中 A = 01000001,I = 01001001,等等。
任何依赖于仅有两个符号的系统都被认为是二进制的。例如,路易·布拉叶在三岁时失去了视力,在 1824 年 15 岁时,在法国盲童学院(Institute for Blind Children)的学生时,他发明了盲文代码(图 A.3)。盲文代码利用表面上凸起和不凸起的点来通过触觉传达信息。这一系统使盲人或视力有限的人能够阅读。
人工智能内部原理(二)(4)https://developer.aliyun.com/article/1525486