一、文献阅读

题目信息

题目: 《Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting》
期刊/会议: NIPS 2015 (Advances in Neural Information Processing Systems)
作者: Xingjian Shi, Zhourong Chen, Hao Wang, Dit-Yan Yeung, Wai-kin Wong, and Wang-chun Woo
发表时间: 2015
文章链接: https://arxiv.org/abs/1506.04214

摘要

本文针对降水临近预报这一极具挑战性的天气预报问题,提出了一种基于机器学习的解决方案。作者将降水临近预报建模为一个时空序列预测问题,即输入和预测目标均为时空序列。为了克服传统全连接长短期记忆网络无法有效提取空间特征的局限性,提出了卷积LSTM。通过将LSTM内部的状态到状态、输入到状态的转换操作由全连接改为卷积操作,ConvLSTM能够同时建立时间与空间的相关性模型。实验结果表明,ConvLSTM在合成的Moving MNIST数据集和真实的雷达回波数据集上,均能比FC-LSTM和当时的算法更好地捕捉时空相关性,显著提升了预报准确率。

创新点

  1. 提出了卷积LSTM网络架构,传统的FC-LSTM在处理图像序列时需要将二维数据展平为一维向量,导致空间信息丢失。ConvLSTM通过在输入-状态和状态-状态的转换中引入卷积操作,使得模型能够保留输入数据的空间结构,从而同时提取时间及空间特征。
  2. 将降水临近预报形式化为时空序列预测问题,不同于传统的基于光流法的方法,这是一个端到端的可训练深度学习模型,直接从雷达回波图序列学习降水的演变规律。
  3. 设计了编码器-预测器结构,借鉴了机器翻译中的seq2seq模型,构建了由ConvLSTM堆叠而成的编码器网络和预测器网络,前者用于压缩历史时空信息,后者用于生成未来的预测序列。

网络框架

1. ConvLSTM 单元结构

ConvLSTM是全连接 LSTM 的扩展。
在ConvLSTM中,所有的输入 X t X_t Xt、细胞输出 C t C_t Ct、隐藏状态 H t H_t Ht和门控信号( i t , f t , o t i_t, f_t, o_t it,ft,ot)都是三维张量,其最后两个维度为空间维度(行和列)。
核心公式中的矩阵乘法被替换为卷积操作
其中, ∗ * 表示卷积, ∘ \circ 表示哈达玛积: i t = σ ( W x i ∗ X t + W h i ∗ H t − 1 + W c i ∘ C t − 1 + b i ) f t = σ ( W x f ∗ X t + W h f ∗ H t − 1 + W c f ∘ C t − 1 + b f ) C t = f t ∘ C t − 1 + i t ∘ tanh ⁡ ( W x c ∗ X t + W h c ∗ H t − 1 + b c ) o t = σ ( W x o ∗ X t + W h o ∗ H t − 1 + W c o ∘ C t + b o ) H t = o t ∘ tanh ⁡ ( C t ) \begin{aligned} i_t &= \sigma(W_{xi} * \mathcal{X}_t + W_{hi} * \mathcal{H}_{t-1} + W_{ci} \circ \mathcal{C}_{t-1} + b_i) \\ f_t &= \sigma(W_{xf} * \mathcal{X}_t + W_{hf} * \mathcal{H}_{t-1} + W_{cf} \circ \mathcal{C}_{t-1} + b_f) \\ \mathcal{C}_t &= f_t \circ \mathcal{C}_{t-1} + i_t \circ \tanh(W_{xc} * \mathcal{X}_t + W_{hc} * \mathcal{H}_{t-1} + b_c) \\ o_t &= \sigma(W_{xo} * \mathcal{X}_t + W_{ho} * \mathcal{H}_{t-1} + W_{co} \circ \mathcal{C}_t + b_o) \\ \mathcal{H}_t &= o_t \circ \tanh(\mathcal{C}_t) \end{aligned} itftCtotHt=σ(WxiXt+WhiHt1+WciCt1+bi)=σ(WxfXt+WhfHt1+WcfCt1+bf)=ftCt1+ittanh(WxcXt+WhcHt1+bc)=σ(WxoXt+WhoHt1+WcoCt+bo)=ottanh(Ct)

输入数据和状态在LSTM 单元内部的处理流程,核心区别在于使用了卷积操来处理二维空间数据,而非传统的全连接乘法。
在这里插入图片描述

2. 编码器-预测器模型

为了进行多步预测,模型采用了类似于seq2seq的结构。
编码网络:由多层ConvLSTM组成,接收历史序列输入,将其压缩为隐藏状态张量。
预测网络:同样由多层 ConvLSTM组成,利用编码网络的最终状态作为初始状态,逐步生成未来的预测帧。
网络结构:左侧为编码路径,输入历史雷达图。右侧为预测路径,输出未来雷达图。
两个网络均由堆叠的ConvLSTM层构成
在这里插入图片描述

