張 鑫 沈子鈺 李 云
時序數據在生活中無處不在.人類活動和自然時時刻刻都在產生各種時序數據,如金融記錄、能耗負載、生物信號等.現實生活中的數據挖掘任務中常常遇到時序分類問題(time series classification,TSC).例如,在食品安全、醫療診斷、云控制系統等很多領域都涉及時序分類問題[1].隨著計算機算力的提升和數據量的增長,深度學習在很多領域逐漸取代了傳統機器學習方法[2].越來越多的研究使用深度模型來解決時序分類問題,并取得了很好的效果[3-5].深度學習在給時序分類任務帶來新機遇的同時也帶來了新的挑戰,深度學習應用的安全性問題逐漸引起了研究者的關注[6-9].
2013 年,SZEDEGY 等首次提出了對抗攻擊的概念[10].他們通過在原始樣本上添加一個微小的擾動,使基于深度神經網絡(deep neural network,DNN)的圖片識別系統輸出錯誤的分類.他們將這種構造的輸入稱為對抗樣本,將這個過程稱為對抗攻擊.隨著各種研究的深入,研究者們發現,各種基于深度學習的系統都極易受到對抗攻擊.2016 年,KURAKIN 等將手機攝像頭拍攝到的對抗樣本輸入Inception 分類器,展示對抗樣本在物理世界場景中的潛在威脅[11].在自然語言處理領域中,替換單個詞匯往往可以極大地改變文檔的語義,2018 年,ALZANTOT 等通過少量詞匯的變動攻擊了情感分析和文本蘊含模型,其成功率分別為97%和70%[12].2019 年,FAWAZ H I 等在不同的深度時序模型上驗證了快速梯度符號方法(fast gradient sign method,FGSM)等對抗攻擊方法對時序分類任務同樣有效[13].鑒于深度學習模型在時序分類問題上的廣泛應用,越來越多的研究者開始關注深度時序模型的對抗攻擊.
隨著物聯網的發展,傳感器可以獲取到越來越多的時序數據[14].云控制系統(cloud control systems,CCSs)結合了網絡化控制系統和云計算技術的優點,在云端利用深度學習等智能算法,結合網絡化預測控制、數據驅動控制等方法實現系統的自主智能控制[15].由于深度學習算法在云控制系統中的廣泛運用,因此,很有必要對其安全性問題進行研究.
在本文中,提出一個新的針對時序模型的對抗攻擊方法.在UCR 數據集上進行實驗,提出了一個衡量時序分類模型對抗攻擊方法的性能指標,比較了不同時序攻擊算法的性能,進一步驗證應用于時序領域的深度模型也極易受到對抗性攻擊,展示了云控制系統中深度學習模型存在的安全性問題.針對提出的時序對抗攻擊方法,還研究了其在不同攻擊強度下的性能表現,以及攻擊算法的可遷移性.
本文的主要貢獻包括3 個方面:
1)將適用于圖像領域的對抗攻擊算法稀疏一范數下降攻擊(sparse l1descent attack,SLIDE)遷移到時序分類任務上,針對時序數據的特點對SLIDE 進行改進,提出一種基于梯度的多范數約束對抗樣本生成方法稀疏多范數下降攻擊(sparse multi-lpdescent attack,SMLDA).該方法生成的對抗樣本相比SLIDE、FGSM 等更加難以分辨且擁有更好的綜合性能.
2)提出了一個衡量時序分類模型對抗攻擊方法的性能指標T-Score,該指標將評價時序分類模型對抗攻擊方法優劣的兩個方面,即攻擊成功率和對抗擾動大小都考慮進來,對對抗攻擊方法進行一個綜合性能的評估.
3)通過在與云控制系統相關的數據集上進行實驗,展現云控制系統中深度模型的脆弱性,暴露出云控制系統目前存在的安全性問題.
云控制系統中的傳感器采集到的數據常常與時間相關聯,就是通常所說的時序數據.云控制系統的“云端”使用深度學習對這些時序數據進行處理,其中最常見的就是用于時序分類任務的深度模型.研究時序模型的安全性對于云控制系統的安全性至關重要.
通俗地說,時間序列是按照時間排序的一組隨機變量,它通常是在相等間隔的時間段內,依照給定的采樣率對某種潛在過程進行觀測的結果[16].時間序列數據通常是一系列實值型數據,時間序列分類著重于解決實值時間序列的分類問題,例如識別異常的網絡流量和預測氣候數據中的極端事件.
介紹和時間序列分類相關的必要的定義,以便于理解.
定義1: 一個時間序列X=[x1,x2,…,xT]是一組有序實值的集合.T 為X 的長度.
定義2: 數據集D={[(X1,Y1),…,(XNYN)]}是由若干(XiYi)組成的有序集合.其中,Xi是一個時間序列,Yi是它對應的one-hot 標簽.
定義3: 時間序列分類任務旨在D 上訓練一個分類器,使其學習從可能的輸入空間映射到類別變量值(標簽)的概率分布.
深度學習是機器學習的一個分支,其主要目的是從數據中自動學習有效的特征表示.深度學習模型通過訓練不同的神經網絡,借助神經網絡內部層級之間的特征轉換,把原始數據抽象轉化為更高層次的特征表示.
自從深度學習在圖像識別和自然語言處理等領域取得巨大成功,研究者開始研究將這些模型應用于時間序列分類任務.
定義5: Jf(·,·)代表模型f 的損失函數.
對抗樣本指的是敵手設計導致深度學習模型產生錯誤的輸入.經過訓練的神經網絡模型f 可以將原始輸入樣本x 正確分類為標簽l,敵手對原始輸入樣本添加擾動η,使原始輸入樣本x 成為對抗樣本x',且擾動大小限制為ε,其中,
方程式必須滿足的條件為
圖1 展示了Trace 數據集上的一個對抗樣本.藍色曲線為原始樣本,紅色曲線為對抗樣本.深度模型將原始時間序列正確分類,但在添加一個微小的擾動后,深度模型對其作出了錯誤的分類.

