近期GRL上发表了一篇利用生成对抗网络(Generative Adversarial Networks,GANs)重构云垂直结构的文章。文中使用MODIS观测资料作为输入,训练条件生成对抗网络生成2D云垂直结构,并将GANs生成的2D垂直云结构与CloudSat卫星观测进行对比,结果表明:GANs能够生成较为合理的2D垂直云结构,而且可以推断出MODIS观测到复杂多层云结构。
除了预测云垂直结构外,GANs能够给出每次预测结果的不确定性。在这篇文章中,作者认为GANs可以处理大气科学和远程遥感中的很多问题。
大气问题的典型特征
首先,让我们看一下近些年来公认的大气遥感问题的特点:
什么是GANs
GAN是一个可以生成与训练数据集类似的样本的神经网络。更准确的来说,由两个神经网络组成,一个是生成器,一个是判别器。生成器使用随机噪声作为输入,并将其转换为和生成样本类似的字段。判别器的任务是从生成器生成的样本中识别出真实样本。生成器同时被训练以干扰判别器。两个网络的竞争成为对抗训练。GAN是在2014年才发明出来。
GAN的一个变体是条件生成对抗网络,即CGAN。在此变体中,除了提供随机噪声外,我们还反馈给生成器和判别器一些条件变量。这些是我们已经知道的有关的特定样本,比如观测。
为什么GAN对大气科学非常有用?
卷积神经网络通常可以学习到复杂的空间结构。同时,GAN内置了概率论信息:GAN会将一个相对简单的概率分布映射到复杂的概率空间。由于基于卷积神经网络的条件生成对抗网络可以以概率的方式处理复杂的空间推断问题。因此,我认为GAN很大程度上可以改变我们处理大气科学和远程遥感问题的方式。我们可以得到空间上更真实的解,而不会导致预测时出现过大误差。
下图是利用条件生成对抗网络生成的云垂直结构结果。最后一行是CloudSat观测的云垂直廓线,第2行到4行是在给定少量观测情况下,GAN所生成的云垂直结构。尽管GAN的猜测并不总是完美的,但是生成的图像看起来更真实。
GANs预测的2D云垂直结构和CloudSat观测结果对比
也就是说,相比于我们当前已经习惯的方式而言,使用GAN,我们需要采取不同的方式考虑不确定性问题。GAN并不直接提供不确定性的度量,也就是说GAN并不直接输出标准差和均值。相反,我们需要通过采样处理不确定性。我们可以为GAN生成很多具噪声的输入,然后观察到输出发生了什么。如果确实需要平均值和标准差,可以通过采样输出进行计算。
GAN在大气科学或气候科学中的另一个潜在应用是基于空间结构的样本的无监督或半监督分类。后面有机会会进一步探讨这方面的内容,而且关于GAN在此领域的应用也还存在一些局限性,这部分也应该进行深入的探讨。
后话
上面关于利用GAN基于卫星观测重构云垂直结构的研究参考了作者在博客的文章和论文。文章公布了源代码(见参考链接3)。此外,还有利用GAN研究随机参数化以及热带气旋预测方面的研究。
上述内容并没有对GAN重构云结构的内容进行详细的解读。这部分内容,后面会专门抽个时间对GAN在气象领域的应用研究进行介绍。
参考链接
1.https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2019GL082532
2.https://jleinonen.github.io/2019/06/06/gans-atmos.html
3.https://github.com/jleinonen/cloudsat-gan