实验

作者在两个数据集上进行了实验,分别是合成的Moving MNIST数据集和真实的雷达回波数据集。

实验一:Moving MNIST 数据集

该实验旨在验证模型学习简单时空移动规律的能力。
数据集由两个在黑色背景上反弹的移动数字组成。
ConvLSTM相比FC-LSTM能够更清晰地预测出数字的移动轨迹和形状,FC-LSTM的预测结果不仅模糊,而且难以捕捉复杂的重叠运动。
ConvLSTM尤其是多层结构,如3层表现最佳。
在这里插入图片描述

实验二:雷达回波数据集

使用香港天文台提供的雷达回波数据,包含97个雨天的记录。任务是根据过去5帧预测未来15帧。
预测指标为:降雨率均方误差 (MSE)、CSI 、FAR 、POD 。
在这里插入图片描述
ConvLSTM 在各项指标上均优于 FC-LSTM 和当时使用的基于光流法的ROVER算法。
特别是在较长时效的预测中,ConvLSTM的优势更加明显,能够保持较好的降水结构。
在这里插入图片描述

结论

本文提出了ConvLSTM架构,用于解决降水临近预报问题。通过将卷积结构引入LSTM,该模型成功克服了传统RNN丢失空间信息的缺陷,能够有效地建立时空序列的相关性模型。实验证明,ConvLSTM在处理包含复杂时空变化的数据时,表现优于全连接LSTM和传统的非机器学习方法,为气象领域的时空序列预测提供了一个强大的基准模型。

不足与展望

虽然比FC-LSTM好,但在长时预测中,ConvLSTM生成的图像仍然会趋于模糊。这主要是由于使用了均方误差作为损失函数,导致模型倾向于输出平均化的结果,未来可以考虑引入生成对抗网络或更感知的损失函数来提升清晰度相比FC-LSTM,卷积操作的计算开销较大,训练和推理速度相对较慢;此外,目前的模型纯粹是数据驱动的,未来的研究可以探索将物理约束融入网络设计或损失函数中,以提高预测的物理一致性。

量子计算学习笔记

相位估计问题的引入

在量子计算中,我们经常需要处理酉算子的特征值和特征向量问题。对于一个给定的酉算子 U U U,其特征值可以表示为 e 2 π i φ e^{2\pi i \varphi} e2πiφ 的形式,其中 φ ∈ [ 0 , 1 ) \varphi \in [0,1) φ[0,1) 是相位。

假如给定酉算子 U U U 和其特征向量 ∣ u ⟩ |u\rangle u,如何高效地估计相位 φ \varphi φ

U U U 是一个 n × n n \times n n×n 的酉算子, ∣ u ⟩ |u\rangle u 是其特征向量:

U ∣ u ⟩ = e 2 π i φ ∣ u ⟩ U|u\rangle = e^{2\pi i \varphi}|u\rangle Uu=e2πiφu

其中: U U U:已知的酉算子; ∣ u ⟩ |u\rangle u:已知的特征向量; φ ∈ [ 0 , 1 ) \varphi \in [0,1) φ[0,1):未知的相位参数
目的是以高概率估计出 φ \varphi φ 的近似值 φ ~ \tilde{\varphi} φ~,使得:

∣ φ − φ ~ ∣ ≤ ε |\varphi - \tilde{\varphi}| \leq \varepsilon φφ~ε

其中 ε \varepsilon ε 是允许的误差精度。


量子相位估计算法

量子相位估计算法的核心思想是利用量子傅里叶变换 的逆变换来提取相位信息。相位 φ \varphi φ 的二进制展开可以通过受控的 U U U 幂次操作编码到量子态的振幅中。

相位估计算法使用两组量子比特:
第一寄存器 t t t 个量子比特,用于存储相位的估计值
第二寄存器 n n n 个量子比特,用于初始化特征向量 ∣ u ⟩ |u\rangle u

初始状态:
∣ 0 ⟩ ⊗ t ∣ u ⟩ |0\rangle^{\otimes t}|u\rangle ∣0tu

算法流程如下

初始化和叠加态准备

首先对第一寄存器应用Hadamard门:

1 2 t ∑ j = 0 2 t − 1 ∣ j ⟩ ∣ u ⟩ \frac{1}{\sqrt{2^t}}\sum_{j=0}^{2^t-1}|j\rangle|u\rangle 2t 1j=02t1ju

受控幂次操作

对第一寄存器的第 k k k 个量子比特(从0开始编号),应用受控的 U 2 k U^{2^k} U2k 操作:

