李 棟,張 蕾*,郭茂祖,劉銀龍
(1.北京建筑大學 電氣與信息工程學院,北京 100044;2.中國科學院 信息工程研究所,北京 100093)
城市化的快速發展成為影響城市環境的潛在威脅,城市環境污染的災害同樣嚴重影響著人類社會的生產生活[1]。2013年,“霧霾”成為年度關鍵詞,據統計顯示,中國城市中僅有1%達到世界衛生組織推薦的空氣質量標準。與此同時,世界上污染最嚴重的10個城市有7個在中國。霧霾主要由二氧化硫、氮氧化物和可吸入顆粒物(particulate matter,PM)組成。北京監測的顆粒物主要是細顆粒物(即PM2.5),這種顆粒物本身既是污染物,又是重金屬、多環芳烴等有毒物質的載體,影響著人類的健康[2]。如何防范空氣污染已被寫入國家戰略,在治污防污的同時,利用人工智能預測空氣質量顯得愈發重要。根據預測結果,政府可以建議對重污染企業的停開工,個人可以選擇是否增減戶外活動等。
受多種因素的影響,如何精確地預測空氣質量極具挑戰性。首先,為了監測空氣質量數據,需要建立空氣質量監測站,然而監測站會占用大量的空間位置,并消耗大量的資金成本和勞動力成本[3];其次,空氣質量不僅受到自然因素的影響,還受到人類活動的影響。針對前者,將監測站捕獲的空氣質量數據轉換為(稀疏)矩陣,利用數據填充和去噪進行數據預處理;針對后者,考慮到交通、生產生活等和天氣現象產生的復雜映射關系,在空間方面,不同的城市功能區,空氣質量是不相同的,有各自的變化規律和周期;在時間序列上,空氣質量顯示出明顯的周期性和趨勢性。
空氣質量具有時空關聯關系:(1)在單個位置具有時間依賴性,即如果過去一小時內的AQI是好的,那么此刻的AQI往往也是好的;(2)不同位置之間具有空間依賴性,即如果某位置周圍的空氣質量存在污染,那么此位置點的空氣質量往往也受到極大影響。
為了應對上述挑戰,提出時空卷積殘差網絡ST-ResNet。首先,利用卷積神經網絡(convolution neural network,CNN)捕獲空氣質量在空間分布上的相關性和邊緣效應;然后,通過加深網絡層數的深度學習方法捕捉城市空氣質量與人類活動空間之間的復雜映射關系;最后,引入殘差學習,優化網絡結構,提高網絡性能[4]。
早在2008年,Huang等人[5]提出將時間效應納入地理加權回歸模型(geographically weighted regression,GWR),即地理和時間加權回歸(geographically and temporally weighted regression,GTWR),以此捕捉空間和時間的異質性,并將其應用于加拿大加里市住宅銷售的研究案例,結果表明同時模擬空間和時間平穩性有很大好處。2018年,Huang的團隊[6]將GTWR模型應用于建立氣溶膠光學厚度(aerosol optical depth,AOD)和地表PM2.5之間定量關聯(PM2.5-AOD)模型,結果表明,GTWR在沒有PM2.5-AOD配對樣本時可以準確預測PM2.5和生成歷史PM2.5估計值的能力。
2014年,Zheng的團隊[7]首次系統地闡述了城市計算的概念、方法和應用,指出空氣質量是城市環境計算的重要分支,空氣質量數據具有很強的時空屬性。之后Zheng的團隊[8]設計了一種半監督推理模型,利用現有的、稀疏的監測位置的歷史空氣質量數據和異質的城市動力學,推斷出任意位置的實時空氣質量,提供關于如何建立新的空氣質量監測點的規劃決策。
隨著城市計算的興起和對時空數據的多樣化處理,越來越多的時空結合機器學習的算法被提出,用于解決各類城市問題。Yao等人[9]提出的時空動態網絡(STDN)用于預測對出租車的需求,算法基于CNN捕捉局部空間的相互作用,通過長短期記憶網絡(long short-term memory,LSTM)捕捉短期的時間依賴性,添加注意力處理動態空間相似性和時間周期相似性;Guo等人[10]考慮交通流的時空相關性,提出一種新的基于注意力的時空圖像卷積網絡,利用三個組件分別考慮三個屬性,即最臨近的、每日周期和每周周期,將三個組件的輸出加權融合以獲得最終預測結果;Zhang等人[11]為解決人流量預測問題提出時空殘差網絡(spatio-temporal residual networks,ST-ResNet),該網絡設計三個殘差卷積支網,分別考慮人流量的時間接近度、周期和趨勢性,將三個分支輸出動態聚合分配權重,再與特殊事件(如天氣、節日等)全連接后,輸出預測結果。
在這些城市計算的方法中,CNN被廣泛用于捕捉空間相似性,這是因為CNN在提取像素之間的高維度特征方面具有良好的性能。余威等人[12]提出利用CNN處理城市中建筑物的遙感影像,設計了兩種端到端全卷積神經網絡的分割方法以提高遙感影像中對建筑物分割的精度。賈翻連等人[13]針對視頻圖像中的人群密度估計,修改CNN網絡結構,引入離散小波變換替換CNN中的子采樣層,并使網絡中權重矩陣自適應重新分配以改善震蕩現象。
在城市計算范疇之外,很多學者開始追尋多源數據中潛在的時空屬性并建立和學習新的映射關系。吳云乘等人[14]提出基于位置的服務已成為人們軌跡隱私中的重要環節,考慮到地理空間的限制和時間序列上位置的相關性,提出一種差分隱私位置發布機制DPLRM以提高位置或軌跡隱私保護的準確性和有效性。范曉杰等人[15]提出一種新的人體動作識別框架,該框架考慮局部時空特征行為,提取其中高效特征點,提高人體動作識別的效果。
考慮到城市空氣質量的特性,文中采用時空卷積殘差網絡模型進行計算,如圖1所示。由三個深度殘差卷積子網分別擬合城市空氣質量周期性、趨勢性和時間接近度。首先,將城市空間劃分成網格形式,為每個網格填充AQI,這里的AQI是指將常規監測的幾種空氣污染物濃度簡化為單一的概念性指數值形式;然而,由于監測站點的稀疏導致AQI網格成為稀疏矩陣,根據空間相關性,進行矩陣插值,生成完整的空氣質量矩陣,并將其作為CNN的輸入;然后,將三個子網的輸出加權,充分考慮到要預測的AQI處于的周期位置和趨勢位置;最后擬合最臨近時間的AQI,三者有機結合得到最終預測結果。

