机器可以思考吗?

    最近,神经网络,尤其是深度神经网络,在越来越多的应用中表现出了优异的性能,以致于越来越多的人开始尝试用神经网络去解决自己领域内的问题。诚然,我也也是其中之一。但是,在初步了解了神经网络的结构之后,一个很基础的问题摆在了我的面前——为什么神经网络可以有这么好的表现?现今,人们对这个问题的回答大多基于以下两个理论:(1)前向神经网络的万能逼近性[1];(2)循环神经网络的图灵完备性[2]。
    由于我手头上的问题是和时间序列有关的,所以我倾向于使用RNN来解决它,故重点查阅了一些讨论RNN图灵完备的文献,并将一些读后感记录成此文。要理解为什么“RNN的图灵完备性”可以解释其优异的性能,我们需要理解两点:(1)什么是图灵完备性;(2)为什么RNN是图灵完备的。问题(2)属于技术性性的问题,它在[2]中有详细的讨论,本文只介绍其基本的证明思路[3]:RNN可以模拟一个拥有两个堆栈的下推自动机,而这种自动机与图灵机具有同等的计算能力,因此RNN也有与图灵机同等的计算能力。本文将重点介绍的是“图灵完备性”的概念。在介绍此概念时,本文并不是直接摆出它的严格定义,而是以简史的形式介绍了这个概念是因何被提出的,基本思想是什么。正文的内容我以对《Artificial Intelligence: a Modern Approach》这本书的人工智能简史部分的意译为主干。另外,在讨论可计算理论(图灵完备性的概念将在这个小节出现)的那一小节,我对原书的介绍内容作了一些扩充。需要注意的是,图灵机的概念虽然出现在“数学基础”这部分中,但是它和“哲学基础”的内容也是有联系的。关于AI的哲学问题,讨论的核心点在于“机器可以思考吗”。对于这个问题的哲学思考,随着其严谨程度地不断提升,“哲学思考”演变成了“数学思考”。而“图灵机”的发明过程其实就是一则相关的“数学思考”。这则思考得出了一个重要的结论:图灵机的能力与人的“手算”能力等同。因此了解一些人们对AI的哲学思考,对于理解关于AI的数学基础是很有帮助的。

1. 哲学基础

    在这一节,作者介绍了哲学中与人工智能相关的思想的发展简史。从古至今,哲学家们尝试回答了下面四个与人工智能相关的问题:
(1)可以用机器代替人的思考吗?(原文是:Can formal rules be used to draw valid conclusions?)
(2)意识从何而来?
(3)我们的“知识”从何而来?
(4)“知识”是如何指导我们的行动的?

1.1 存在会思考的机器吗

    本段介绍的内容虽然被归为“哲学基础”,但是它也是一部分“数学基础”的萌芽。后人沿着这条思路,创造出了更严谨的逻辑学。不过,这些“哲学”和后面的“逻辑学”的对人工智能的意义是一致的,它们都在试图去解答“可以用机械实现思考吗”这个问题。人类“人工智能”的研究,可以追溯到公元前。早在公元前4世纪,Aristotle(384-322,B.C)就提出了一套可以描述人的理性思考的规则。换句话说,他认为人的理性思考过程可以被视为一部机器。这个机器可以按照固定的推理规则,根据不同的输入得到相应的输出。但是,亚里士多德所给出的规则并不是很严格。定义不严格,就会导致没办法很严谨地讨论这些规则的推理能力。沿着“把定义变得更严格”这条思路走下去,哲学就变成了数学。一千多年后,Ramon Lull在他的书中提出了一个观点:可以用真实的机器去模拟人的思考[4]。又过了一百多年,Leonardo设计了一台计算机,不过他并没有把它造出来。但是最近有人实现了他的思路,而且验证了他的思路是可行的[?]。第一台物理世界的计算机是在1623年被Wilhelm Schickard(l452-1519)造出来的。但是,它并不如1642年被Blaise Pascal(1623-1662)造出来的那台Pascaline出名。随后,Wilhelm Leibniz(1646-1716)造出了一个更富有“黑科技”感的计算机——这台计算机运算的不是数字,而是人的“概念”。虽然这台计算机的所能处理的“概念”很有限,但是它却大大增强了人们对实现人工智能的信心。另外,Thomas Hobbes在他1651年出版的Leviathan一书中也提到了类似的概念——人造动物(artificial animal)。书中对它是这样描述的:它的心脏是由弹簧构成,它的神经是由绳子构成的,它的关节是由轮子构成的。

