下一秒火焰如何燃烧?机器学习成功预测混沌
机器学习算法可以准确模拟火焰在一定时间内的扩散
译者:Frank、陈孟园、张章
原文:https://www.quantamagazine.org/machine-learnings-amazing-ability-to-predict-chaos-20180418/(或点击阅读原文)
1.蝴蝶效应,机器学习可以解决?
在最新的计算机实验中,人工智能算法能很好的预测混沌系统的未来。
半个世纪以前,混沌理论的先驱发现了“蝴蝶效应”,使得长期的预测变得难上加难。即使是对复杂系统极小的干扰(比如说天气,经济或其他事物)也会引发一连串相应的事件,最终形成完全不同的未来。如果我们不能更好更精确的理解这些系统的状态,从而预见事件会发展成什么样,我们就会生活在不确定性中。
混沌理论的早期研究表明,对复杂系统极小的扰动会引发一连串事件,预测混沌系统很困难
但是现在机器可以帮忙。
在期刊《Physical Review Letters》和《Chaos》的新文章中,科学家使用了机器学习技术(这技术就是最近人工智能盛行背后的技术)来预测混沌系统的演化,结果令人目瞪口呆。这种开创性的方法被专家盛赞,而且极有可能找到更广阔的应用场景。
对此,来自德国不来梅Jacobs大学计算机系的教授Herbert Jaeger评价:机器学习在预测复杂系统的无序演化上的结果令人震惊。
Jaideep Pathak, Michelle Girvan, Brian Hunt 和 Edward Ott,他们的研究表明,机器学习是预测混沌系统的有力工具
这些发现来自于马里兰大学的资深混沌理论学者 Edward Ott 和他的四个合作者。
2.用机器学习算法,
成功预测火势蔓延
Ott 等人使用了一种叫库计算(Reservoir Computing)的机器学习算法来“学习”一种典型的、名叫Kuramoto-Sivashinsky方程的混沌系统。
这个方程的演化结果像是一个火焰锋面,闪烁着就像是火焰穿过了易燃介质。这个方程也描述了等离子体和其他类似现象中的漂移波。Ott的学生,同时也是文章的第一作者的 Jaideep Pathak 认为,这可以作为时空混沌与干扰研究的基础。
Kuramoto-Sivashinsky 系统的的动画,“火焰锋面”不是稳定变化的
在机器自主学习了 Kuramoto-Sivashinsky 系统演化的历史数据后,计算机可以预测出这样的类火焰系统,在未来8个 Lyapunov 时间内的演化。这种能力任何现有的手段都要强大8倍以上。
Lyapunov 时间是指一个动态系统出现混沌特性所需要的时间,是可预测性的的基准。在一个 Lyapunov 时间内,系统的变化是可以预测的,仅仅根据初始状态,无法预测系统在一个 Lyapunov 时间之后的状态。
德国马普所的复杂系统研究专家 Holger Kantz,对“机器学习能预测8个 Lyapunov 时间的系统演化”的结果,赞叹有加。
“机器学习的技术让我们几乎找到了混沌系统的真相!”
机器学习算法本身对 Kuramoto-Sivashinsky 方程一无所知,它只提取现有的关于方程解的数据。数据使得机器学习这种方法很强大,因为很多情况下,描述混沌系统的方程并不已知,这严重阻碍了流体动力学家通过研究模型来预测系统发展。
Kuramoto-Sivashinsky 方程和3D 示意图
3.只要给我数据,
无需气象模型也能预测天气
Ott和他同伴的研究结果显示你不需要那些方程式,只需要数据。
Kantz说:“这篇文章显示也许有一天我们可以用机器预测天气,通过算法学习而不是通过研究复杂的大气模型。”除了天气预报,机器学习技术可以监控可能会引发心脏病的心律不齐,也可以检测大脑中神经元的连接方式。进一步推断,它还可以帮助预测可能危及船只的巨浪,甚至预测地震。
Ott 特别希望新工具能提前给出太阳风暴的警告,像1859年喷出太阳表面35000英里的那一次。地磁的巨变使得北极光在地球上随处可见,感生电压让许多没有通电的电线上产生了电流,直接断掉了地球上的电报系统。如果今天地球受到这样规模的太阳风暴袭击,人类的电子设施会遭到严重破坏。
Ott说:“如果能预测太阳风暴的来袭,你只需要关停电源,之后再重启就好了。”
太阳风暴会严重干扰地球磁场
但是很难提前根据太阳的变化来预测太阳风暴的发生
4.核心技术:变量之间相互作用?
神经元库计算(reservoir of neurons)来解决
Ott、Pathak和他们的同事 Brian Hunt,Michelle Girvan 和 Zhixin Lu(现在在宾夕法尼亚大学)通过综合利用现有的工具,取得了成果。
六七年前,名为”深度学习”的强大算法开始在像图像和语音识别这样的人工智能任务中大显身手,这几位科学家也开始学习机器学习,并思考如何将其应用到混沌系统中。
他们在深度学习革命之前就已经得到了一些有希望的结果。 其中最重要的一个是,在2000年代初,Jaeger 和另一位德国混沌理论家 Harald Haas,使用了一个神经元随机连接形成的神经网络,这些神经元形成了库计算的”库”——称之为“神经元库”——来学习三个混沌系统协同变量的动力学法则。通过对三组数字的训练,该网络可以预测这三个变量的未来值,且预测范围之远令人印象深刻。
然而,当变量之间有相互作用时,计算变得非常困难。
Ott和他的同事们需要一个更有效的方案,来实现与大型混沌系统相关的库计算。这些系统有许多变量会相互影响。 例如,火焰前部边缘的每一个位置,都对应着三个不同空间方向的速度分量,相邻位置的速度不是独立的。
他们花了几年时间寻找直截了当的解决方案。 Pathak说:”我们利用的是空间扩展混沌系统中的相互作用的局部性。 局部性意味着一个地方的变量受到附近变量的影响,而不是远处的其他变量。 Pathak解释道,“通过使用神经元库计算,我们基本上可以把问题分解成几个大块。” 也就是说,你可以并行处理这些问题,利用一个神经元库来了解一个系统的一个块,另一个来处理下一个块,等等,并且用相邻域的轻微重叠来解释它们之间的相互作用。
并行化使得神经元库计算方法几乎可以处理任何尺尺度的混沌系统,只要分配相应的计算机资源专门用于这项任务。
机器学习的预测与混沌模型可以很好地吻合
5.三个步骤预测火势蔓延
Ott 解释说,神经元库计算方法有三个步骤。 假设你想用它来预测火势的蔓延。
首先,你测量火焰在火焰前部的五个不同点的高度。因为闪烁的火焰在一段时间内不断产生,所以你继续测量火焰前部这些点的高度,你将这些数据流输入储存库中随机选择的人工神经元中。输入数据会激活神经元,依次触发相连的神经元,并在整个网络发送一系列信号。
第二步是让神经网络从输入数据中学习火焰前部演化的动力学。为了做到这一点,当你输入数据时,你也需要监视储存器中几个随机选择的神经元的信号强度。 以五种不同的方式加权组合这些信号,产生五个数字,作为输出。我们的目标是调整计算输出的各种信号的权重,直到这些输出始终与下一组输入相匹配——下一组输入就是下一时刻在火焰前部测量的五个新高度。Ott解释说:”你想要的是,输出应该和下一时刻的输入相同”
为了学习到正确的权重,算法只是简单的将每一组输出,或者说对五个点的火焰高度的预测,和下一组输入,即下一时刻实际火焰高度做比较,以增加或减少各种信号的权重的方式,使它们的组合对应五个正确的输出值。从一个时间步到下一个时间步,随着权重的调整,预测效果 逐渐变好,直到该算法能够准确预测下一时刻的火焰状态。
第三步,让神经元库做预测。在学到了这个系统的动力学法则之后,神经元库计算方法可以揭示它将如何演化。在本质上,网络是在问自己即将会发生什么。输出以新输入的形式反馈,接下来的输出又将对应到下一时刻的输入,周而复始,完成对火焰前部五个位置的高度如何演变的预测,并行的其他神经元库也将预测出火焰中其他地方的高度演化。
训练阶段和预测阶段
6.预测混沌:
引入机器学习、深度学习、LSTM
在1月份发表的 PRL (《Physical Review Letters》)论文中,研究人员发现,他们预测的火焰演化,与混沌系统的真实演化几乎完全一致,直到第八个 Lyapunov 时间之后,预测才开始偏离实际情况。
通常,预测混沌系统的方法是,尽可能准确地测量一个混沌系统在某一时刻的状态,同时利用数据来校准物理模型,然后将模型沿着时间慢慢向前扩展。由于是近似估计,必须将一个典型的系统的初始状态测量100,000,000次(10的八次方),才能将初始状态的数据用于更准确地预测混沌系统未来8个 Lyapunov 时间内的演化状态。
相比之下,机器学习完全不需要测量这么多的状态。
这就是为什么机器学习是“一种非常有用和强大的方法”,马普所的Ulrich Parlitz表示。他和Jaeger(德国Jacobs大学计算科学教授)一样,也在本世纪初将机器学习应用于低维混沌系统。“我认为机器学习不仅在他们发表的这个混沌系统的样例预测中起作用,在某种意义上,机器学习具有普适性,可以应用于其他许多演化过程与系统。”
在即将发表在《Chaos》上的一篇论文中(链:http://www.bmp.ds.mpg.de/tl_files/bmp/preprints/Zimmermann_Parlitz_preprint.pdf),Parlitz和一位合作者应用了库计算(Reservoir Computing,简称RC)模型来预测”易激发性介质”的动态,比如心脏组织。Parlitz认为,深度学习比库计算模型框架更加复杂,计算更加密集,能很好地解决混沌问题,其他机器学习算法也将会是有效的方法。
最近,MIT和ETH Zurich的研究人员取得了类似的结果,Ott 团队使用了一个“长短期记忆”(LSTM)神经网络,这种神经网络反复循环能够长时间存储临时信息。
彩云天气 APP,利用深度学习技术预测短时天气
7.预测气象数据,天有可测风云
在PRL发表论文之后,Ott,Pathak,Girvan,Lu等人继续推进他们的研究,现在他们距离理想的预测实验更近了一步。
Ott 团队在《Chaos》杂志发表的新研究中表明,通过将数据驱动、机器学习方法、传统的模型预测,可以进一步改进对像 Kuramoto-Sivashinsky 方程这样的混沌系统的预测。
Ott认为,这是改善天气预报及其类似工作的有效途径,因为常常缺少完整的高分辨率数据或完美的物理模型。他说:“我们应该利用我们所掌握的良好知识,如果我们对某个事物一无所知,我们就应该利用机器学习来填补无知。”
库计算的预测可以校准气象模型,在 Kuramoto-Sivashinsky 方程中,准确的预测时长被进一步推广到了12个Lyapunov时间。不同系统到达Lyapunov时间所经历的时间长度是不同的,从毫秒到数百万年不等。 就天气而言,只有几天。时间越短,系统更容易受蝴蝶效应的影响。
在 netlogo 仿真软件中模拟森林火灾的蔓延
8.无处不在的混沌
混沌系统在自然界中无处不在,然而奇怪的是,混沌本身是很难确定的。
芝加哥大学的数学教授Amie Wilkinson说:“在动力系统中,大多数人都使用混沌这个术语,但这些人在使用‘混沌’时会觉得有些尴尬。因为它在没有准确的数学定义的情况下吸引了人们的注意力。
Kantz(德国马普所的混沌理论家)同意这样的说法:“混沌并不是一个简单的概念。在某些情况下,调整一个系统的单个参数可以使系统从混沌变为稳定,反之亦然。”
Wilkinson 用拉伸和折叠来描述混沌,就像在做酥皮糕点时反复拉伸和折叠面团一样。每一块面团在擀面杖下水平伸展,在两个空间方向上以指数的速度迅速分离,然后将面团折叠压平,在垂直的方向上将面团表面凸起凹陷的部分再压平。
天气、森林大火、太阳表面的‘风暴’以及所有其他混沌的系统就是这样运作的,为了让混沌系统的轨迹指数发散,需要这种拉伸,为了不使系统发散到无穷远处,需要一些折叠。折叠来自系统中变量之间的非线性关系。不同维度的拉伸和压缩分别对应于一个系统的正负”Lyapunov指数”。
在状态中切换,犹如钟摆
9.为什么有效?
神经网络的机制仍待探究
在《Chaos》另一篇最新的论文中(论文链接:https://aip.scitation.org/doi/abs/10.1063/1.5010300?journalCode=cha&),Ott 团队报告说,他们的库计算模型,可以成功地从混沌系统进化数据中,学习到这些拉伸和压缩的特征指数的值。
库计算的主要思想是,计算机根据反馈的数据调整混沌系统动力学的公式,直到这个公式能够复制混沌系统的动态变化过程。这个技术的效果非常好,但其内部的学习机制却很少有人清楚。
最终,虽然库计算可以很好的学习混沌动力学,但很多人并不理解库计算到底为什么能学的这么好。事实上,Ott和其他一些马里兰州的研究人员现在打算用混沌理论来更好地理解神经网络的内部机制。
推荐阅读
彩云ICLR 2018顶会论文带你进入“组合式神经编程”的世界
侯世达:机器可以“翻译”但不能真正理解 | AI&Society
集智QQ群|292641157
商务合作|zhangqian@swarma.org
投稿转载|wangting@swarma.org
◆ ◆ ◆
搜索公众号:集智俱乐部
加入“没有围墙的研究所”
让苹果砸得更猛烈些吧!
始发于微信公众号: 集智俱乐部