1 2 t ∑ j = 0 2 t − 1 ∣ j ⟩ U j ∣ u ⟩ \frac{1}{\sqrt{2^t}}\sum_{j=0}^{2^t-1}|j\rangle U^j|u\rangle 2t 1j=02t1jUju

由于 ∣ u ⟩ |u\rangle u 是特征向量:
U j ∣ u ⟩ = e 2 π i φ j ∣ u ⟩ U^j|u\rangle = e^{2\pi i \varphi j}|u\rangle Uju=e2πiφju

因此状态变为:
1 2 t ∑ j = 0 2 t − 1 e 2 π i φ j ∣ j ⟩ ∣ u ⟩ \frac{1}{\sqrt{2^t}}\sum_{j=0}^{2^t-1}e^{2\pi i \varphi j}|j\rangle|u\rangle 2t 1j=02t1e2πiφjju

逆量子傅里叶变换

对第一寄存器应用逆量子傅里叶变换 Q F T † QFT^\dagger QFT

Q F T † [ 1 2 t ∑ j = 0 2 t − 1 e 2 π i φ j ∣ j ⟩ ] QFT^\dagger\left[\frac{1}{\sqrt{2^t}}\sum_{j=0}^{2^t-1}e^{2\pi i \varphi j}|j\rangle\right] QFT 2t 1j=02t1e2πiφjj

回忆量子傅里叶变换的定义:
Q F T ∣ x ⟩ = 1 N ∑ y = 0 N − 1 e 2 π i x y / N ∣ y ⟩ QFT|x\rangle = \frac{1}{\sqrt{N}}\sum_{y=0}^{N-1}e^{2\pi i xy/N}|y\rangle QFTx=N 1y=0N1e2πixy/Ny
其中 N = 2 t N = 2^t N=2t

测量
对第一寄存器进行测量,得到状态 ∣ φ ~ ⟩ |\tilde{\varphi}\rangle φ~,其对应的二进制表示即为相位的估计值。


量子相位估计算法分析

当相位 φ \varphi φ 可以精确表示为 t t t 位二进制分数时:
φ = 0. φ 1 φ 2 … φ t = ∑ k = 1 t φ k 2 − k \varphi = 0.\varphi_1\varphi_2\ldots\varphi_t = \sum_{k=1}^{t}\varphi_k 2^{-k} φ=0.φ1φ2φt=k=1tφk2k

在这种情况下,算法将以概率1得到精确结果:

φ ~ = φ \tilde{\varphi} = \varphi φ~=φ

一般情况下,当 φ \varphi φ 不能精确表示为 t t t 位二进制分数时,设其最佳 t t t 位近似为:

a = ⌊ 2 t φ ⌉ / 2 t a = \lfloor 2^t \varphi \rceil / 2^t a=2tφ/2t

其中 ⌊ ⋅ ⌉ \lfloor \cdot \rceil 表示四舍五入。

测量结果为 a a a 的概率至少为 4 / π 2 ≈ 0.405 4/\pi^2 \approx 0.405 4/π20.405

更精确地,对于任意整数 c c c,测量结果为 a + c a+c a+c 的概率为:

P ( a + c ) = { 1 2 2 t ∣ 1 − e 2 π i 2 t ( φ − ( a + c ) / 2 t ) 1 − e 2 π i ( φ − ( a + c ) / 2 t ) ∣ 2 if  φ ≠ ( a + c ) / 2 t 1 2 2 t if  φ = ( a + c ) / 2 t P(a+c) = \begin{cases} \frac{1}{2^{2t}}\left|\frac{1 - e^{2\pi i 2^t(\varphi - (a+c)/2^t)}}{1 - e^{2\pi i (\varphi - (a+c)/2^t)}}\right|^2 & \text{if } \varphi \neq (a+c)/2^t \\ \frac{1}{2^{2t}} & \text{if } \varphi = (a+c)/2^t \end{cases} P(a+c)= 22t1 1e2πi(φ(a+c)/2t)1e2πi2t(φ(a+c)/2t) 222t1if φ=(a+c)/2tif φ=(a+c)/2t

使用 t t t 个量子比特时,估计误差满足:
∣ φ − φ ~ ∣ ≤ 1 2 t + 1 |\varphi - \tilde{\varphi}| \leq \frac{1}{2^{t+1}} φφ~2t+11

因此要达到精度 ε \varepsilon ε,需要的量子比特数为:
t = ⌈ log ⁡ 2 ( 1 / ε ) ⌉ + 1 t = \lceil \log_2(1/\varepsilon) \rceil + 1 t=log2(1/ε)⌉+1

最后,通过增幅 技术或重复采样,可以将成功概率提升到接近1。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