关注:灰质,有趣有料的AI技术分享
前言
最近《功勋》大火,其中于敏的故事让人印象深刻,尤其是理论组在纸上计算氢弹爆炸的原理,并设计出氢弹的构型,用于指导完成工程的制造,最终获得试验的成功。这让我联想起智能技术与计算机仿真的关系,在AI研究有个比较热门的方向是迁移学习、持续学习,其所强调的重点是把AI模型在一种典型数据上训练出来能力高效的泛化到同类问题上,就像是小朋友学会了看图认识猫,然后对真实世界中碰到的各种猫都能认识一样。
智能技术研究的终极目标就是发展AI对于真实世界中难以用数学语言准确描述的复杂问题的建模与分析能力,比如城市的交通系统、自然的生态系统等。但是这样的研究又非常困难,因为数据不容易获得,尤其是比较完备和准确的数据,而做真实试验的成本和代价比较高,总不能为了研究红绿灯怎么调整有利于减少堵塞让道路车辆都配合一起做实验吧,很不现实。因此,有人提出来用计算机仿真模拟这种复杂场景,降低数据获取的难度,提高研究的效率。
比如DeepMind用围棋、星际争霸,腾讯用王者荣耀等计算机的游戏环境来研究策略建模问题,有人做城市交通、疫情传染的仿真模型来研究其中的动力学规律等。
那么,计算机仿真到底是不是研究复杂AI问题的有效试验平台呢?真的可以替代所有的试验吗?今天我们就来聊一聊。
一、EDA和风洞
在说仿真和智能之前,我们先来聊一聊EDA和风洞。为啥先说这俩东西呢,因为这两样东西是已经发展出来的比较经典的数字化设计验证平台和空气动力学试验平台,有助于我们理解基础设施的概念。
EDA的全名叫做电子设计自动化,是ElectronicsDesign Automation的首字母缩写。现在全民都快知道,我们芯片卡脖子,主要就是光刻机、EDA和半导体材料制备等方面自己还干不了,依赖进口。其中EDA就是芯片电路的数字化设计和仿真测试软件。设计部分就不多说了,类似于图形化建模一样可以替代传统的图纸工作,大幅提高效率。我们重点说说仿真测试部分,这部分需要对物理模型做精确分析,用数学建模并将其计算机化。
更厉害的是,芯片EDA已经发展到与设计厂商、代工厂紧密协作的程度,也就是在一个芯片从设计到生产的全过程中,都可以通过EDA软件进行跟踪和调整,EDA通过收集和同步各个环节的数据来动态更新芯片的技术状态。中国的EDA软件卡脖子主要就是卡在基础科学缺人,而且也没办法把设计工具部署到各个加工环节的企业中,因为这些主要公司已经控制在别人手里了。所以我们在工业基础软件这个方向差距很大,而且这个东西已经让别人搞成卡脖子的环节了,因为没有这个工具,这么复杂的设计都没办法准确的做出来,也没办法传递给别的企业,所以对于半导体这种复杂产品的处理已经到了如此高门槛的地步。
风洞试验,顾名思义就是制造风的设施,通常是模拟飞机等航空器在一种与空气的相对运动中的动力学表现,即所谓的空气动力学。这种模拟的好处显而易见,避免了直接飞上天带来的掉落风险。据说我们现在已经可以做到30倍音速的风洞了,这样子就可以模拟测量航空器在这种空气运动环境下的动力学规律了,从而对其进行有效的预测和控制。因此,可以说想要造多快的飞行器,就需要搞一个多大音速的风洞,因为空气动力学是一个难以基于低速规律向高速规律外推的动力学模型,影响因素太多太复杂,只能通过这种造风的方式来测量,然后用测量的值来建模。这就是试验平台的价值。
二、智能需要什么样的试验和验证平台
从前面的EDA和风洞可以看出来,越是复杂的问题越难以直接建模,都是需要通过实际的数据去修正或建立新的模型,才能够指导实践。
众所周知,数据一直被强调为智能技术的基础之一,因为很多人说智能技术是数据驱动研究的方法论,与其相对的就是模型驱动。数据驱动的意思大致是这个东西很难用准确的模型去表达,怎么办呢,就测量采集数据,然后拟合建立模型,再用模型去预测和控制等。而模型驱动首先是建立一个理论模型,然后用这个理论模型去做预测和控制。
所以,这个数据驱动还是模型驱动都不是绝对的,因为数据不也是为了找到那个模型嘛,当然,如果是神经网络的模型还有个不可解释的麻烦,可能是研究人员为了回避这个问题,所以说我这个模型反正是数据训练出来的,虽然不像传统的理论模型那样可以解释,但是好用,所以我们叫数据驱动。不过这些都不重要。
因此,智能技术的很多研究都走入了所谓复杂性科学的范畴,就是要解决的问题本身非常复杂,让人觉得这个问题如果解决了那一定是很有智慧才可以,于是智能这个称呼就用上了,但是经常在被解决之后人们又觉得这有什么难的,不能叫做智能,很有意思的人性和心态。既然“智能”的问题难以通过基础理论直接建模,那么就需要通过针对这个复杂度的问题做模拟试验,然后用试验数据建立模型,再用模型来指导实践。
按照钱学森钱老的说法,这都属于开放的复杂巨系统问题。钱老在上个世纪提出了新的系统分类,其着眼点是系统结构的复杂性。这里,一个是子系统的数量和种类,另一个是子系统之间相互关系的复杂程度(非线性、不确定性、模糊性等)以及系统的层次结构。从这个角度出发,钱老将系统分为简单系统、简单巨系统、复杂巨系统。生物系统、人体系统、人脑系统、地理系统、社会系统、星系系统等都是复杂巨系统。其中社会系统是最复杂的系统了,称作特殊复杂巨系统。这些系统又都是开放的,与外部环境有物质、能量和信息的交换,所以又称为开放的复杂巨系统。而要建立开放的复杂巨系统的一般性理论,必须从研究一个一个具体的开放的复杂巨系统入手,只有这些研究成果多了,才能从中提炼出开放复杂巨系统的一般理论。
意思就是说,咱们现在碰到的这些难以解决的复杂性科学领域的问题很难直接给出一个一般性的理论,还是需要积累足够多的模型和数据之后,基于这个经验才能给出更加一般化的规律,相当于牛顿的力学三定律、爱因斯坦的相对论、范霍夫的热力学第一定律那种。
说到这里,智能技术需要的就是对每类开放复杂巨系统问题做模拟、测数据、建模型和实践利用,通过拿到一个又一个有效的规律之后,再看看这里面有没有更加通用的基础的规律在里面,或许不是一个规律。
这就要说到数学家的厉害之处了,由于希尔伯特之后的数学进入了机械化和定量化的时代,数学本质上就是对现象的抽象和精确化描述了,通过这种逻辑的推理,就带来了对未来的预测能力。所以说很多物理问题都要利用数学做研究,而且经常发现物理学碰到的新问题,数学早就给准备好工具了,就是这个原因。
那么,这就带来了一种可能性,或许会有划时代的天才出现,在大部分人需要很多经验才能给出结论之前,就通过理论研究预见到开放复杂巨系统问题背后的规律,拿到圣杯,拿到钥匙。
三、计算机仿真是干什么的
计算机仿真涉及两个事,仿真和计算机,仿真本身出现的比较早,广义上来说用试验设备去模拟都可以算做仿真的范畴,到了20世纪中叶,伴随着计算机的出现,仿真基本上就是指计算机仿真了,把物质世界的东西数学化,然后用计算机来模拟。由于计算机仿真的便捷性,大幅提高了计算的效率,仿真技术被广泛的应用到航天、航空、海洋、电力、核能、通信等领域,效果良好。
很好理解,很多试验的成本非常高,《功勋》里另一个场景是卫星之父孙家栋搞导弹和卫星的地面试验,由于试验不充分,火箭发射失败过,但也是吸取了教训,在搞东方红一号的时候就做了很充分的地面测试,避免了很多问题。在这个过程中,如果能够先从原理上做仿真计算,原理上行得通,那么试验的成功率也就高多了。具体的例子也非常多,比如英国的导弹研制,由于使用了仿真试验与实际试验相结合,交替的用仿真的方式来计算和确认,做了92次真实的试验就完成了,提高了效率。与此相对的是美国类似的导弹做了1000多次试验,苏联做了数百次。
不过呢,有效的仿真关键在于与实际试验的一致性,这个一致性主要指的是建模的原理上,目前来看还是不太可能做一个与物质世界完全一样的仿真世界的,类似于头号玩家里那种虚拟世界,技术上仍然是遥遥不可及的未来。因为游戏里的仿真大多是视觉上的,背后的物理模型非常简化,仅供娱乐,就好像象棋和围棋不能代替打仗一样。
所以前面提到的EDA厉害的地方就是芯片仿真验证所用到的光学、材料学、微电子等各个方面的物理模型要建立的准确,这个准确不仅要理论正确,还要经过后续工艺和测试的不断修正,才能在具体的一款芯片上给出可靠的仿真结果,对实际产品的生产有意义。
四、计算机仿真与智能技术
大概了解下计算机仿真之后,就可以发现了,智能技术不是用不用仿真的问题,而是如今基本上比较尖端的科技研究都离不开试验,试验就自然有仿真的用武之地了,那么仿真技术发展到现在已经经历过很多名词的更迭了,如虚拟现实、数字孪生、平行系统等。逐渐把仿真从某个专门的仿真学科上拓展到系统级别的仿真,将力学、光学、控制、热力学、电力、电子等各个科学支撑的元器件、设备、子系统连接起来,进行整体性的仿真。比如城市交通系统仿真,自然生态系统仿真等,这个东西恰恰就走入了前面钱老说到的系统学研究的领域。
因此可以说,这种侧重整体性,对系统级对象的计算机仿真,对于一个多维度、非线性的系统做研究,这个系统与外界的交互又具有较强不确定性,即开放的复杂巨系统问题研究,是很有帮助的。
只不过不要迷信于仿真,因为仿真的准确性还是要靠试验来修正,但是这个过程只要持续迭代下去,仿真的价值就会越来越大。这也是为什么科技需要积累,是一步步做出来的,想出来一个idea不难,但是持续的去攻关研究非常重要,没有一下子就搞出来的颠覆性成果。越是重要的发现越是如此。所以牛顿才会说,如果说我看得比别人更远些,那是因为我站在巨人的肩膀上。
五、未来展望
智能技术需要仿真,尤其是好的仿真。那么好的仿真是什么样子呢?大概就是更准、更快、更全面了。从主要的原理方面到相关各部分都尽量的去逼近真实,而且越快越好。
更准,达到以假乱真的地步,基础模型的精确性、模型组合的准确性、多个仿真环境再连动起来的准确性,以及用多媒体的技术去形成视觉、声音和电磁等场景的准确性,这是一个非常庞大的工程。
更快,伴随着高性能计算,对于一个试验过程的模拟都是希望越快越好,这样不管是收集数据、还是做预测都会提高效率。否则跟现实世界一样的发展速度就不用仿真了。这种感觉,就像是人间一日,仿真千年的感觉。
更全面,类似于虚拟世界的概念,通过网络化仿真、智能仿真和数据驱动等方式,把更多的因素融合到仿真环境之中,利用智能技术和数据让仿真的逼真度越来越高,或许将来人们真的活在虚拟世界也就足够了,就像黑客帝国一样。
一点关于仿真的粗浅认识,班门弄斧,如果觉得还行,请给咱们支持一下吧,点赞、分享、收藏各种走起,在此多谢啦!
交流合作
请加微信号:yan_kylin_phenix,注明姓名+单位+从业方向+地点,非诚勿扰。