ConvLSTM簡介 — Convolutional LSTM Network — A Machine Learning Approach for Precipitation Nowcasting

xiao sean
6 min readJul 17, 2018

--

NIPS 2015 paper

Xingjian Shi, Zhourong Chen, Hao Wang, Dit-Yan Yeung, Wai-kin Wong, Wang-chun Woo, “Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting”arXiv:1506.04214

Github上面有許多ConvLSTM的重制,這邊貼Pytorch版本的 Github

之所以看這篇是因為之前看了一篇CVPR2018的paper:Attentive-GAN簡介

他的Generator部分是使用ConvLSTM的架構,

因此來看看。

簡介

此論文的目標是希望可以預測天氣,

給定前幾個小時的圖片,可以預測出之後幾個小時會不會下雨,

根據上述問題可知,除了要能夠處理圖片的部分,還要處理時序的問題。

而這篇論文主要的貢獻是提出了ConvLSTM的架構,

提出了如何將Convlution應用至LSTM的想法。

而此架構ConvLSTM是用fully connected LSTM (FC-LSTM)的延伸。

天氣預測相關的簡介

(根據此篇論文的說法: 19, Sep, 2015

現存的天氣預測方法主要有兩種

Numerical weather prediction (NWP) model

就是建一堆模型,觀測環境中的變化,非常複雜,運算速度慢。

Radar echo extrapolation based methods 中譯是基於雷達回波外推的方法

主要透過雷達,可獲得一張圖。

之後透過光流法去做演算法,

目前最成功的方法是Real-time Optical flow by Variational methods for Echoes of Radar (ROVER)。

而此篇主要會和ROVER方法進行比較。

概念

我們的任務是希望可以透過以往的前 J 張圖片,可以產生後面 K 張的圖片。

FC-LSTM

如果對FC-LSTM不熟的建議先去搜尋一下,其實和普通的差不多,

只是他的 input / output / state 都是 1D的向量vector

下面不做詳細的介紹。

‘◦’ denotes the Hadamard product:

ConvLSTM

下方為本次架構ConvLSTM

‘∗’ denotes the convolution operator and ‘◦’, as before, denotes the Hadamard product

主要的不同是這邊的 input / output / state 都是 3D的張量(Tensor) (timestamps, row, column)

而實際上在實作的時候是 5D(batchsize, timestamps, channel size, row, column)

上圖展示的是原本2D的圖片為(X, Y),

而這邊的P是(X, Y)中的某一點,

而當添加了時序timestamps後,

P會從(x,y) => (x, y, z), z:timestamps

也因此從2D => 3D

這邊其實是和ConvLSTM的公式做示意圖,

而不管是outputs — C 、 hidden states — H 又或是每個 timestamp 的 input(x) 都是 2D 的矩陣。

而每個 timestamp 的 output — C 或是 hidden state — H,仰賴著輸入 x(image),

並起從此圖能夠看出CNN的特性,

可以透過 kernal size 了解 pixel 周圍的關聯性。

Encoding-Forecasting Structure

這部分的架構概念與此篇Unsupervised Learning of Video Representations using LSTMs

我的理解是一開始copy權重(虛線部分),

那之後都是提取Encoding Network的最後一層,

當作Forecasting Network的第一層,

接下來用同樣的概念iteration的做LSTM

成果比較

這邊展示輸入前10個frame,

他會預測出後10個frame,

至少分得出是3個不同的數字,

但是預測到後來越來越模糊,有待加強。

下方不詳細介紹,

因為實驗的設定有點繁瑣,

有興趣的去看論文,

簡單來說就是有比 FC-LSTM 和 Rover 好

結論

這篇論文解決了天氣預測的問題,

並且提出了一個ConvLSTM架構,

除了可以透過CNN解決空間上的相依性(x, y),

還可以透過LSTM解決時間上的相依性(z)。

本篇論文的未來展望是希望可以結合此架構去做影片的動作偵測。

參考資料:

Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting

Unsupervised Learning of Video Representations using LSTMs

同步發表在:Xiaosean的個人網站

--

--

xiao sean

I am a Ph.D. candidate in Computer Science at the National Taiwan University of Science and Technology.