Mystic Horse: An Elegant Being分享 http://blog.sciencenet.cn/u/gl6866 中国社会科学院哲学研究所研究员

博文

机器发现与科学方法论 精选

已有 5573 次阅读 2009-1-3 10:09 |个人分类:认知科学|系统分类:科研笔记| 人工智能, 认知科学, 机器发现

机器发现涉及到科学方法论的问题。如果我们说传统的科学方法论是一种纯“软”东西,那么所谓机器发现(machine discovery)就是指计算机科学、人工智能、认知科学和科学方法论的结合,甚至在某种程度上说是它们与科学史、科学社会学的结合,是比较硬的意义上的一个领域了。

我国第一届国家最高科学技术成就奖奖励了两位学者,其中的一位就是数学家吴文俊(另一位是杂交水稻之父袁隆平)。吴文俊在几何定理的机器证明方面做出了贡献。实际上,与吴教授的这个工作领域相应的还有一个机器发现领域。机器发现即计算机发现。是不是说机器发现就是让计算机去做科学发现,而完全用不着人呢?不是这样的。实际上,机器并没有智能,是人设计计算机程序,再把相关的经验数据输入计算机,由计算机按照人设计的程序进行运算,运算的一些重要阶段的结果由人来做出诠释,整个过程是人-机相互作用的过程。最后的结果出来了,计算机不懂其内容,还是要人根据有关知识对这个最终的结果做诠释,这样才算是一个机器发现。这么说,机器发现过程中,计算机不过是人进行研究的工具。

机器发现中较早的系统工作大约是在1987年,美国有一位叫兰利博士生,在他鼎鼎大名导师司马贺的指导下,设计出一款培根一号(Bacon1)的程序。他之所以取Bacon1就是要表明这个程序是遵循归纳主义的方法论精神的。这个程序做了一件这样的事情,就是把科学史学家考证出来的大概是1660年左右爱尔兰一个叫波义耳的学者做出的关于常温常压下温度不变时空气的体积与压力的关系的发现。这个发现我们今天称为波义耳定律,讲的是PV = c,即气体的压力和体积的乘积等于一个常数。波义耳当时作出了19组数据,就是保持温度不变,改变气体的压力,看它体积的变化。把数据输入到Bacon1里面,Bacon1就给出PV = c的结论。这不是一个新的发现,所以把它叫做再发现(rediscovery)。Bacon共有6个版本。运用这个程序兰利还再发现了开普勒行星运动第三定律以及其他一些定律。

有些人提出疑问,这个不是机器发现,是人的发现。因为机器并没有想去做体积和压力这样关系的实验,是人去做了,想到这个问题不是机器做到的。另外,这也不是用的归纳法,而是用的波普尔的猜想-反驳的方法。他们电脑里面设计的关系都是积性函数关系。把体积和压力之间的各种关系尽可能多地罗列出来,当然认为这种关系是无限多的,想出来了再让电脑去搜索。电脑和人脑有一个区别,就是电脑可以做大量的、简单的、重复的劳动。发现体积和压力之间不是相减也不是相加的关系,也不是相除的关系,最后在第6次发现他们是相乘的关系。所以实际上是一种试错法。就相当于我们要解决一个问题,就是究竟体积和压力有什么样的关系?我们就设想是相加的关系,结果我们用电脑去试,不是这样。就把这个想法给排除掉,或者说是证伪了。然后设想是一种相减关系,让电脑去试,也不对。这样一条一条地排除掉。用机器再发现开普勒第三定律也是用这样的方法。所以人们就说你这个不是电脑发现,而是人为地设定了搜索的范围,让它在这个范围去找,其他的都让你的人脑给排除掉了。后来人们很清楚说,机器发现指的是机器起着一个非常关键的作用,是做一种自动的推理,并不是我们想好了用计算机去算一遍。另外并不是说机器发现完全不能有人的参与。所以现在我们没有人争论说机器不能做出发现。很有趣的是,波普尔指出来“科学发现过程没有机械程序”。发现过程不可能机械化,要是机械化了就没有创造性了。结果人们运用他的“猜想-反驳”模式在一定的范围之内、一定角度帮助人们做出了科学发现。但是人们说你做出的这个“再发现”是定量的而不是定性的。定性的东西能做吗?兰利等人就做出了另一个机器再发现程序,叫做STAHL。Stahl是一位德国化学家,他在历史上提出燃素说。燃素说是近现代化学史上第一个科学的学说。人们把施塔尔当时知道的现象输进计算机里面,这些现象都是定性的不是定量的,结果机器提出了燃素说。

这是机器发现研究的第一个方面,就是rediscovery,用机器去做这样一种再发现。

