分类目录归档:铬元素行动

[Op.Cr]关于逻辑与生命的一些历史

OpCr总述视频(我自己私底下是这么命名的)最后敲定的,其实是它正式上传时的标题。也就是《再一次,去用逻辑理解生命》这个标题。当时构思标题时其实是比较仓促的,标题本身并不能和视频的内容完美契合,实际上包含了一些视频中未讲述到的背景。比如,为什么是“再一次”?实际上,在了解了一些这个话题上的历史、以及一些现状之后,可以发现我的这个OpCr这个想法并非空穴来风,而是整个文明向着某个更高等级智慧一次又一次冲锋中的一个小小浪花。


BATTLE 1:希尔伯特计划(1920s)
20世纪初的科学家们应该是目前来说最意气风发的一届科学家了,经典物理学的胜利让他们觉得自己已经就要完成theory of everything了。在我看来,希尔伯特计划背后的野心比所谓的万物理论甚至更大。如果说“科学就是事实”(语出爱因斯坦),那希尔伯特计划几乎就是想用“科学”去描述一切,那么所有是“事实”的描述就是真,不是“事实”的描述就是假。并且,这一个判定过程可以让一个机器自动完成。这如果真的完成了,那恐怕不仅仅是theory of everything了,而是theory of everything even it does not exist…
不用猜,这个计划最后失败了。就算到了今天,阿贝尔不完备定理到底是不是“人工智能”的天花板都还是处于一个颇具争议的位置。
MORE:《【混乱博物馆】哥德尔、埃舍尔、巴赫》https://www.bilibili.com/video/av15566273/
《【混乱博物馆】哥德尔证明:智力的交响乐》https://www.bilibili.com/video/av15719703/

BATTLE 2:EDVAC(1940s)
EDVAC被誉为世界上第一台电子计算机,也就是我们现在所谓的computer的老祖宗。但是其实,设计制造EDVAC的初衷并不像现在电脑的使用那么“世俗”,看电影玩游戏购个物什么的。
——在用逻辑去解释一切这个尝试失败之后,那群伟大的前辈(就算失败了)转而思考一个更弱一点命题
——如果用逻辑去解释“一切”还存在难度,那能否只是去解释“一切”中的某一个“存在”呢?
——哪个存在我们最感兴趣?
——当然是我们自己了
——也就是生命
其实在计算机设计之初,试图用逻辑去解释生命,比如大脑的运作,就已经有先例了。他们试图使用当时最先进的数学语言,比如控制论来描述“知道”本身。想用逻辑去冲破弗洛伊德的精神分析法。某种程度上,他们做到了。但是当他们想进一步,用1:1理论(而不是某种被高度抽象化简的模型)来解释大脑的行动时,进展却不如预期的顺利。再加上一些世俗(八卦)的原因,这次远征以失败告终,最后两位前辈献出了自己的生命。
MORE:《逻辑与人生:一颗数学巨星的陨落》http://mp.weixin.qq.com/s/UJFDbl3hxNkn2ggp54KTvA

BREAK (1970s)
虽然用逻辑去解释大脑的尝试也以失败告终,但是计算机却幸运地活了下来,在工业水平的不断提高之下,计算机的计算速度也成指数地提高。20世纪的最后几十年就像一个中场休息一样,我不敢确定,但是肯定有人,看着不断上升的计算机性能,握紧手心,跃跃欲试。虽然他们肯定明白,前辈的失利,和计算速度并无多少关系。

BATTE 3(2010s)
确实,前辈的失利确实和计算速度并无多少关系。但是人类啊,或者说生命就是这样的一种存在。哪怕已经经历了千百次失败,现状也跟之前的失败也没有多少改善,可总有人还要再次尝试,哪怕用着一个看起来挺笨的方法。
计算机工程师想穷尽一切可能、
生物学家想摸清楚每一个蛋白分子之间的关系、
合成化学家想重现从无机到有机,从死到生的这个世界过程,
有时候觉得,这些研究的思路和前辈相比并不算高明,但是我们无法以此批评他们,甚至我们应该向他们致以敬意。在传统数理逻辑几乎黔驴技穷的现在,是他们还在探索着下一个办法,笨拙地——因为他们能依靠的实在不多;但是却从未放弃——大概因为他们都还相信着一个更美好的未来吧。

让我们再一次,去用逻辑理解生命吧。

[Op.Cr]一些比较成熟的设想

项目结构:
不同于传统机器学习所基于的“数据库中的知识发现”,我们需要开发出一种“计算过程中的知识发现”方法来对不同于静止的数据表,而是一个不断变化的过程进行分析。在本项目中,需要分析挖掘的过程限制为自然条件下的生物化学反应。
既然是知识发现,就需要对知识的形式进行确定,我们假设在本课题中的知识可以由以下两种知识形式完备表述:
存在式知识:像_________这样的东西,叫做__________;
运动式知识:它们在_________的时候,在 ,会_________。
值得指出的是,存在式知识是一种递归形式,即可由原子存在a定义存在b,进一步还可由存在b定义更高一级的存在c。
本项目就需要设计一种程序,以第一原理、量子理论所描述的对象(基本粒子)作为原子存在,在输入一个以原子存在为对象集合的世界(w_0)之后,输出:1. t时间后这个世界的状态(w_t);2. 在此模拟过程中所形成的知识库(d_w)。这样,若再输入一个与先前世界有部分不同的差异世界Δw,在知识库(d_w)的帮助下,对差异世界的模拟会得到加速,同时差异世界中发生的一些全新情况也会更新数据库(d_(Δw∨w))。如此反复,对于一系列满足某些特定条件的世界簇W={w,Δw,…},我们就能得到一个描述此世界簇的知识库d_W=∨{d_·}。
其次,我们将本项目中需要分析的过程看作是由第一原理约束的一种随机过程。那么,存在式知识实质上就是对状态空间的一种归约与化简。通过存在式知识,原状态空间中的若干自由度x,y,z,可能被化简为新单一自由度i。而这种约化则是靠分析模拟计算中各个自由度之间的互信息来达成。同时,约化时挑选出原自由度这个行为本身,也可以看作对原状态空间的一种划分,即状态空间的拓扑结构。存在式知识的递归,也是对状态空间在拓扑结构上的递归。