1.2 意识是什么

    除了思考如何制造一个“会思考的机器”,哲学家们还讨论了“意识从何而来”这个问题。对这个问题的解答,大致可以可以分为两类——二元论和唯物论。这两类观点的核心异议在于对“自由意志”的理解。“自由意志”虽然没有一个很明确的定义,但是大家无时无刻不在体验着它。下面举个例子来说明二元论和唯物论的区别。假设现在你手上有两个苹果。支持二元论的人认为,你可以自由地决定你先吃哪个。但是支持唯物论的人却认为,上句话中的“自由”应该要加上引号。因为他们认为,这看似“自由”的决定,其实只是某条物理规律的确定产物。你所感受到的“自由”,只不过是你的大脑对某个决策过程的“可选策略”的感知。

1.3 知识是什么

    本段介绍“知识从何而来”这个问题。这个问题其实也是制造“会思考的机器”的自然延伸。因为人的脑袋总在不停的处理“知识”。哲学家对这个问题的观点似乎比较一致,因为Artificial Intelligence这本书中只介绍了一派观点——经验论。经验论的核心观点是,知识来源于实践。这个观点起源于Francis Bacon (1561-1626)的Novum Organum一书。John Locke(1632-1704)对这本书的内容作了一个概括:在你感知到某个事物之前,它是不会出现在你的脑袋中的。David Hume(1711-1776) 在他的Treatise of Human Nature这本书中提出了“感知的原理”。Hume认为,知识来源于人“不断重复的关系”的感知。后来,在Ludwig Wittgenstein (1889-1951)和Bertrand Russell(1872-1970)的工作的基础之上,维也纳学派(Vienna Circle)在Rudolf Carnap (1891-1970)的带领下,创立了“逻辑实证主义”(logical positivism)。逻辑实证主义的基本观点是, knowledge can be characterized by logical theories connected, ultimately, to observation sentences that correspond to sensory inputs; thus logical positivism combines rationalism and empiricism(这段话我还没能理解,所以直接把原话放上来了)。之后,Catnap and Carl Hempel(1905-1997)提出了确认理论(confirmation theory),也试图去解释我们是如何从经验中获取知识的。Camap在他的The Logical Structure of the World这本书中,还提出了可以从经验(elementary experiences)中获取知识的计算流程(computational procedure)。这可能是第一个把意识抽象成计算流程的理论。

1.4 知识如何影响行为

    能搞出来一部能学习知识的机器已经够炫酷了,但是哲学家们对这个机器还并不满意,因为人不仅会思考,还会行动。所以他们也顺便思考了一下知识和人的行动之间的关系。这样的思考也是在Aristotle(384-322,B.C)的时代就已经开始了。Aristotle认为人的行动是人的目标和人的经验相结合的产物。有点令人惊讶的是,Aristotle在他的Nicomachean Ethics提出了一个关于决策的算法,这个算法在2300年后被Newell和Simon用到了他们的GPS程序里(更细节的内容在Artificial Intelligence的第十章有介绍)。之后, Antoine Arnauld(1612-1694)把决策过程做了定量化描述,以解决当有多个行为都可以达到某个目标时,最终应该选哪个。随后,John Stuart Mill(1806-1873)在他的Utilitarianism一书中,介绍了人在各种情况下应该如何理性地做决策。之后,人们对决策的定义越来越严谨,因此这个问题也渐渐地从“哲学问题”变成了“数学问题”。
    这一段写的是自己关于“哲学基础”的读后感。从AI的“哲学史”可以看出,人们在很早以前就开始思考有关AI的问题了。书中讲AI是从亚里士多德时代开始的。但是,人们对相关问题的思考,很可能起始于更久远的年代,只是由于当时没有丰富的文字,所以很难把这些思考过程给记录下来。思考关于AI的问题,其实也是在思考“我是谁”的问题。
 

2. 数学基础

    后来,人们继续思考哲学家们提出的问题,并且把这些问题用更严谨的形式给表达了出来,之前的“哲学”问题慢慢演变成了“数学”问题。倘若让一个不了解这些数学问题的起源的人直接去看这些数学理论,可能无异于让他读一本“天书”,因为数学语言太抽象了。但是当一个人了解了这些问题的起源之后会发现,这些“复杂的”“吓人的”的公式想要表达的基本思想其实都是很简单的。它们之所以复杂,是因为这些数学家想尽可能准确的去描述人的思想。与人工智能相关的数学,主要是为了回答以下面三个直观的问题。对三个问题的解答最终发展成了三个数学分支:逻辑学,可计算理论,概率论。
(1)如何用机器代替人的思考?(What are the formal rules to draw valid conclusions) 
(2)一切事物都是可计算的吗?(What can be computed?)
(3)在做决策时,如何把“不确定性”考虑进去?(How do we reason with uncertain information?)

