[敬请读者注意] 本人保留本文的全部著作权利。如果哪位读者使用本文所描述内容,请务必如实引用并明白注明本文出处。如果本人发现任何人擅自使用本文任何部分内容而不明白注明出处,恕本人在网上广泛公布侵权者姓名。敬请各位读者注意,谢谢!
学术评论:“类脑计算完备性(Neuromorphic completeness)”概念定义中的问题
程京德
2020年10月,“Nature”杂志发表了清华团队题为“A system hierarchy for brain-inspired computing”的论文 [1],国内各媒体都纷纷报道了此事 [2-8]。根据该论文作者(以下略称“作者”)提供的信息,各媒体报道:“类脑计算处于起步阶段,国际上尚未形成公认的技术标准与方案,这一成果填补了完备性理论与相应系统层次结构方面的空白,利于自主掌握新型计算机系统核心技术。”[2] “《自然》杂志的一位审稿人认为“这是一个新颖的观点,并可能被证明是神经形态计算领域以及对人工智能的追求的重大发展(This is a novel perspective and could prove to be a significant development for the field of neuromorphic computing, and in the quest for artificial general intelligence)”。”[2] “对于该项研究,《自然》杂志审稿人评价其“使得相关研究领域间的任务分工与接口更为清晰,有利于不同学科的研究人员专注于其专业领域、促进协同发展”。”[4]
本博文以下内容为笔者的学术评论文章中关于“neuromorphic completeness(作者译为“类脑计算完备性”)”概念的部分(其它部分将另文在此发表译文博文)之中文节译(为了准确性,对原论文引用部分不予翻译)。
学术评论文章概要: 实现“人工通用智能/强人工智能”是一个挑战我们许多学科的伟大目标和梦想。在“Nature”杂志发表的论文“A system hierarchy for brain-inspired computing”(Vol. 586, Issue 7829)中,作者宣称“we propose ‘neuromorphic completeness’, which relaxes the requirement for hardware completeness”和“we have proposed definition of completeness for brain-inspired systems, which broadens the scope of the complete hardware and introduces a new dimension of system design, the approximation granularity”。作者还宣称,“brain-inspired computing also provides a promising platform for the development of artificial general intelligence”。这篇评论文章提出了一些批评,指出作者对“neuromorphic completeness”的定义存在着本质上的严重问题,其主张逻辑上根本不能成立。本文还提出并讨论了一些对于实现“人工通用智能/强人工智能”的一般要求,指出没有足够的证据可以支持“类脑计算能够为人工通用智能的实现提供一个有前途的平台”之说法。
学术评论文章第三节:“Neuromorphic completeness(类脑计算完备性)”概念定义中的问题
“Nature”杂志论文“A system hierarchy for brain-inspired computing”中的主要主张如下:
“We propose ‘neuromorphic completeness’, which relaxes the requirement for hardware completeness, and a corresponding system hierarchy, which consists of a Turing-complete software-abstraction model and a versatile abstract neuromorphic architecture.” [1]
“We have proposed definition of completeness for brain-inspired systems, which broadens the scope of the complete hardware and introduces a new dimension of system design, the approximation granularity.” [1]
“In essence, neuromorphic completeness connects universal approximation with universal computability. It lays the theoretical foundation for the feasibility of converting a Turing-complete program into an equivalent program on a neuromorphic-complete system, which broadens the scope of complete hardware.” [1]
“Brain-inspired computing also provides a promising platform for the development of artificial general intelligence.” [1]
然而,这些主张在逻辑上真的成立吗?
作者首先将“类脑计算完备性”定义为:“For any given error gap ε ≥ 0 and any Turing-computable function f(x), a computational system is called neuromorphic complete if it can achieve a function F(x) such that ‖F(x) − f(x)‖≤ ε for any valid input x.”[1] 作者接着介绍了“类脑计算完备性”的用途如下:“Neuromorphic completeness is used to measure the compatibility of neuromorphic computing systems. It relaxes the requirement for completeness from exactly computing a function with an algorithm to approximating it.”[1]
但是,由于“类脑计算完备性”的定义有一些本质上严重的问题,它根本不能支持作者的上述主张。
首先,在逻辑学、数学、以及任何科学的论文中,任何定义,特别是那些基础概念的定义,都应该准确地陈述和展示出一个概念的外延和内涵,既不可说得太多,也不可说得太少。然而,作者对“类脑计算完备性”概念给出了一个非常笼统却不明确清晰的定义;这个定义的陈述与“类脑计算”完全无关,只是即无定义又无解释地提及“两个函数之间误差间隙”。“误差间隙”是数值计算中一个非常普遍的术语,但是却与类脑计算没有本质上的联系。
显然,这个所谓的“类脑计算完备性”定义可以不经修改就“应用”于任何一个计算系统,即便该系统与类脑计算毫不相干。因此,所有源于“类脑可计算性”概念的结果也可以不经修改地“应用”于任何计算一个系统,即便该系统与类脑计算毫不相干。作者提出的“Neuromorphic completeness is used to measure the compatibility of neuromorphic computing systems”之说法,可以毫无问题地用“Neuromorphic completeness is used to measure the compatibility of ANY computing systems”来代替。既然如此,为何此完备性定义要限定于“neuromorphic”?为何将应用对象限定于“neuromorphic computing systems”?
另一方面,如果我们用另一个术语“xxx”代替“neuromorphic”一词,那么修改后的定义也可以适用于任何一个计算系统。因此,对于任何一个计算系统,我们可以有各种各样的“xxx完备性”来满足作者提出的条件,即便该系统与类脑计算毫不相干。
所以,“类脑计算完备性”的定义对于任何一个领域都是没有实际意义的,因为它没有给出该概念明确的本质特征,却为了应用于“类脑计算”这一特殊领域命名了一个特殊名称“类脑计算完备性”。这个问题是“类脑计算完备性”定义中本质上最严重的逻辑问题。事实上,如果作者想定义一个像“图灵完全性”这样的一般概念,那么他们应该首先准确清晰地定义该概念的内涵和外延,给该概念赋予一个通用的名称,然后证明这个概念可以应用到他们的特殊领域。
其次,如同本文第二节所示,“图灵可计算性”及其衍生概念“图灵完全性”是可计算性理论中的基本概念,用来表达(与计算的数值误差完全无关的)一般计算能力。此外,在逻辑学、离散数学、理论计算机科学以及其它众多科学领域,“计算(问题求解)”都是指称给出完全正确结果的“确实的计算”,根本就没有“逼近正确结果的近似值”以及计算数值误差的存在余地。另一方面,只有在数值计算领域,计算精度以及数值误差才是被关注的对象。 作者使用图灵可计算函数的数值误差来定义他们的“类脑计算完备性”(似乎本应该是类脑计算系统的某种一般计算能力)的概念,用作者自己的话说是“relaxes the requirement for hardware completeness”,试图从根本上放宽对“可计算”能力的要求(亦即,算出个差不多的结果就算“类脑计算”)。从可计算性理论的观点来看,这实在是一件既令人奇怪又不可思议的事情。
一方面,作者宣称“brain-inspired computing also provides a promising platform for the development of artificial general intelligence”(按理说要远远强于目前的传统计算平台),另一方面,作者却引入一个弱于“图灵可计算性”的“类脑计算完备性”的概念来作为“类脑计算”的理论基础,并且宣称“it lays the theoretical foundation for the feasibility of converting a Turing-complete program into an equivalent program on a neuromorphic-complete system”, 这实在是一件前后矛盾,既令人奇怪又不可思议的事情。
第三,作者的定义仅仅言及“任何图灵可计算函数f(x)”,并没有限制f(x)必须是数值函数,但是实际上存在大量非数值图灵可计算函数。那么,对于任何非数值图灵可计算函数g(x),该定义是否可以适用?如何适用?如果存在有一个理论保证,其可以将任何非数值图灵可计算函数(问题)映射/转化为数值函数并将具有数值误差的计算结果映射/转化回到非数值图灵可计算函数(问题),那么作者应该提及并给出证明。事实上,任何精度的数值计算误差对于逻辑学和离散数学中的几乎所有问题都是毫无意义的。显然,“类脑计算完备性”的定义不是一个明确的,而是有缺陷的定义。
第四,在“类脑计算完备性”的定义中,作者使用了一个误差间隙ε,却甚至没有界定其范围。ε是实数还是整数?ε的合理范围(上限)是多少?或者作者认为实数和整数之间的差异,一个很大的数值误差,对于“类脑计算完备性”的概念来说根本不重要?显然,这个定义不是合理的,而是有缺陷的。另一方面,根据作者对“类脑计算完备性”的定义,如果ε=0,则‖F(x)−F(x)‖=0。那么,这个公式是什么意思呢?F(x)=F(x)是否意味着在ε=0时“类脑计算完备性”等价于“图灵完全性”?如果是或者不是,是否有合理的解释?但是,该论文中对此没有任何说明和解释。
在定义了“类脑计算完备性”之后,作者宣称:“Neuromorphic completeness is used to measure the compatibility of neuromorphic computing systems. It relaxes the requirement for completeness from exactly computing a function with an algorithm to approximating it.”然而,因为“类脑计算完备性”的定义完全没有涉及到类脑计算,当然,它也可以“用来衡量”任何其他类型的计算系统的兼容性,即使这些系统与类脑计算毫不相干。另一方面,由于“类脑计算完备性”的定义没有限制和区分数值函数和非数值函数,所以“the requirement for completeness from exactly computing a function with an algorithm to approximating it”并未界定目标对象的明确范围。如果把作者提到的“函数”限定为数值函数,那么,作者所主张的“to provide computing technology and architecture with the potential to drive the next wave of computer engineering”和“brain-inspired computing also provides a promising platform for the development of artificial general intelligence”的说法如何成立呢?如果不把作者提到的“函数”局限于数值函数,那么很明显,作者的主张对于任何非数值函数的情况在逻辑上都是不成立的。
作者还宣称:“In essence, neuromorphic completeness connects universal approximation with universal computability. It lays the theoretical foundation for the feasibility of converting a Turing-complete program into an equivalent program on a neuromorphic-complete system, which broadens the scope of complete hardware.”试问,一个根本就没有明确定义清楚其内涵和外延的概念如何能够“lays the theoretical foundation for the feasibility of converting a Turing-complete program into an equivalent program on a neuromorphic-complete system”?世界上有何真正的科学或技术是以没有定义清楚的概念作为其理论基础的?
以上内容为笔者的学术评论文章第三节“类脑计算完备性概念定义中的问题”之中译。在这里蛇足一句。“类脑计算完备性”概念定义中的问题,并非很难发现,任何一个受过数理逻辑及计算理论正规训练的计算机科学家都应该能够发现这些问题。但是,在非专业媒体一片赞扬声中,居然无人出来指出问题,这个现象是否更值得深思?
笔者相信,只有建立起健康良好的学术评论土壤,方能使我国在各个基础科学领域内生长出更多具有真正原创性的、真正能够引领世界的重要研究成果。
[1] Y. Zhang, et al., “A system hierarchy for brain-inspired computing,” Nature, Vol. 586, Issue 7829, 2020.
[2] “清华大学计算机系张悠慧团队首次提出“类脑计算完备性””,清华大学,2020年10月15日
[3] “清华大学团队首提“类脑计算完备性”概念”,科技日报,2020年10月15日
[4] “清华团队填补脑计算系统领域理论空白:首次提出“类脑计算完备性””,中国科学报,2020年10月16日
[5] “新研究填补类脑计算领域理论与结构空白”,中国科学报,2020年10月16日
[6] “我国科学家首次提出“类脑计算完备性””, 光明日报,2020年10月16日