[Op.Cr]一个想法

如今,“人工生命”已经不是难题,我们已经可以根据一些已知的生命共有规律来设计出一些模拟生命行为的对象——比如某种计算机程序;生命游戏就是一个经典的例子。它通过四条非常简单的游戏规则就展现出了一个千变万化的“生命”世界。
科普视频:《【混乱博物馆】生命游戏:另一种计算机》 https://www.bilibili.com/video/av11279860/
但是这都还仅仅是在我们自己设计的游戏规则内进行演绎,自然界的生命里那些我们未知的部分依然无法探究。所以我们更应该把目光集中到模拟现实中已知的生命活动上去。
2012年,发表在cell上的一篇文章,第一次对一个完整细胞(支原体)的生命过程进行了模拟。作者将细胞的生命过程分成了28个子模块,按时间片递进的架构进行演绎。虽然文章取得了令人瞩目的成功,但是整个模拟还是属于“建模”的层面。如果按照计算化学中,一切都必须从量子力学中的“第一原理”出发的“从头计算”方法来看,这个模型显然还是不符合的,这也就限制了这个模型的价值。
Karr, Jonathan R., et al. “A Whole-Cell Computational Model Predicts Phenotype from Genotype.” Cell (2012)
制约我们直接按从头计算方法来模拟生命过程的主要因素之一就是计算量(除此之外还有计算精度等技术性瓶颈)。虽然理论上,所有生命活动以及生化反应都应服从基本物理定律。但是由于这些物理定律的描述对象大多是原子甚至亚原子级(或者是一个同构系统),而一个高级生命作为一个高度异构的系统,包含的原子是一个天文数字。我们现在的计算机性能几乎只能勉强达到模拟宏观物质水平的一半——是数量级上的一半。当然,坐等计算机性能提高自然是一个办法;但是,除了干等,我们应该还有其他办法。

我的看法是,我们实际上没有必要一定要去完成这么多模拟计算。一个生命过程中很多子过程都是高度冗余、高度重复或者是可以忽略不计的,我们理应对这些子过程进行抽象与简化。就像解题时我们在前面已经计算出了1+1=2,那么在后面的计算中再次遇到需要计算1+1的时候,就会直接代入先前的答案而没必要再算一遍。
实际上,我们人在进行研究时已经有意识或无意识地完成了这步工作。比如,研究水流时将无数水分子看作一个整体,研究细胞间的通讯时不再考虑细胞内部的活动,而是将细胞看作一个整体,仅仅考虑细胞膜表面的受体以及信号分子。在研究生命之间的相互影响时也用少数几个状态量来代表生命体。而这其中的隐患与问题在于,这些抽象是严重依赖研究者自身的,缺乏足够的客观性。比如,在现在的分子生物学研究中,同一个基因在不同的实验中体现出了不同的功能就可能被命名为多个名字,当然也有人尝试解决这个混乱与冗余,比如基因本体论(GO)。但是其本质依旧是一种人为的划分。
如果我们能寻找出一个公理化的抽象与化简标准,将这步工作交给计算机来完成,是否就可以在加速模拟效率的同时还不失模拟的客观性呢?
总的来说,我们在进行科学研究的过程中,已经形成了一套约定俗成的认识世界的流程与方法。现在我们要做的,不是把认识世界的结果教给计算机,而是将这套方法论教给计算机。这样计算机在重复发现我们的认识结果的基础上,还可能发现一些我们认识不到,或者根本在以前无法认识的对象。

实际上,在实验科学中,“重复”是一个非常重要的问题,以生物学为例有生物学重复、技术重复等等。但是生物学实验由于实验对象的特殊性,其黑盒性是无法避免的。这从游戏规则上就制约了我们对生命的进一步了解。
相反在计算机领域,每一次Debug都可以看做一次白盒实验,毕竟计算机本身就是我们人自己创造出来的机器,我们对其中的构造与运行是可以做到了如执掌的。那么,想办法利用计算机的白盒性,在计算机中重复出一个生物过程,对生物学研究的帮助无疑是巨大的。如先前所介绍的,这种重复在一些低级生物学过程上已经可以完成,但是对于高级生命过程我们现在还无能为力,我们的目标就是让计算机学会“跳步”,甚至学会“偷懒”,加速我们的模拟进程。

而这,就是「数字重复」——Cyber Repeat。
“行动”一词更能带给人行动力,所以整个构想的命名就成了「数字重复行动」,CR同时又可以是铬元素的缩写,那就neta为「铬元素行动」吧~

知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。