楊 莉,萬旺根
(1.上海大學(xué) 通信與信息工程學(xué)院,上海 200444;2.上海大學(xué) 智慧城市研究院,上海 200444)
2019 年末,新型冠狀病毒肺炎(COVID-19)由局部爆發(fā)逐漸演變?yōu)槭澜缧源罅餍校刂沟?020 年12 月23 日,COVID-19 已經(jīng)造成全球超過7 800 萬人感染,累計超過170 萬人死亡。對確診病例數(shù)的準(zhǔn)確預(yù)測能夠幫助決策者進(jìn)行疫情預(yù)防控制措施和長/短期救治方案措施的制定[1-2],這種措施的制定對于疫情的有效控制具有重要意義。
研究人員提出了大量數(shù)學(xué)模型對COVID-19 的擴(kuò)散和傳播趨勢進(jìn)行建模和預(yù)測。目前主流的傳染病模型主要可以分為3 類:第1 類是經(jīng)典傳染病傳播模型,如SIR(易感者-患病者-康復(fù)者)[3-4]、SEIR(易感者-暴露者-患病者-康復(fù)者)[5-6]等;第2 類是基于深度學(xué)習(xí)的傳染病傳播模型;第3 類是其他模型,使用最廣泛的是復(fù)合群體模型[7-8]。經(jīng)典傳染病模型在復(fù)雜多變的情況下(如政策和外部條件變化)需要手工分段設(shè)計以及參數(shù)估算,缺乏靈活性且效果不佳。復(fù)合群體模型對人群之間的遷移數(shù)據(jù)要求非常高,任何原始數(shù)據(jù)的缺陷都會導(dǎo)致模型預(yù)測誤差變大,難以在大樣本的場景下進(jìn)行建模。因此,在復(fù)雜多變的環(huán)境下,基于深度學(xué)習(xí)的傳染病傳播模型逐漸成為研究熱點。然而,目前在COVID-19 研究方面存在數(shù)據(jù)量嚴(yán)重不足的問題,現(xiàn)有的監(jiān)督學(xué)習(xí)方法不能很好地適應(yīng)低數(shù)據(jù)量的場景,模型預(yù)測精度較低。
冠狀病毒在生物學(xué)特征上具有很大的相似性,有極為相似的病癥表現(xiàn)、傳染途徑以及發(fā)展趨勢,將這一特性作為建模因素,能夠使預(yù)測模型提前學(xué)習(xí)到病毒相關(guān)特征信息,有效輔助確診病例趨勢預(yù)測。本文構(gòu)造基于預(yù)訓(xùn)練-微調(diào)策略的COVID-19 預(yù)測模型P-GRU。在已有數(shù)據(jù)集上采用預(yù)訓(xùn)練策略,使模型提前接觸到更多的疫情數(shù)據(jù),從而獲得更充分的先驗知識。同時,將本地人為限制政策對疫情趨勢的影響考慮到模型中,在目標(biāo)地區(qū)數(shù)據(jù)集中實現(xiàn)精準(zhǔn)預(yù)測。
在COVID-19 傳播預(yù)測方面,經(jīng)典傳染病傳播模型通過數(shù)學(xué)建模來預(yù)測COVID-19 傳播的趨勢,如SIR 傳染病模型、改進(jìn)的SEIR 模型等。雖然SIR模型及其變體可以略微捕捉到COVID-19 的傳播流行規(guī)律,但在實踐中仍然存在一定的問題。SIR 模型及其變體模型[9]在復(fù)雜多變的實際情況下缺乏靈活性,不能結(jié)合實際環(huán)境情況因素,如醫(yī)院的收治能力、不同患者的傳染率等,對于政策和外部情況的變化,模型需要手工分段設(shè)計和參數(shù)估算[10],并沒有考慮很多外部因素對模型參數(shù)的影響,因此在預(yù)測結(jié)果上易出現(xiàn)較大偏差。復(fù)合群體模型考慮了人群的流動性對傳染病傳播的影響,適用于研究不同地區(qū)之間的病毒傳播情況,如傅家旗等提出的P-SI 模型[7]結(jié)合人口流動變化對COVID-19 傳播過程進(jìn)行預(yù)測。雖然復(fù)合群體模型在一些場景下有著不錯的效果,但是一般而言,復(fù)合群體模型對不同群體的遷移數(shù)據(jù)要求非常高,原始數(shù)據(jù)的細(xì)微缺陷都會導(dǎo)致模型預(yù)測產(chǎn)生很大誤差。目前該研究更多局限在小樣本的情況下,且未考慮潛伏期的影響,對于大樣本等實際疫情復(fù)雜的情況,建模難度較大。
基于深度學(xué)習(xí)的預(yù)測模型通過多層非線性結(jié)構(gòu)學(xué)習(xí)低維特征,形成更抽象的高維表示,具有強(qiáng)表達(dá)能力。CHIMMULA 等使用長短期記憶(Long and Short Term Memory,LSTM)網(wǎng)絡(luò)預(yù)測加拿大疫情的結(jié)束日期[11],模型的短期精度為93.4%,長期精度為92.67%。ARORA 等使用LSTM 及其變體對印度的陽性病例數(shù)進(jìn)行預(yù)測[12],該方法的日預(yù)報誤差小于3%,周預(yù)報誤差小于8%。雖然采用LSTM 能夠較好地預(yù)測確診人數(shù)的整體趨勢,但LSTM 對某一參數(shù)的變化不敏感,如對于國家政策實施而導(dǎo)致某段時間內(nèi)確診人數(shù)激增的情況難以進(jìn)行有效預(yù)測。此外,HUANG 等提出用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)來分析和預(yù)測確診病例的數(shù)量[13]。然而,上述深度學(xué)習(xí)方法均沒有考慮到復(fù)雜多變的因素對疫情的影響。YANG 等考慮到部分外界因素對疫情的影響,結(jié)合社會經(jīng)濟(jì)特征,基于門控循環(huán)單元(Gated Recurrent Unit,GRU)研究美國的流行病數(shù)據(jù)和疫情時間序列,進(jìn)而對未來疫情傳播趨勢進(jìn)行預(yù)測[14]。但監(jiān)督學(xué)習(xí)對數(shù)據(jù)量的要求較高,數(shù)據(jù)量不足會導(dǎo)致模型預(yù)測效果不佳。
預(yù)訓(xùn)練模型是業(yè)內(nèi)為解決目標(biāo)問題而構(gòu)建的已訓(xùn)練好的模型。通過使用在其他問題上訓(xùn)練過的模型參數(shù)作為當(dāng)前任務(wù)模型參數(shù)的起點,能夠避免重新建立模型。在深度學(xué)習(xí)成為人工智能領(lǐng)域的主流方法后,預(yù)訓(xùn)練模型被成功應(yīng)用于各類計算機(jī)領(lǐng)域任務(wù),如圖像分類、物體檢測等[15]。在自然語言處理領(lǐng)域,近幾年預(yù)訓(xùn)練模型發(fā)展迅速,在大部分自然語言處理子任務(wù)中均取得了較高水準(zhǔn),包括序列標(biāo)注、分類任務(wù)、句子關(guān)系判斷以及生成式任務(wù)[16]等。其中,預(yù)訓(xùn)練-微調(diào)策略具有很強(qiáng)的可擴(kuò)展性,在支持一個新任務(wù)時,只需要利用該任務(wù)的少量標(biāo)注數(shù)據(jù)進(jìn)行微調(diào)即可有效完成當(dāng)前任務(wù)。
在COVID-19 數(shù)據(jù)集中,當(dāng)前任務(wù)數(shù)據(jù)量不足會導(dǎo)致預(yù)測模型效果不佳,而不同地區(qū)的數(shù)據(jù)特征較為相似,因此,本文考慮采用預(yù)訓(xùn)練-微調(diào)策略解決數(shù)據(jù)量不足這一問題。
本文構(gòu)建基于預(yù)訓(xùn)練-微調(diào)策略的COVID-19 預(yù)測模型P-GRU。通過預(yù)訓(xùn)練策略,在一定程度上解決數(shù)據(jù)量不足導(dǎo)致預(yù)測模型精度降低的問題,并為預(yù)測模型提供更豐富的初始化參數(shù),從而使模型提前學(xué)習(xí)到COVID-19 的病毒本質(zhì)規(guī)律,在新的數(shù)據(jù)集上進(jìn)行微調(diào)后,針對確診病例發(fā)展趨勢具有較高的預(yù)測精度。
預(yù)訓(xùn)練-微調(diào)策略表示為:
其中:pretrain 作為一個函數(shù),表示預(yù)訓(xùn)練策略;fine_tuning 也是一個函數(shù),表示微調(diào)過程。在源地區(qū)數(shù)據(jù)集A 上經(jīng)過預(yù)訓(xùn)練得到Modelpretrain,Modelpretrain在目標(biāo)地區(qū)數(shù)據(jù)集B 上進(jìn)行微調(diào),得到最終模型Modelfinal,利用Modelfinal即可對目標(biāo)地區(qū)的確診病例數(shù)進(jìn)行預(yù)測。
在預(yù)訓(xùn)練過程中,本文模型也考慮了本地人為限制政策對疫情趨勢的影響。經(jīng)過預(yù)訓(xùn)練后,保存訓(xùn)練好的預(yù)訓(xùn)練模型。利用在源地區(qū)中提前學(xué)習(xí)到的COVID-19 病毒本質(zhì)規(guī)律,為后續(xù)的趨勢預(yù)測提供一個更好的初始化參數(shù),將訓(xùn)練好的模型和目標(biāo)地區(qū)的疫情數(shù)據(jù)輸入到GRU 預(yù)測模型中,并在目標(biāo)地區(qū)中經(jīng)過微調(diào)后得到最終模型,利用此模型進(jìn)行預(yù)測即得到在目標(biāo)地區(qū)中的確診病例預(yù)測結(jié)果。預(yù)訓(xùn)練策略示意圖如圖1 所示。
圖1 預(yù)訓(xùn)練-微調(diào)策略示意圖Fig.1 Schematic diagram of pre-training and fine-tuning strategy
通常利用回歸學(xué)習(xí)任務(wù)來解決預(yù)測問題,本文的預(yù)測模型包含一個用于趨勢預(yù)測的GRU 網(wǎng)絡(luò)。GRU 網(wǎng)絡(luò)通過適當(dāng)?shù)睾喜v史信息來處理序列數(shù)據(jù),并且能夠有效地簡化結(jié)構(gòu),相比于LSTM 網(wǎng)絡(luò)更加高效。本文預(yù)測模型架構(gòu)如圖2所示,主要由嵌入模塊、遞歸模塊和輸出模塊實現(xiàn)。
圖2 P-GRU 預(yù)測模型架構(gòu)Fig.2 Framework of prediction model P-GRU
預(yù)測模型有兩類輸入:一類是影響因素,另一類是流行病時間序列數(shù)據(jù),如確診病例數(shù)。影響因素通過嵌入模塊作為GRU 的隱藏狀態(tài)的初始狀態(tài),流行病時間序列數(shù)據(jù)通過GRU 的輸入端輸入模型,模型在時間序列上實現(xiàn)一個滑動窗口,使用帶有最近歷史信息的固定長度(L)序列來預(yù)測每個后續(xù)時間點。同時,為了使模型中的預(yù)測任務(wù)具備更好的合理性及可解釋性,滑動窗口固定長度的設(shè)定與COVID-19的潛伏期相關(guān)。輸出模塊則輸出預(yù)測值。另一個具有時變特征的輸入特征是本地限制政策[17]。由于本地限制政策的限制,在不同因素下,疫情的演變是不同的,因此本文在模型中加入本地限制政策的影響因素,如果在滑動窗口的長度L內(nèi)有人為政策的限制,那么在隱式特征中加入本地限制政策的特征位,以一種隱式的方式考慮本地限制政策對疫情演變的影響。上述過程可由式(3)~式(6)表示:
在式(3)中,Embedding 表示嵌入模塊的實現(xiàn),hid0表示遞歸模塊的初始狀態(tài);在式(4)中,GRU 表示遞歸模塊GRU 神經(jīng)網(wǎng)絡(luò)的實現(xiàn);式(5)表示將靜態(tài)特征與本地限制政策的動態(tài)特征進(jìn)行連接;在式(6)中,y't+1表示模型輸出的預(yù)測值,Wpredict表示最后一層輸出全連接層權(quán)重。
3.1.1 數(shù)據(jù)集
本文實驗使用谷歌云平臺數(shù)據(jù)集,包含與COVID-19 相關(guān)的每日時間序列數(shù)據(jù),遍布全球20 000 個不同位置。實驗采用的數(shù)據(jù)周期為2020 年1 月1 日—2020 年11 月26 日。實驗中選取了印度和美國兩個地區(qū)的數(shù)據(jù),在印度地區(qū)數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練,在美國地區(qū)數(shù)據(jù)集上進(jìn)行微調(diào)。作為輸入的特征數(shù)據(jù)影響因素[18-20]包括靜態(tài)特征數(shù)據(jù)和動態(tài)特征數(shù)據(jù)影響因素。靜態(tài)特征數(shù)據(jù)影響因素包括當(dāng)?shù)厝司鵊DP、人口統(tǒng)計數(shù)據(jù)、當(dāng)?shù)厝说钠骄鶋勖?,動態(tài)特征數(shù)據(jù)影響因素包括COVID-19 病例數(shù)據(jù)(每日感染病例、累計感染病例、死亡數(shù)據(jù))、政府干預(yù)政策數(shù)據(jù)等。同時,還有很多其他與疫情傳播有關(guān)的因素[21]。
3.1.2 評價指標(biāo)
模型預(yù)測性能評價指標(biāo)使用平均絕對百分比誤差(Mean Absolute Percentage Error,MAPE)和均方根誤差(Root Mean Square Error,RMSE)。MAPE 將精確度量化為一個比率,并可以確定為每個時間幀比率的絕對誤差百分比,即實際值減去預(yù)測值除以實際值;RMSE 則能夠衡量觀測值與真實值之間的偏差。MAPE 和RMSE 的計算公式分別如式(7)和式(8)所示:
3.1.3 對比模型
通過與當(dāng)前主流模型進(jìn)行比較,以客觀充分地驗證本文模型的有效性。實驗選擇CNN 模型、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)模型、LSTM 網(wǎng)絡(luò)模型、GRU 模型和無預(yù)訓(xùn)練策略的P-GRU 模型(No-pretrain-P-GRU)作為對比模型。
1)CNN 模型使用權(quán)重共享的概念,其訓(xùn)練較為容易,且重要特征更能被有效提?。?2]。1D CNN 可以用于時間序列分析,也可以用于分析具有固定長度周期的數(shù)據(jù)。當(dāng)希望從整體數(shù)據(jù)集較短的片段中獲得重要特征,且該特征在數(shù)據(jù)片段中的位置不具有高度相關(guān)性時,1D CNN 是非常有效的。
2)RNN 模型包含跨時間分布的隱藏狀態(tài),這使其能夠處理可變長度的連續(xù)數(shù)據(jù)[23],因此在預(yù)測應(yīng)用中最為常見,但RNN 的主要缺點是不能解決梯度消失或者梯度爆炸的問題,而且由于只涉及前一時間步[23]的隱藏激活功能,因此只能存儲短期記憶。
3)對于預(yù)測任務(wù),LSTM 被認(rèn)為是最可行的解決方法之一,其可根據(jù)數(shù)據(jù)集中存在的各種突出特征來預(yù)測未來趨勢變化。LSTM 是一種特殊的RNN,主要解決了長序列訓(xùn)練過程中的梯度消失和梯度爆炸的問題[24]。LSTM 模型能夠?qū)⑦^去的隱藏狀態(tài)傳遞到后續(xù)階段中,相比于普通的RNN 模型,能夠在長序列中獲得更好的效果。
4)GRU 是循環(huán)神經(jīng)網(wǎng)絡(luò)中的一種,和LSTM 一樣,也是為了解決長期記憶和反向傳播中的梯度問題而提出的,LSTM 和GRU 都是通過各種門函數(shù)來將重要特征保留下來,這樣就保證了信息在長期傳播時也不會丟失[25]。而且,GRU 相對于LSTM 少了一個門函數(shù),GRU 只剩下兩個門,即更新門和重置門[26-27],重置門決定了如何將新的輸入信息與前面的記憶相結(jié)合,更新門定義了前面記憶保存到當(dāng)前時間步的量。因此,GRU 的參數(shù)量少于LSTM,整體上GRU 訓(xùn)練速度快于LSTM。
3.1.4 參數(shù)設(shè)置
在印度數(shù)據(jù)集上預(yù)訓(xùn)練時:嵌入模塊將4 維特定的靜態(tài)特征稀疏編碼為100 維度的向量;遞歸模塊是使用單層的具有100 維隱藏狀態(tài)的GRU 層,其采用嵌入層的嵌入結(jié)果作為第一個初始狀態(tài),將長度為7 的滑動窗口狀態(tài)下的總確診病例數(shù)以及每天的本地限制政策作為輸入,若7 d 內(nèi)有限制政策,則在隱式特征中加入標(biāo)志位1,若在7 d 內(nèi)沒有本地限制政策,則在隱式特征中加入標(biāo)志位0;輸出層采用全連接層進(jìn)行預(yù)測,通過最近7 d 攜帶的歷史信息來預(yù)測后續(xù)時間點的病例數(shù)。實驗使用Adam 優(yōu)化器以1e-4 學(xué)習(xí)率訓(xùn)練模型,損失函數(shù)采用RMSE。
在美國地區(qū)數(shù)據(jù)集[28]上進(jìn)行微調(diào)時,與印度數(shù)據(jù)集上預(yù)訓(xùn)練部分基本一致,但是遞歸模塊初始狀態(tài)的輸入除了嵌入層的嵌入結(jié)果,還將印度數(shù)據(jù)集上的預(yù)訓(xùn)練模型結(jié)果也作為模型的一部分初始狀態(tài)。
分別利用CNN、RNN、LSTM、GRU、No-pretrain-P-GRU 以及P-GRU 這6 個模型對美國數(shù)據(jù)集進(jìn)行預(yù)測,并分別比較RMSE 以及MAPE。確診病例數(shù)歸一化后的模型RMSE 以及MAPE 結(jié)果如表1 所示??梢钥闯?,在所有模型中,本文模型的RMSE 和MAPE 最小,由此表明其相比于其他模型更適合用于預(yù)測COVID-19 傳播趨勢。
表1 不同模型的預(yù)測性能對比Table 1 Comparison of prediction performance between different models
本文提出一種結(jié)合預(yù)訓(xùn)練-微調(diào)策略的COVID-19預(yù)測模型P-GRU,并在美國地區(qū)數(shù)據(jù)集上與CNN、RNN 等模型進(jìn)行均方根誤差和平均絕對百分比的性能對比。實驗結(jié)果表明,本文模型基于監(jiān)督學(xué)習(xí),能在一定程度上解決數(shù)據(jù)量少而導(dǎo)致的模型精度不足問題,有助于提高確診病例趨勢預(yù)測性能。對于變異新冠病毒的傳播,也可采用本文提出的預(yù)訓(xùn)練-微調(diào)策略對疫情傳播趨勢進(jìn)行預(yù)測。下一步將深入分析外生因素對COVID-19 傳播的影響,并將其他與疫情傳播相關(guān)的因素作為特征加入模型,如口罩的流行率、人們的防護(hù)意識等,進(jìn)一步提升模型對于新冠肺炎的預(yù)測精度。