昨天提到了分群,今天來說一下監督式學習的應用。
云的估計是目前數值模式極具挑戰性的一項變數,故有些研究學者已經開始嘗試使用深度學習的方法進行云的估計。
有想過在數值模式世界中,云是什么??跟人有所看到的云有何差別?要如何描述?
數值模式是以格點方式表達變數值,所以以數值模式的角度而言,云是在這個網格範圍內所占的比率,即云分辨率(Cloud Fraction)。
我們將數值模式與云有關的變數與衛星觀測反演的云分辨率進行深度學習建模,即X是數值模式與云有關的變數,Y是衛星觀測反演的云分辨率。
數值模式的資料為3維資料,故採取卷積神經網路的方式進行建模,不過這邊加上了為卷積神經網路而設計的注意力機制模組(CBMA),看有沒有辦法提升效果。
CBMA全名稱為Convolutional Block Attention Module,主要分為通道(channel)注意力機制與空間(spatial)注意力機制,如果以2維5乘5大小的RGB圖做說明,通道指的就是RGB的維度,空間指的就是5乘5的維度,當然也可以是3維空間。
通道注意力:
將輸入的特徵X分別進行平均池化即最大池化,然后兩個池化后的特徵共享一個神經網路(MLP),將兩者相加后再進入啟動函數(σ)。通道注意力機制后會是一維陣列,將其與原本的特徵X進行broadcast,會得到X'。
CHATT(X) = σ(MLP(avgpool(X)) + MLP(maxpool(X)))
X' = X * CHATT(X)
空間注意力機制:
將經過通道注意力機制的特徵x'分別進行空間的avgpool及maxpool,將兩著concat。針對concat的特徵進行filter后再進入啟動函數(σ)。將X'與空間注意力后的特徵相乘,得到最后的特徵X''。
SPATT(X') = σ(filter[avgpool(X'),maxpool(X')])
X'' = X' * SPATT(X')
詳細的介紹可以看CBMA論文。
最后將無使用CBMA與有使用CBMA的云分辨率的估計結果比較如下:
云分辨率的數值介于0至1之間,而表格中的數值是深度學習估計云分辨率與衛星云分辨率之均方根誤差,可以看到有注意力機制能提升20%左右的表現。