2.1 逻辑学

    数学家研究“可以用机器代替人的思考吗”的基本思路是这样的:把人的理性思考抽象成一个“公理系统”。一个公理系统其实就是一些符号,一些推理规则,和一些前提条件的集合。最早的相关工作是由George Boole (1815-1864)做的,他提出了著名的“布尔逻辑”(Boole, 1847)。之后,Gottlob Frcgc(1848-1925)对布尔逻辑做了一些扩充,提出了一阶逻辑(first-order logic)。需要注意的是,公理系统里的符号和规则是没有任何物理意义的,它们仅仅是“符号”和“规则”而已。再后来,Tarski(1902-1983)提出了一个理论,这个理论介绍了如何把抽象的逻辑符号和真实世界里的事物对应起来(但是原文中并没有介绍这个理论的出处)。

2.2 可计算理论

    这一部分介绍的是可计算原理的发展。我并没有照翻原书的语句,而是重新组织了讲解顺序,因为我觉得原书的介绍思路不太易懂。虽然顺序不同,但是介绍的内容是一致的。
    公理系统虽然提供了精准的描述,但是却也给数学家们带来了另外的烦恼:如何证明一个公理系统中的某个陈述(statement)是否成立。换句话说,就是数学家们被各种各样的证明题搞得焦头烂额。于是,他们就开始琢磨另外一个问题:存不存在一个固定的做证明题的套路(procedure)呢?如果有一个套路,可以让做证明题像计算加减法一样简单该有多好。于是,数学家Hilbert就在1928年提出判定性问题(Entscheidungsproblem)[8],来号召大家一起来探索这中一劳永逸的方法。但是,没过多久,另外一个数学家Godel给这个计划泼了一大盆冷水。Godel在1931年发表了一篇论文[5],这篇论文的目的是要告诉大家,在很多公理系统中,这种一劳永逸的方法是不存在的。原因是,在这些系统中,总有一些正确的结论是不能被证明的!人们把这个结论叫做哥德尔不完备定理,它的更为严格描述如下(数学描述请直接参考论文):只要某个公理系统的表达能力足以把“自然数”这个概念定义出来,并且这个公理系统里不存在矛盾,在这个公理系统里就存在一些不能被证明的正确结论。需要注意的是,哥德尔不完备定理被一些人无意或有意的误解了。有些人借着它的名气去鼓吹自己的一些观点,其中一个跟人工智能相关的是“哥德尔定理告诉我们人工智能是不可实现的”。这里我推荐两篇专门为此“辟谣”的文章[6,7]。这两篇文章反驳上述“谣言”的基本依据是,哥德尔不完备定理虽然告诉我们这种一劳永逸的方法在一些公理系统中是找不到的,但是值得庆幸的是,它并没有说在任何公理系统中都找不到这样的方法。其实,这两种观点的核心分歧在于,人的意识是否可以被视为一个不存在矛盾的公理系统。(但是我还没有查到足够可信的资料来回答是或否,此处留坑待填。)
    哥德尔的不完备定理,告诉人们有些问题我们是解不了的。但是,人们更关心的是哪些问题是可以计算的?要讨论这个问题,人们首先需要对"可以计算"下一个更准确的定义。需要注意的是,人们对“可以计算”下的定义不是以数学形式描述的,而是以自然语言的形式描述的。称一个函数(function,这里的函数是广义上的函数,换句话说就是,所有问题都可以抽象成一个函数)是"可计算的",意味着存在一个算法可以算出来它的结果,并且这个算法符合以下条件[10]:(1)这个算法包含有限个明确的且有限的规则;(2)这个算法将在有限步之后结束,并且总能得到一个正确答案;(3)理论上,人可以仅用纸笔就能实现这个算法(不考虑用时和纸笔是否足够充足);(4)人在用这个算法解决问题时,只要严格地遵守它,就可以得到正确答案。关于"哪些函数是可计算的"这个问题的答案,主要有两个[9],一个是Church提出来的λ-definable functions,另一个是Turing提出来的Turing computable functions。随后,图灵又证明了这两个答案是等价的。虽然它们是等价的,但是图灵的答案却更知名一些,以为它更易懂一些。图灵在回答这个问题时,提出了著名的“图灵机”这个概念。图灵机的计算能力与人的“手算”能力理论上是相同的。图灵机虽然强大,但是它只是个理论模型,只能进行"离线计算"。但是,实际应用中,能进行“在线计算”的计算机大部分情况下会更有优势[11]。所谓的在线计算指的是,一台计算机在进行某个计算时,会与其它计算机进行交互,会用到其它计算设备上的数据。为了解决这个需求,Turing将原始的图灵机(Turing a-machine)扩展成了oracle machine,一个可以和某个oracle交互的a-machine。之后,Emil Post又对相关工作进行了很大程度地完善,得到了Post-Turing Thesis。这个Thesis所描述的就是在线计算的理论模型。
    上面两段大致介绍了可计算理论的发展历史。接下来接着翻译原书对计算复杂度和概率论的介绍。虽然可计算理论告诉了我们哪些问题是可以计算的。但是,并不是所有的理论上可计算问题的在现实中都算得出来。因为有些问题虽然可以计算,但是算起来却十分复杂,复杂到一个问题可能要算千百万年。所以,研究一个可计算问题的计算复杂度也是一个很迫切的问题。根据计算复杂度,人们把可计算问题粗略地分成了两类,可解(tractable)的和不可解的(intractable)。分类的标准如下:如果一个问题的计算消耗随着问题规模的增大而指数增长,则它是intractable[12]。但是,直接用定义来判断一个问题是否可解,并不那么方便。于是,人们便创造了NP完备理论以方便地判断一个问题是不是可解的。有关该理论的两个先驱性工作者分别是Steven Cook[13]的和Richard Karp[14]的。这两篇工作的主要贡献是,证明了一大类组合搜索和推理问题都是NP-complete的。任何可以被NPC问题归约到的问题都是不可解的。随后,Cheeseman发表了一篇论文[15],站在人工智能的角度讨论了为什么NPC问题这么难解。