圖1 時空卷積殘差網絡結構
空間轉換的目的是將現實世界的物理空間轉換為思維世界的抽象空間。文中將北京市及周邊圈成一個矩形,按照經緯度將其劃分為32×32的網格,每個網格中所賦予的像素值為其位置的AQI數據,位于北京市地區之外的網格賦值為零。最后,將北京市的空氣質量轉換為AQI像素矩陣。
由前文所述,該AQI像素矩陣為稀疏矩陣,無法體現空氣質量分布在空間上的相似性。為了解決這些問題,考慮到由于污染物的分散,某一地理位置的空氣質量不僅取決于其監測點的數據,還受臨近區域的影響,因此,采用經典的空間插值法——逆距離加權插值法(inverse distance weighted interpolation,IDW)[16],利用已知網格的AQI值對未知網格的AQI值進行插值:
(1)

子網結構的主體是CNN,CNN作為深度學習的代表算法,具有優秀的表征學習能力,即可從輸入信息中提取高階特征。傳統深度CNN大多被用于圖像識別,伴隨著城市計算的興起及對時空數據的認知,越來越多的學者開始運用CNN處理時空數據的空間相似性。
文中關注城市空氣質量,含住宅區、工廠區、森林區等,不同區域的空氣質量受人類活動、交通狀況等影響,CNN可以進行有效處理,利用深層CNN捕捉更遠空間中空氣質量的相互影響和人類活動對空氣質量影響的映射關系,顯示出CNN對空間結構分層捕獲的強大能力。將上一節處理后的AQI像素矩陣作為卷積的輸入,設置卷積核的大小為3×3,所以低層3×3大小的網格中的九個點通過卷積生成高層特征圖的一個特征點,這意味著深層即足夠多的卷積就可以捕捉整個城市范圍的空間依賴性。
增加卷積網絡的深度可以提升模型的預測性能,但當深度達到某一峰值會產生梯度消失或梯度爆炸的問題。針對這一現象,文中使用恒等映射殘差網絡(ResNet V2)優化網絡結構[17]。ResNet V2的結構如圖2所示,輸入通過捷徑連接(shortcut connections)到輸出,形成全等映射層,此時網絡需要學習的是期望X到Y的映射關系F(x)與輸入x的差值H(x),稱為殘差。