第二个方面,人们设想能不能用电脑去做出一个新的发现,不要老做rediscovery,能不能把这个“re”去掉,就做discovery。结果也有些人做了出来:MYCIN系统可以根据一些知识和数据判断是什么病菌引起血液细菌感染,然后开出抗菌素药方。PROSPECTOR系统曾发现了美国华盛顿的一处钼矿,据说该矿的开采价值超过了一亿美元。在粒子物理学里面有人用机器发现了新的守恒定律。

这里讲一个化学方面的例子。化学反应机理是化学家们必须搞清楚的,但是又搞不清楚。为什么呢?分子与分子之间的碰撞时间在10-16秒里面完成,现在的仪器根本不可观测。简单地说反应机理又是化学变化的全部细节和过程。同一个反应有可能有好几个反应机理,这都是有可能的。这是一个充满计算量的研究过程。简单的链状有机化合物分子就是乙烷。乙烷可以加氢裂解成两个甲烷分子。它是一个最简单的烷烃加氢裂解反应的例子。卡内基-梅隆大学的瓦尔德斯-佩雷兹,就设计了一个系统MECHEM,结果提出了一个新的反应机理。这个发现不是发表在人工智能的学报上,而是发表在纯化学的刊物《催化通讯》上。

他是如何做的呢?首先分析人们已经提出的乙烷反应机理,大概有几十个。这些反应机理虽然不同,但都包含8个相同的过程,所以可以归结为一大类反应机理。瓦尔德斯-佩雷兹提出来的反应机理和原来的反应机理完全不一样。其实他就是利用了计算机的算法,在计算机里面按照机械的操作,不用懂得其中的过程,来完成人在很有限的时间里无法完成的工作量巨大的推理,就能够得到结果。另外还有化学中空间的因素,我们学过的轨道对称性规则,对称要素是不是守恒等等,把这些附加条件告诉它,然后把各种不符合的可能机制排除掉,剩下一些符合我们要求的这样一些机制。做出来的结果还有大量的是我们不需要的,是读不明白的胡说八道的,这就人与机器相互作用,删掉一些东西。然后给他设计新的算法和新的启发法,让它再次运行得出一些新的结论。大体上就是这样,这是第二种类型,叫做机器发现,真正的发现。

第三个方面做的是科学革命的机制。做的比较系统的是萨伽德。他是加拿大滑铁卢大学哲学系教授兼心理学系教授。他认为科学革命的过程是一个概念革命的过程,它靠的是内部的理性的知识的变化,靠它的解释力、预见力来赢得科学地位,而不是像一些科学知识社会学所说的靠社会利益或其他的东西。

萨伽德用一个点代表一个命题,一个陈述句吧。这样,对应于一场科学革命,就可以在一张图上标出三组点,三组陈述或者命题,每一组点占一行。一组是证据,比如说物体燃烧需要空气,这是一个实验结果,不管你是相信燃素说还是相信氧化说的人,都要承认它。再比如纸燃烧以后的灰烬比燃烧前的纸要轻,铁经过煅烧过后它的质量增加等等,都是证据。每一个证据作一个点。把证据这一组点画在中间一行。另两组代表两个相反的理论陈述系统,比如燃素说和氧化说。燃素说的命题,比如燃烧时燃素从燃烧物体中跑掉了,就用一个点代表。代表燃素说命题的点在图的上方占一行。氧化说的命题,比如,燃烧时氧与某种元素结合了,也用一个点代表。代表氧化说命题的点在图的下方占一行。这样就有了三行点,自上而下分别代表燃素说、证据和氧化说的命题系统。然后,寻找三个命题系统之间的关系。如果某个或者某几个理论命题可以解释某个证据,就把代表相应理论命题的点与代表被解释证据的点之间作一条实线。比如说物体燃烧是因为燃素跑掉了,这个命题就可以解释为什么物体燃烧会变轻,就把命题和证据连起来。氧化说也有自己的说法,铁在空气中燃烧变重就是因为和氧化合了,所以变重,这样就可以把氧化说的这个命题与相应证据连起来。不能解释的证据与相应的理论命题之间用虚线连起来。于是,就构成了一个网络,输入到电脑里面就可以进行运算,就可以得出哪个理论的解释力强,就会战胜另外一个理论。


https://blog.sciencenet.cn/blog-105489-208286.html

上一篇:信息哲学的若干问题
下一篇:信息哲学的意义
收藏 IP: .*| 热度|

7 武夷山 刘进平 陈绥阳 俞立平 方运潭 andrewsun scnlong

发表评论 评论 (4 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-25 20:46

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部