2.3 概率论

    接下来介绍概率论对人们创造AI有什么帮助。概率论的起源于对赌博问题的讨论。它研究的是如何预测赌博的结果,并根据预测结果来推算赌博的收益。很快地,概率论被引入到了量化科学之中,因为它可以处理状态估计问题和不完备理论。概率的思想最早是被Gerolamo Cardano提出来的。随后经过Blaise Pascal(1623-1662),James Bernoulli(1654-1705), Pierre Laplace(1749-1827),Thomas Bayes(1702-1761)和其他众多学者的完善,最终成了我们现在看到的样子。值得一提的是,Bayes提出了如何根据新观测到的事件来更新我们之前的估计。这个思想经常被用于现代AI系统设计之中。

参考文献:

[1] KURT HORNIK, Multilayer Feedforward Networks are Universal Approximators, Neural Networks, Vol. 2, pp. 35Y-366, 198Y
[2] HAVA T. SIEGELMANN EDUARDO D. SONTAG, On the computational power of neural nets, JOURNAL OF COMPUTER AND SYSTEM SCIENCES 50, 132-150, 1995
[3] user20160, Meaning (and proof) of“RNN can approximate any algorithm” ,
https://stats.stackexchange.com/questions/220907/meaningand-proof-of-rnn-can-approximate-any-algorithm
[4] Ramon Llull, Ars generalis ulTIma, 1308
[5] Kurt Go¨del, 1931, ”U¨ ber formal unentscheidbare S¨atze der Principia Mathematica und verwandter Systeme, I”, Monatshefte f¨ur Mathematik und Physik, v. 38 n. 1, pp. 173–198
[6] Jeff Makey, G¨odel’s Incompleteness Theorem is Not an Obstacle to Artificial Intelligence, 1995
[7] 赵昊彤,“哥德尔不完备定理”到底说了些什么, 2017
[8] David Hilbert and Wilhelm Ackermann (1928). Grundz¨uge der theoretischen Logik (Principles of Mathematical Logic). Springer-Verlag, ISBN 0-8218-2024-9.
[9] RI Soare, History of Computability, Turing Computability, 2016
[10] Hunter, Geoffrey, Metalogic: An Introduction to the Metatheory of Standard First-Order Logic, University of California Press, 1971
[11] Robert I. Soare, Turing Oracle Machines, Online Computing, and Three Displacements in Computability Theory, 2009
[12] Cobham, A. (1964).The intrinsic computatiuna difficulty of funotions.hr Pen.. 1064 hommariona:
CongressforLogic. Methodology. and Philosophy al Science. pp. 24-30.
[13] Cook, S. A., The complexity of theorempriming procedures, In aTt.IC-71,pp 151-158,
[14] Karp. R.M., Reducibility among cornbiraknialproblems, In Miller, R. E.and Thatcher, J.W.(Eds.),
1971 Complexity Compirrer Computations, op.S5-I 01Plenum, 1972
[15] PC Cheeseman, B Kanefsky, WM Taylor, Where
the really hard problems are, IJCAI, 1991
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值