圖2 殘差單元結構
訓練H(x)比訓練F(x)更加簡單,且輸入的全連接保證了隨網絡層數的加深,原始輸入信息的完整性;輸出Y(L)與下一層輸入X(L+1)的映射關系依然為全等映射,即Y(L)=X(L+1),殘差結構表示如下:
xl+1=xl+F(xl,Wl)
(2)
將式(2)進行歸一化:
xl+1=xl+F(BN(xl)+Wl)
(3)
通過遞歸可以得到任意深層單元L的特征式:
(4)
圖3(a)為城市空氣質量某星期的變化趨勢,x軸是時間軸,單位是星期,y軸是每天AQI的平均值,可以看出,每周的AQI都具有一定的變化趨勢,但不同周對應的曲線不同,說明在不同的時間域中AQI的變化趨勢不同。圖3(b)顯示出空氣質量的變化具有一定的周期性,x軸為每年的月份,y軸為每月的AQI平均值,可以看出春季(5月)與冬季(1月)的峰值高于夏季、秋季的峰值。圖3(c)描述了一天內的各個時間點AQI的變化,圖中曲線比較柔和,說明AQI值不是瞬間劇烈變化,顯示出AQI變化的時間接近度屬性。

圖3 AQI變化曲線
綜上所述,在時間序列上,AQI的變化受周期、趨勢和時間接近度的影響,但影響的權重不同,因此,分別對三個屬性分配不同的權重進行連接:
(5)

(6)
通過訓練網絡,優化預測矩陣與實際矩陣之間的均方誤差作為損失函數:

(7)
其中,θ為可學習參數。
ST-ResNet算法的訓練過程和預測過程如下:
算法1:ST-ResNet模型的訓練。
輸入:歷史數據;接近度、周期性、趨勢性的序列長度:lc,lp,lq;間隔周期:p;趨勢跨度:q
輸出:ST-ResNet模型M
1D←?
2 for 所有時間間隔t(1≤t≤n-1)do:
3 生成接近度三維數組:
生成周期性三維數組:
Sp=[Xt-lp·p,Xt-(lp-1)·p,…,Xt-p]
生成趨勢性三維數組:
Sq=[Xt-lq·q,Xt-(lq-1)·q,…,Xt-q]
4 put({Sc,Sc,Sq},Xt)intoD
5 初始化可學習參數θ
6 repeat 7~8:
7 從全部樣本D中隨機抽取小批次樣本Db
8 優化目標函數,在小批次樣本Db中找到最優參數θ
9 until 迭代達到閾值,得到最優參數θ
10 output 完成訓練的ST-ResNet模型
算法2:ST-ResNet模型的預測。
輸入:完成訓練ST-ResNet模型M;歷史數據;接近度、周期性、趨勢性的序列長度:lc,lp,lq;間隔周期:p;趨勢跨度:q;被預測跨度:k
輸出:預測的AQI矩陣
1 for時刻n~n+k-1 do:
2 生成接近度三維數組:
Sc=[Xt-lc,Xt-(lc-1),…,Xt-1]
生成周期性三維數組:
Sp=[Xt-lp·p,Xt-(lp-1)·p,…,Xt-p]
生成趨勢性三維數組:
Sq=[Xt-lq·q,Xt-(lq-1)·q,…,Xt-q]