圖1 Trace 數據集對抗攻擊示例Fig.1 An example of a adversarial attack of Trace dataset
1.3.1 FGSM
GOODFELLOW 等提出了FGSM 攻擊[17],是一種針對圖像的單步攻擊方法.該方法通過在損失函數梯度的符號方向上增加一個小的擾動來生成對抗性樣本.對抗樣本的生成公式如下:
其中,θ 為模型參數;ε 為擾動步長;x 為原始樣本,即模型輸入;y 為與x 對應的目標類;J(θ,x,y)為神經網絡的損失函數;x'為對抗樣本.將
稱為對抗擾動.根據對抗攻擊的定義,擾動被要求難以發現,故需要使用Lp范數對其大小加以限制.
1.3.2 PGD
投影梯度下降(project gradient descent,PGD)攻擊[18],是FGSM 的變體.PGD 算法首先在原圖附近允許的范圍內(球形噪聲區域)進行隨機初始化搜索,再進行多次迭代產生對抗樣本.對抗樣本的生成公式如下:
其中,xt表示第t 次迭代的結果;∏x+S表示如果擾動超過一定范圍,就要映射回規定的范圍S 內.
SLIDE 算法是針對PGD 算法的一個改進.PGD是一種最速梯度下降算法[19],在每次迭代中,擾動以梯度下降最速方向更新,導致l1版本的PGD 攻擊低效.SLIDE 設計了一個新的攻擊,對更新步的稀疏性進行了更精細的控制.圖2 展示了SLIDE 算法在Coffee數據集上的攻擊效果.可以看出,雖然該次攻擊使模型誤判,但是對抗樣本在某些點極大偏離原樣本,使得對抗樣本非常容易被識別,不滿足對抗樣本需不易被察覺這一要求.

