机器学习新战果,破解“蝴蝶效应”,预测火焰的下一秒形态
半个世纪前,混沌理论(Chaos theory)的先驱者们发现,“蝴蝶效应”使得长期预测变得深不可测,对复杂系统(如天气、经济或其他任何事物)而言,即使是最小的扰动,也能触发一系列的连锁反应,致使结果截然不同。如果我们不能更好更精确地理解这些系统的状态,从而预见事件会发展成什么样,我们就会生活在不确定中。
这里手动解释一下混沌理论的背景。近半世纪以来,科学家发现许多自然现象即使可以化为单纯的数学公式,但是其行径却无法加以预测。如气象学家Edward Lorenz发现简单的热对流现象居然能引起令人无法想象的气象变化,产生所谓的“蝴蝶效应”;60年代,美国数学家Stephen Smale发现,某些物体的行径经过某种规则性变化之后,随后的发展并无一定的轨迹可循,呈现失序的混沌状态。
直到1963年,美国气象学家爱德华·诺顿·洛伦茨提出混沌理论(Chaos),非线性系统具有的多样性和多尺度性。混沌理论解释了决定系统可能产生随机结果。理论的最大的贡献是用简单的模型获得明确的非周期结果。在气象、航空及航天等领域的研究里有重大的作用。
但现在,机器可以在此领域大显身手了。
在《物理评论快报》(Physical Review Letters)和《混沌》(Chaos)杂志上发表的一系列研究结果表明,科学家运用机器学习——其拥有最近在人工智能领域取得成功的同一计算技术——来预测混沌系统未来的演变。该方法因其开创性并很可能被广泛运用而得到专家盛赞。
德国不来梅雅各布大学(Jacobs University)计算科学教授Herbert Jaeger评价道:“机器学习能预测遥远的未来,实则令人惊喜。”
这些发现由资深混沌理论家Edward Ott和四名马里兰大学的学者共同完成。他们采用了一种被称为“库计算”的机器学习算法,来“学习”一种典型的、叫做Kuramoto-Sivashinsky方程的混沌系统。这个方程式的演化方式如同火焰锋面,在燃烧的介质中闪烁。该方程还描述了等离子体和其他现象中的漂移波,并可作为“时空混沌和干扰研究的基础”,奥特的研究生、论文的第一作者Jaideep Pathak说道。
经过对Kuramoto-Sivashinsky方程式以往的演算数据的训练后,计算机就可以精确地预测出,在未来的8个“李亚普诺夫时间”(Lyapunov times)中,火焰系统将如何演变,比以往任何方法都要超前8倍。李雅普诺夫时间代表了一个混沌系统的两个几乎相同的状态当出现指数差异时所用时间。因此,它通常设定了可预测性的范围。
德国德累斯顿物理研究所混沌理论学家Holger Kantz说:“机器学习的确大有裨益。”“机器学习技术某种意义上说等同于认知真理。”
该算法本身对Kuramoto-Sivashinsky方程一无所知,它只获取方程式演化数据。这就是机器学习法的强大所在。许多情况下,描述一种混沌系统的方程式并不为人所知,因而动力学家需努力建模以进行预测。Ott的研究结果表明你不需要那些方程式,需要的只是数据。Kantz说:“这篇论文表明,或许有一天我们可以通过机器学习算法来预测天气,而不是通过复杂的大气模型。”
除了天气预报,专家称,机器学习技术可以帮助监测心律失常现象,监测是否有心脏病发作迹象,并监测大脑神经元的放电模式,以寻找神经元突起迹象。进一步说,它还能有助于预测海面情况,以防汹涌的海浪危及船只,抑或发生地震。
Ott特别希望这些新工具能对预警太阳风暴发挥作用,像1859年喷出太阳表面35000英里的那一次。地磁的巨变使得北极光在地球上随处可见,感生电压让许多没有通电的电线上产生了电流,直接断掉了地球上的电报系统。如果今天地球受到这样规模的太阳风暴袭击,人类的电子设施会遭到严重破坏。Ott说“如果你知道能预测太阳风暴即将来临,你只需关掉电源,之后再重启就好了。”
Ott、Pathak和他们的同事Brian Hunt、Michelle Girvan和Zhixin Lu(现就职于宾夕法尼亚大学)通过综合现有的工具取得了成果。
约六、七年前,当强大的“深度学习”算法开始掌握像图像和语音识别这样的人工智能任务时,他们开始研究机器学习,并想出巧妙的方法将其运用于混沌理论。他们在深度学习革命之前就已经得到了一些有希望的结果。其中最重要的一个是,在21世纪初,Jaeger和德国混沌理论学家Harald Haas利用一个随机连接的人工神经元网络——形成了库计算中的”库”——来学习三个混沌系统协同变量的动力学法则。在对这三组数字进行训练后,网络可以预测出这三个变量的未来值,且预测范围之远令人印象深刻。然而,当有多个相互作用的变量时,计算就变得难以处理了。Ott和他的同事需要一个更为行之有效的方法,使库计算与大型混沌系统相关联,这些系统有大量的相互关联的变量。例如,火焰前部边缘的每一个位置,都对应着三个不同空间方向的速度分量。
图左至右:马里兰大学Jaideep Pathak,Michelle Girvan,Brian Hunt,and Edward Ott
他们花了好几年时间才找到这个直截了当的解决办法。“我们利用的是在空间扩展的混沌系统中相互作用的局部性”,Pathak说,“局部性意味着局部的变量受其附近变量,而非远处变量的影响。”通过利用该理论,可以将问题分解成块。也就是说,可以将这个问题并行解决,利用一个神经元库来学习一个系统补丁,另一个库来学习下一个补丁,以此类推,相邻区域的细微重叠,阐释了它们之间的相互作用。
并行法使得库计算法可以处理几乎任何大小的混乱系统,只要该任务具备合适的计算机资源库即可。
Ott阐明库计算分为三步过程。例如说你想用它来预测火焰蔓延趋势。
首先,你在火焰锋面前五个不同的点测量火焰高度,继而测量火焰燃烧一段时间后个点位高度。将这些数据流输入库中随机选择的人工神经元中。输入数据触发神经元放电,进而触发相连的神经元,并在整个网络中发送一连串信号。
第二步是使神经网络从输入数据中学习火焰锋面的动态变化。为此,输入数据时,还要监测库中几个随机选择的神经元的信号强度。以五种不同的方式加权和组合这些信号而产生的五个数字作为输出。目的是调整计算输出的各种信号的权值,直到这些输出与下一组输入一致——下一组输入就是下一时刻在火焰前部测量的五个新高度。Ott解释说:“你想要的应该是,输出和下一时刻的输入相同。”
为得到正确的权重,该算法简单地将每组输出与下组输出或五点中的每一点的预测高度与实际火焰高度进行比较。每一次增加或减少各种信号的权重,无论以哪种方式,它们的组合都给出了5个输出的正确值。从一个时间点到下一个时间点,随着权重的调整,预效果测逐渐提高,直到算法能够连续预测出火焰状态。
“第三步时其实就是在做预测了。”Ott说。在了解了该系统的动态之后,库计算就可以揭示其未来演变路径。计算机本身会进行自问。输出作为新的输入反馈回来,如此循环往复,以此来预测火焰锋面五个点位高度的演变过程。其他库也在平行地预测火焰中其他地方的高度变化过程。
在一月份发表的物理评论快报(Physical Review Letters)的论文(论文地址:http://www.bmp.ds.mpg.de/tl_files/bmp/preprints/Zimmermann_Parlitz_preprint.pdf)中,研究人员表明,他们预测的Kuramoto-Sivashinsky方程式火焰演化,与混沌系统的真实演化几乎完全一致,直到第八个李亚普诺夫时间之后,预测才开始偏离实际情况。
常规预测混沌系统的方法是尽可能精确地测量每一个时间点的状态,利用这些数据来校准物理模型,然后使得模型不断发展。由于是近似估计,必须将一个典型的系统的初始状态测量100,000,000次,才能将初始状态的数据用于更准确地预测混沌系统未来8个李亚普诺夫时间内的演化状态。
这正是机器学习为“一种非常奏效且强大的方法”的原因,德国马克斯普朗克动力和自我组织学院的Ulrich Parlitz说,他和Jaeger一样,在21世纪初也将机器学习应用于低维度的混沌系统中。”我认为这不仅在他们给出的例子中发挥作用,而且在某种意义上来说是通用的,即可以应用于许多过程和系统中。在即将发表在《混沌》(Chaos)上的一篇论文中,Parlitz和其合作伙伴应用库计算来预测“易激发媒介”(如心脏组织)的动态。Parlitz认为,深度学习虽然比库计算更复杂,计算能力更强,但同其他机器学习算法一样,也能很好地解决混沌问题。最近,麻省理工和苏黎世联邦理工学院的研究人员使用“长短期记忆”神经网络,取得了类似的结果。这种神经网络反复循环,能够长时期储存临时信息。
在《物理评论快报》发表论文之后,Ott,Pathak,Girvan,Lu等人继续推进他们的研究,现在他们距离理想的预测技术的实现更进一步了。在《混沌》(Chaos)发表的新研究中,他们发现,通过混合数据驱动、机器学习方法和传统的基于模型的预测,改进了诸如Kuramoto-Sivashinsky方程这样的混沌系统的预测。Ott认为这是改善天气预报和类似工作的更为行之有效的途径,因为我们并不总是拥有完整的高分辨率数据或完美的物理模型。他说:”我们应该做的是基于我们拥有的知识,如果我们对某事物一无所知,我们就应该利用机器学习来填补无知的空白。”库计算的预测本质上可以用来校正模型;在Kuramoto-Sivashinsky方程的例子中,精确的预测被进一步扩展到了12个李亚普诺夫时间。
李亚普诺夫时间的长短因不同的系统而异,从毫秒到数百万年不等。(就天气而言,只有几天。)时间越短,系统更容易受蝴蝶相应的影响。混沌系统在自然界中无处不在,然而奇怪的是,混沌本身很难确定。芝加哥大学数学教授Amie Wilkinson说:”大多数人在运用动力系统时都会用到混沌这个术语,但他们在使用时确有些尴尬。”“有点时候说某事有点混沌会给人感觉有些许俗气。”因为在没有约定俗成的数学定义或充分必要的条件下引起了广泛注意。Kantz同意这样的说法“混沌并不是一个简单的概念,”。在某些情况下,调整系统的单个参数可以使系统从混沌变为稳定,反之亦然。
Wilkinson和Kantz都在拉伸和折叠方面定义了混沌,就像面团的重复拉伸和折叠一样。每一块面团在擀面杖作用下水平伸展,在两个空间方向上以指数的速度迅速分离,然后将面团折叠压平,在垂直方向将面团凸起凹陷的部分再压平。Kantz说,天气、森林大火、太阳风暴以及其他所有混沌系统都是这样的。“为了使轨迹的指数发散,需要这种拉伸,为了不使系统发散到无穷大,需要一些折叠。”折叠来自于系统中变量之间的非线性关系。
在不同维度上的拉伸和压缩对应于一个系统的正负“李亚普诺夫指数”。在《混沌》(Chaos)另一篇最新论文中,马里兰州的研究小组报告说,他们的库计算机模型,能够成功地从混沌系统进化数据中,了解这些特征指数的值。为什么库计算如此善于学习混沌系统的发展动态并不是很好理解,计算机根据反馈的数据调整混沌系统动力学的公式,直到这个公式能够复制混沌系统的动态变化过程。这项技术非常有效,事实上,Ott和其他马里兰研究人员现在打算用混沌理论来更好地理解神经网络的内部机制。
Ps:“如果我们对某事物一无所知,我们就应该利用机器学习来填补无知的空白。”——Edward Ott
Ps:“机器学习技术某种意义上说等同于认知真理。”——Holger Kantz