本節以北京市2017-2018年空氣質量數據為基礎,進行時空卷積殘差網絡模型的訓練和測試,并與經典的LSTM模型[18]進行比較和評估。
實驗數據包括2017-2018年北京市各類空氣質量數據及日均AQI。監測時間間隔為1次/時,每天24次,包含東四、天壇、奧體中心、豐臺花園、云崗、房山、大興、亦莊、通州、順義、昌平、門頭溝、平谷、懷柔、密云、延慶等監測站點捕獲的數據。基于IDW算法對實際監測數據進行插值填充,得出北京市AQI像素圖,作為ST-ResNet模型的數據輸入。實驗基于TensorFlow框架進行程序設計。
(1)預處理。
如圖1所示,在首層卷積Conv1中設置卷積核為3×3大小的64層濾波,輸出結果規格為32×32;每個殘差單元(ResUnit 1…ResUnitL)由兩個卷積核構成,每個殘差單元的輸出均為32×32的矩陣;在末層卷積Conv2中設置卷積核為3×3大小的單層濾波,輸出的規格為32×32。所有卷積的運算操作均采用零填充卷積,即允許對核的寬度和輸出的大小進行獨立的控制?;贏dam[19]進行優化,每批32個輸入單位。
(2)網絡訓練。
在捕捉趨勢性、捕捉周期性和捕捉時間相似度的三個組件中(如圖1所示),輸入序列長度分別為lc,lp,lq,將序列長度均設置為3,即lc=3,lp=3,lq=3。
在一組對應的映射關系中,每隔一周取一個時刻的數據,連取三周的數據組成三個通道,形成32×32×3的數據維度,作為捕捉周期性組件中每批次個體的輸入數據;每隔一天取一個時刻的數據,連取三天組成捕捉趨勢性組件的32×32×3維度的輸入;取距離預測目標最臨近的三個時刻的數據組成32×32×3維度的數據作為捕捉時間相似的組件的輸入。在訓練輸入小批次的規格(batch size)為32的情況下,訓練模型的輸入數據規模為32×32×32×3。
采用均方根誤差(RMSE)作為評價標準:
(8)
其中,y(i)表示AQI真實數據,h(x(i))表示經過網絡預測得到的AQI數據;m為矩陣中有效的網格數,即32×32的矩陣地圖中不包含零值的網格部分。選取經典的LSTM模型進行性能對比,分別構建3層、6層、12層、24層、48層的LSTM。
通過歷史AQI數據,預測未來一年的AQI,分別將LSTM與ST-ResNet進行比較,獲得的RMSE結果如表1所示。

表1 LSTM與ST-ResNet模型對比結果
由實驗結果得出,LSTM模型在深度為3~48時,誤差在26%~27%之間,而ST-ResNet模型的誤差在20%左右,比LSTM的準確率提升了7%左右。
此外,改變ST-ResNet自身結構,采用控制變量法,分別改變卷積核大小和卷積核數目進行對比,獲得的RMSE結果如表2所示。

表2 改變卷積核大小和卷積核數目對比實驗結果
由表2可以看出卷積核大小與誤差率的關系:隨著卷積核的增大,誤差率下降,3×3大小的卷積核與4×4大小的卷積核之間準確率相差不大,5×5大小的卷積核誤差率最小。然而卷積核擴大到5×5,會增加額外的計算量和運算時間,增加超參數個數,也就增加了網絡優化的難度,所以5×5大小的卷積核收益不大,多采用3×3大小的卷積核。同理,表2也展示出卷積核數量與誤差率的關系。
圖4顯示出改變深度后ST-ResNet模型的誤差率,ST-ResNet模型的誤差率隨著網絡深度的增加而降低,但是當深度到達一定程度后會出現拐點現象,誤差率驟然上升,經過分析得出:(1)隨著深度增加,訓練的難度增加;(2)當深度到達一定程度會出現梯度消失或梯度爆炸。

圖4 網絡深度-誤差走勢
面向城市計算,提出基于卷積殘差網絡的時空數據學習方法,以此解決城市環境污染、空氣質量預測等問題。考慮到空間屬性和時間屬性,用殘差網絡優化傳統CNN結構,采用Adam算法加速網絡訓練效率。相比經典的LSTM算法,所提模型在處理時空數據時,既考慮到時間與空間的耦合,又與高維度上復雜的映射關系相結合,將具有時空屬性的監測數據進行充分挖掘,有利于城市環境監測預測和精細化管理。在未來工作中,將加強深度學習模型對多源異構時空數據的分析和處理,將時空關聯特性進行更好的解釋和評價。另外,還將考慮多方因素,如人流量等外部事件對空氣質量的影響,在深度網絡結構中加入圖神經網絡,試圖解釋語義空間的內容,以便對城市空氣質量預測的理想化趨于現實化。