圖2 Coffee 數據集上SLIDE 生成的一個對抗樣本Fig.2 An adversarial example generated by SLIDE in Coffee dataset
針對SLIDE 的不足,對其進行了改進,針對時間序列的特點,提出了SMLDA 算法.
SMLDA 是一個多范數約束對抗攻擊算法.與SLIDE 相比,SMLDA 增加了一個無窮范數約束,即‖η‖∞<ε/10,用來限制時序數據中每一個時間點偏離原始樣本的范圍.對比僅使用l1約束的SLIDE,采用多范數約束的SMLDA 可以避免出現對抗樣本在某些時間點極大偏離原始樣本的情況.SMLDA 算法流程如算法1 所示.將擾動η 初始化為0d.g 代表當前迭代時模型的損失函數的梯度值.對于給定的百分位數q∈[0,1],Pq(|g|)代表|g|的第q 個百分位數.如果|gi|≥Pq(|g|),令ei=sign(gi),否則ei=0,然后將e規范化為l1單位向量,根據步長γ 的大小將其添加到擾動η 上.使用文獻[20]中的算法將η 投影到l1球上,并限制‖η‖∞<ε/10.對比使用單一范數進行約束的FGSM,PGD,SLIDE 等方法,SMLDA 結合了不同范數約束的優點,具體分析參見3.4 節.使用T-score進行評估,SMLDA 表現更為優異的表現.
在以往的研究中,研究者往往只選擇對抗攻擊成功率作為衡量對抗攻擊算法性能的指標.雖然對抗攻擊成功率能在一定程度上反映算法的性能,但是對于圖2 中提到的對抗樣本在某些點極大偏離原始樣本的情況,只使用攻擊成功率這一指標,并不能很好地概括算法的性能.通過引入對抗樣本與原樣本間的動態時間規整(dynamic time warping,DTW)值這一指標,即對抗樣本與原樣本間的的差異[21],可以反映對抗樣本偏離原始樣本的程度.時間序列X=[x1,x2,…,xn],Y=[y1,y2,…,ym]的DTW 距離定義為
其中,dist(x1,y1)表示點x1與點y1的歐式距離.由于兩個單獨的性能指標不能綜合概括一個算法的好壞,故提出一個新的時序數據對抗樣本性能指標T-score.
原模型準確率為acc,對抗攻擊后模型的準確率為acc_adv,對抗樣本與原樣本之間的DTW 為dtw.令p=acc-acc_adv,q=1/(dtw+1).
衡量時序數據對抗樣本的指標T-score 為p 與q的調和平均數.即
調和平均數的值在其中一個值趨向于0 時也趨向于0.這與衡量對抗攻擊算法好壞的要求一致.無論是p 或是q 趨向于0,即攻擊成功率趨向于0%或是DTW 值趨向于無窮,對于對抗攻擊算法來說都是無法接受的,因為這意味著算法無法攻擊成功或是對抗樣本與原始樣本存在巨大差異.使用T-score 可以兼顧上述兩個衡量時序分類對抗攻擊算法好壞的性能指標.T-score 的取值為[0,1),值越大,時序對抗攻擊算法的攻擊效果越好.
在19 個單變量時間序列數據集上進行了所有實驗.這些數據都取自UCR 時序分類數據集[22].UCR時間序列數據集是一個多樣化的現實生活用例的集合,涵蓋了食品質量安全、電氣設備、控制傳感器、醫療保健等眾多領域.本文選取的數據集覆蓋了其中的多數種類,如食品相關的Coffee、Ham、Meat 等數據集;醫療相關的ECG200、ECG5000 等數據集;控制傳感器相關的FordA、ItalyPowerDemand、Trace 等數據集.數據集的概況描述如表1 所示.

