ConvLSTM簡介 - Convolutional LSTM Network - A Machine Learning Approach for Precipitation Nowcasting
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
NIPS 2015
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