表1 數據集描述Table 1 Description of datasets
本文使用的模型為全卷積網絡(fully convolutional network,FCN)[23]和殘差網絡(residual network,ResNet)[24].對于FGSM,選取的l∞范數擾動值限制為0.1;對于SLIDE,選取的l1范數擾動值限制為10;對于SMLDA,選取的l1范數擾動值限制為10,l∞范數擾動值限制為1;對于PGD,選取的l2范數擾動值限制為3.
本文分別使用19 個數據集的數據對FCN 和ResNet 模型進行訓練,訓練集與測試集的劃分使用UCR 數據集的默認劃分.接著在訓練好的模型上實施上述4 種對抗攻擊,得到對抗樣本,計算對抗樣本在對應模型上的準確率以及對應的DTW 值與TScore 值.對于SMLDA 方法,使用不同的擾動大小進行對抗攻擊以探究SMLDA 方法的性能與攻擊強度的關系.最后,將針對一種模型生成的對抗樣本輸入不同的模型,以探究SMLDA 算法的遷移性.
表2 展示了不同數據集上FGSM,SLIDE,SMLDA,PGD 4 個攻擊方法攻擊后的模型準確率、對抗樣本與原始樣本的DTW 值以及分別對應的T-score 值.從表2 可以看出,在4 個方法中,SMLDA 在所有的數據集上均取得了T-score 的最高分.這是由于算法在取得較好的攻擊成功率的情況下,保證了對抗樣本與原樣本盡可能相似,即對抗樣本與原始樣本間的DTW 值盡可能小.Coffee 數據集是一個區分羅布斯塔和阿拉比卡咖啡豆的二分類問題.因為阿拉比卡咖啡豆比羅布斯塔咖啡豆的味道更好,故其在貿易中的價值較高.對抗攻擊可能通過改變光譜圖,使羅布斯塔咖啡豆看起來是阿拉比卡咖啡豆.對于應用于食品行業生產流水線上的云控制系統,該攻擊會導致自動分揀系統產生誤判,對云控制系統的正確運行產生威脅,即價值較低的咖啡豆將與價值較高的咖啡豆一起加工,產生了食品質量問題.圖3 展示了4 個對抗攻擊方法針對同一樣本生成的對抗樣本示意圖,其對應的與原始樣本的DTW 值展示在圖片上方.從圖3 可以看出,模型將4 個對抗樣本誤分類為標簽1,即4 個攻擊算法都攻擊成功,SMLDA 相比其他3 個算法有更小的DTW 值.對于此樣本,SMLDA 以較小的擾動達到了相同的攻擊效果.圖4展示了FCN 模型上Wafer 數據集對抗樣本準確率隨擾動強度變化圖.該圖橫軸為擾動強度,縱軸為模型的預測準確率.可以看出,隨著攻擊強度的增大,模型的準確率逐漸下降,最后趨于平緩.圖5 展示了不同擾動強度下SMLDA 針對ItalyPowerDemand 數據集產生的對抗樣本.擾動強度分別為1,4,7,10.從圖中可以看出,在擾動強度為1 和4 時,攻擊并未成功,在攻擊強度增大到7 和10 時,生成的對抗樣本成功使模型產生了誤判.

表2 FCN 模型上的結果Table 2 Results of FCN models

圖3 Coffee 數據集上不同對抗樣本對比Fig.3 Comparison of different adversarial examples in Coffee dataset

圖4 Wafer 數據集上模型準確率隨擾動強度變化圖Fig.4 Accuracy variation diagram with respect to the strength of perturbation in Wafer dataset

圖5 ItalyPowerDemand 上不同擾動強度下SMLDA 生成的對抗樣本Fig.5 Adversarial examples generated by SMLDA with different strength of perturbations on ItalyPowerDemand
為了驗證SMLDA 算法在不同模型上的有效性,在ResNet 模型上也進行了相關實驗.從表3 可以看出,與在FCN 模型上一樣,SMLDA 在除ShapeletSim的其他18 個數據集上均取得了3 個算法中T-Score的最高分.這表明,SMLDA 的優良表現不僅僅局限于一種模型.在ResNet 模型上,FGSM 方法在FordA數據集上攻擊成功率的表現好于SMLDA,但是其DTW 值遠遠高于SMLDA,導致T-score 分數較低,綜合表現低于SMLDA.FordA 中每個樣本由500 個發動機噪聲的測量值和一個類別標簽組成.FordA 的分類任務是診斷一個汽車子系統中是否存在某種癥狀.攻擊者可以通過攻擊來隱藏一個發動機的安全隱患,這樣的攻擊可能會對基于汽車發動機狀況進行自主智能控制的云控制系統產生影響,進而危及到使用該云控制系統的汽車的行駛安全.

表3 ResNet 模型上的結果Table 3 Results of ResNet models
通過在ResNet 模型上進行實驗,驗證了SMLDA算法在不同的模型上均擁有優異的性能.
如表4 所示,在大部分數據集上,SMLDA 具有較好的遷移性.例如在Coffee 數據集上,針對FCN 模型生成的對抗樣本在ResNet 模型上的預測準確率僅為3.571%,與在FCN 模型上相同;針對ResNet 模型生成的對抗樣本在FCN 模型上的預測準確率甚至低于在ResNet 模型上的預測準確率.但是對于某些數據集,例如Wafer 數據集,對抗樣本的遷移性就較差.本文認為原因可能是兩個模型在該數據集上學習到了不同的特征,故針對一個模型生成的對抗樣本很難遷移到另一個模型.

表4 不同模型上SMLDA 生成的對抗樣本準確率Table 4 Accuracy of adversarial examples generated by SMLDA in different models
圖6 中4 張圖為不同范數約束的攻擊方法對ECGFiveDays 數據集上同一個樣本的攻擊結果對比圖.從圖中可以看出,無窮范數限制的FGSM 的優點是每個時間點的數據都被約束在擾動范圍之內,缺點是攻擊改變了較多的時間點的數據.二范數限制的PGD 產生了干凈樣本中未出現的高頻波形,不適用于時序數據.這兩個方法生成的對抗樣本都容易被識別出來.一范數的SLIDE 方法優點是僅僅改變了時序數據中的幾個時間點的值,就產生了很可觀的攻擊效果,缺點是每個點都改變了較大的值.改進后的算法SMLDA 在SLIDE 的基礎上使用無窮范數約束加以限制,生成的對抗樣本僅改變時序數據中的幾個時間點的值,且值的改變受到無窮范數的約束,不會超過約束的范圍.SMLDA 算法結合了無窮范數與一范數約束的優點,生成的對抗樣本不僅改變的數據點很少,且每個點的偏移量都得到了很好的控制.SMLDA 與SLIDE 算法的比較結果展示在表2 與表3 中.從表中可以看出,在幾乎所有數據集上,SMLDA 的T-score 均高于SLIDE,這表明SMLDA 相比SLIDE 有著更好的綜合性能.

圖6 不同范數約束的對抗攻擊比較Fig.6 Comparison of adversarial attacks with different norm constraints
近年來,隨著計算機技術的不斷發展,越來越多的領域引入了云控制系統.文獻[25]中提到在農業裝備中引入云控制系統實現農業生產過程的自動化和智能化,其中一項技術為使用光譜技術對蘋果、柑橘、棗等實現蟲害的無損檢測.這與實驗中Coffee 等數據集極為相似,均為光譜數據,并通過深度模型對其進行分類.攻擊者通過傳入對抗樣本,使模型產生誤判,隱藏農作物發生蟲害的情況,最終使農作物因為蟲害發生減產,產生嚴重的后果.文獻[26]在智能電廠中使用云控制系統,利用深度學習算法對采集到的風電、光伏輸出功率進行短時預測,為用戶提供清潔、穩定供電的同時降低了機組壽命損耗.實驗中ItalyPowerDemand 數據集為電廠的能耗需求數據,與文獻[26]中的云控制系統應用場景較為相似.攻擊者通過實施對抗攻擊,可以達到降低電廠機組壽命的目的.通過上述的兩個工程實例,可以發現云控制系統中包含的深度模型存在一定的安全性問題,如果被攻擊者加以利用,會導致嚴重的后果,后續的研究需要更加關注云控制系統的安全性問題.
本文針對時序分類模型,提出了一個新的時序對抗攻擊方法,定義了一個衡量時序數據對抗樣本性能的指標.與主流的時序對抗攻擊方法相比,所提出的方法有著更好的綜合性能.在UCR 數據集上進行實驗,展示了對抗攻擊算法是如何降低不同模型的預測準確率的.隨著深度神經網絡在物聯網及云控制系統上的廣泛應用,進一步論證了關注云控制系統安全性的重要性.