?

基于量子局部內在維度的對抗樣本檢測算法

2024-03-21 02:25張仕斌
計算機應用 2024年2期
關鍵詞:量子態估計值量子

張 瑜,昌 燕*,張仕斌

(1.成都信息工程大學 網絡空間安全學院,成都 610225;2.先進密碼技術與系統安全四川省重點實驗室(成都信息工程大學),成都 610225)

0 引言

近年來,機器學習發展迅速,尤其是基于人工神經網絡的深度學習逐漸滲透到人們生活中的各個領域,如圖像識別[1]、信號處理[2]和優化組合[3]。金融背景下,股價預測[4]一直是人們持續關注的問題。由于受到市場因素以及其他不可控因素的影響,很難精準預測市場股價。研究人員提出使用深度神經網絡(Deep Neural Network,DNN)預測每日股價的漲跌[5]。盡管在預測正常樣本時有表現優異,但在實際應用中可能存在大量的攻擊者惡意篡改股票數據,向原始數據中故意添加人眼無法觀測的對抗擾動形成對抗樣本,致使DNN 模型分類或預測出錯,為用戶提供錯誤的參考值。已有很多研究者在此基礎上提出不同種類的對抗樣本攻擊方法生成對抗樣本,如FGSM(Fast Gradient Sign Method)[6]、基于分類器的迭代線性化的DeepFool 算法[7]、基于雅可比矩陣的顯著性圖攻擊(Jacobian-based Saliency Map Attack,JSMA)方法[8]、CW(Carlini &Wagner)攻擊[9]等,對抗樣本的輸入使深度學習模型在置信水平極高的情況下作出錯誤判斷,給深度學習的實際應用帶來了巨大挑戰。因此,研究深度學習模型的對抗樣本防御方法尤為重要。

目前,對抗樣本防御方法主要分為對抗攻擊防御和對抗攻擊檢測兩個方面:

1)對抗攻擊防御是針對對抗樣本攻擊的防御方法,使深度學習模型在輸入對抗樣本時仍然保持良好的性能,提高了深度學習模型的魯棒性。Goodfellow 等[10]為了使模型適應不同屬性的樣本集,提出對抗訓練方法,將對抗樣本與正常樣本一同輸入模型訓練,提高模型的分類準確率;Athalye 等[11]分析了對抗樣本生成方法的通用思想,提出了梯度掩碼方法以隱藏模型原始的梯度信息,可有效規避基于梯度的攻擊方法;Liao 等[12]將人眼無法察覺的對抗擾動視為噪聲,設計高階表征引導去噪器消除這些噪聲,達到防御的效果;Papernot等[13]提出防御蒸餾方法,平滑訓練得到蒸餾模型,提高模型的泛化能力,使模型在面對攻擊時具備高彈性。

2)對抗攻擊檢測是指通過分析樣本的對抗性,設計檢測算法區分對抗樣本。Xu 等[14]提出特征壓縮方法,壓縮不必要的輸入特征,通過減小每個像素的顏色位深度和像素值的空間平滑,降低攻擊的自由度,以DNN 預測的結果與原始樣本預測結果的差值是否超過閾值的標準檢測樣本屬性;Feinman 等[15]根據對抗樣本與正常樣本分布流形區域的不同,使用核密度估計(Kernel Density Estimate,KDE)和貝葉斯不確定性估計(Bayesian Uncertainty Estimate,BUE)檢測低置信區域的數據點;Pang 等[16]使用逆交叉熵方法作為目標函數訓練神經網絡模型,通過設置的閾值策略識別檢測對抗樣本;Ma 等[17]分析了對抗性區域的特點,證明了基于不同密度的檢測方法對于對抗性區域的定性具有局限性,提出使用局部內在維度(Local Intrinsic Dimensionality,LID)表征對抗性區域的內在維度,并將樣本的LID 估計值作為分類檢測器的評判依據,根據檢測器輸出的標簽區分對抗樣本,實驗結果表明,基于LID 的檢測方法在多種攻擊策略下比KDE、BUE 等檢測方法更具優勢。

許多對抗攻擊防御方法在面對多樣化的攻擊時仍存在一定的局限性。因為在面對更優化的對抗樣本攻擊時,已有的對抗攻擊防御方法可能不再適用,因此,為解決深度學習模型預測股價時存在對抗樣本攻擊的問題,研究有效的防御方法十分必要。

在當今大數據時代,金融領域涌現海量數據。在面對股價預測、風險評估和投資組合等問題時,傳統機器學習算法無法高效解決用戶需求的問題。隨著量子計算的發展,研究人員利用量子態的疊加性和糾纏性,將經典機器學習與量子計算結合,相繼提出了量子傅里葉變換、Shor 分解大整數算法、Grover 搜索算法、量子相位估計(Quantum Phase Estimation,QPE)、量子主成分分析[18]和量子卷積神經網絡[19]等學習模型,可實現經典算法的二次甚至指數級加速。

為解決深度學習模型預測股價時存在對抗樣本攻擊的問題,本文的工作重心集中于對抗樣本的檢測,將基于LID的對抗樣本檢測算法與量子計算結合,提出了基于量子LID的對抗樣本檢測算法。該算法充分利用量子計算的并行優勢,使用量子算法計算待測樣本的LID 估計值,避免了經典算法中的冗余計算,保證算法可用性的同時,降低了算法復雜度。使用鳶尾花數據集IRIS 和手寫數據集MNIST 對本文算法進行實驗驗證,確保算法的可行性與有效性,并將它應用于金融領域,可有效檢測深度學習模型在股價預測時存在的對抗樣本;從理論上分析了本文算法的優勢,同時給出了該算法的優化方向,結合對抗訓練等對抗攻擊防御方法,進一步提高預測模型的魯棒性與準確性。

1 理論基礎

1.1 量子態與量子比特門

在量子物理中,通常使用態向量描述一個系統的狀態,與經典比特表示方法相比,單量子比特可以包含這兩種標準正交基的信息,具體形式為:

其中:θ為變量,復矢量由正交基的線性組合描述,即兩種可能性的疊加狀態。復矢量系數滿足歸一化條件,能精準描述自然界中廣泛存在的多重態粒子,也能使用不同的基態測量量子態攜帶的多種信息。在量子計算中,將量子門作用于量子比特上可改變量子比特的狀態,如本文用到的Hadamard 門的矩陣形式可表示為:

1.2 振幅編碼

將一個N維的經典向量x={x1,x2,…,xN}編碼到n量子比特的振幅中,具體形式如下:

1.3 SWAP-Test

SWAP-Test 量子算法可求解兩向量內積模的平方,用于衡量兩個量子態之間的相似程度。量子線路如圖1 所示。

圖1 SWAP-Test量子線路Fig.1 SWAP-Test quantum circuit

其中SWAP 門內部電路可細化為受控非門的組合,如圖2 所示,左圖為SWAP 門線路,等價于右圖中受控非門的組合,本質上都是實現對兩個量子比特的交換。

步驟4 輔助比特再次經過Hadamard 門,量子態的最終結果為:

2 基于LID的對抗樣本檢測算法

一個多分類DNN 模型通常包含輸入層、隱藏層和輸出層。在每層神經元的傳遞中都需經過含加權和偏置變量的轉換函數f(w,b)以及激活函數σ的非線性映射,使DNN 模型能擬合更復雜的非線性函數。從圖3 可以看出,輸入向量為[x1,x2,…,xN]T,每層需經過含有權重矩陣Wk和偏置向量bk的線性函數(k為網絡層層數(k∈[1,L])),并將結果傳遞至激活函數σk非線性映射,提取輸入數據中更復雜的特征,最后輸出所有類別的概率分布。由于每層網絡中的神經元個數可能不一致,圖中定義了第一層神經元個數為i,第二層神經元個數為i',第L-1 層神經元個數為j',最后一層進行j個類別分類。具體實現過程可簡化為一個有向傳遞:

圖3 多分類DNN模型Fig.3 Multi-classification DNN model

通過交叉熵損失函數作誤差反向傳播,進而訓練模型、更新變量Wk和bk。多次迭代運行這一訓練過程,直到損失值收斂,實現輸入樣本的多分類。

在深度學習模型的測試階段,由于模型的脆弱性,敵手精心制作的對抗擾動很容易繞過隱藏層中冗余信息的過濾,將會遭受對抗樣本攻擊,導致模型輸出異常。對抗性區域指對抗樣本所在的區域,總是跨越一個連續的多維空間,接近對抗方向上的合法數據點,在保證一定攻擊性的同時,又能逼近真實的樣本數據。在此基礎上,Ma 等[17]以輸入層以及隱藏層的輸出單元都有可能存在對抗擾動為出發點,并結合對抗性區域的特點,針對性地提出了基于LID 的對抗樣本檢測算法。本文將從該檢測算法的原理、思路以及實驗結論這3 個方面詳細展開。

1)LID 是根據待測樣本到鄰近樣本集的距離分布評估待測樣本所在局部區域的空間填充能力。Amsaleg 等[20]提出使用LID 衡量樣本局部區域的內在維度,設給定樣本集X~P,表示樣本集X={x1,x2,…,xn}服從P 分布(廣義帕累托分布),n為樣本數。則樣本x處的LID最大似然估計量公式:

其中:k為適度的鄰近樣本數,ri(x)表示當前樣本與分布中第i個最近的樣本之間的距離。

2)由于對抗樣本總是跨越一個連續的多維空間,在高維數據的應用中,對抗樣本的維度通常遠大于任何給定的正常樣本的維度,這意味著對抗樣本的LID 估計值遠大于正常樣本的LID 估計值。在使用LID 衡量樣本局部區域的內在維度特征基礎之上,Ma 等[17]提出基于LID 的對抗樣本檢測算法,計算DNN 模型中每一網絡層輸出單元(激活值)的LID 估計值,構建一個以LID 為評判依據的檢測器。

3)實驗結果表明,對抗樣本的LID 估計值顯著高于正常樣本的LID 估計值,即對抗性區域的內在維度更高,并且檢測器成功分類的準確度高達99.5%。因此以樣本局部區域的內在維度作為評判依據,可有效檢測出對抗樣本。

3 基于量子LID的對抗樣本檢測算法

本文為了實現高效的對抗樣本檢測算法,在基于LID 的對抗樣本檢測算法基礎上,結合量子計算,提出基于量子LID 的對抗樣本檢測算法。本文算法充分利用量子態的并行優勢,使用高效的量子算法代替反復迭代的經典算法。主要使用SWAP-Test 算法一次并行計算待測樣本與所有樣本之間的相似度;然后通過QPE 將相似度轉換到量子比特上,利用量子Grover 算法搜索鄰近k個樣本以及保存對應的相似度,提高計算待測樣本LID 估計值的效率。

本文將從量子態制備、計算待測樣本LID 值以及訓練二分類檢測器等幾個方面列出基于量子LID 的對抗樣本檢測算法的步驟。

1)量子態制備。

根據振幅編碼規則,將待測樣本與訓練集樣本的屬性值歸一化,得到待測樣本x1=[x11,x12,…,x1N]T和所有但不包括x1的訓練樣本集Y=[Y1,Y2,…,YM]T,其中Yj=[Yj1,Yj2,…,YjN]T(j∈[1,M]),N代表每個樣本的特征維數,M代表Y樣本集中樣本的數量,Yj表示樣本集中第j個樣本,向量元素YjN為樣本歸一化后的屬性值。將編碼的結果x1和Y作為量子算法的輸入,分別制備為量子疊加態

2)計算待測樣本LID 估計值。

使用Z基測量得到量子態第1個量子比特為1的概率因此經過測量后,式(12)的量子態坍縮為:

②通過QPE 算法,將測量出的相似度轉換到量子比特上,可得到量子態

③使用量子Grover 算法搜索出最相似的k個樣本集,并保存其對應的相似度。相似度從大到小排列,可表示為:max{d1(x1,Yind1),d2(x1,Yind2),…,dk(x1,Yindk) },其中indk為樣本索引值。

④將相似度轉換為余弦距離。本文基于余弦相似度與余弦距離關系的思想,相似度與余弦距離成反比關系,得出式(15):

其中:rt(x1)代表待測樣本x1與第t個鄰近樣本Yindt的余弦距離。由于量子模擬器與運行次數shots等設置的不同,測量因子測出的概率幅值與傳統計算存在一定誤差,因此設置參數c調控距離。本文實驗中取c=5。將相似度轉換為余弦距離后,待測樣本與鄰近k個樣本之間的距離從小到大可排列為min{r1(x1),r2(x1),…,rK(x1) }。

⑤代入式(9),求出待測樣本x1的LID 值并保存。

3)計算所有待測樣本LID 估計值。循環步驟1)、2),計算所有待測樣本X={x1,x2,…,xs},s代表待測樣本數,為有限正整數。直到計算并保存所有待測樣本的LID 估計值后退出循環,保存結果為數組[LID1,LID2,…,LIDs]。

4)訓練二分類檢測器。為不同屬性樣本的LID 估計值添加不同的標簽,比如對抗樣本的LID 估計值設置標簽為1,正常樣本的LID 估計值設置標簽為0。將數值和標簽一同輸入二分類檢測器中監督學習,實現一個能準確分類對抗樣本的檢測器。

4 實驗及理論分析

本章通過仿真實驗詳細展開以上算法步驟,具體步驟如圖4 所示。首先制備量子態,使用振幅編碼規則對待測樣本xi和訓練樣本集Y編碼;加載訓練好的目標模型,并定義用于存儲LID 估計值的列表、鄰近樣本數K以及參數c;然后在每層激活層中調用量子線路計算出xi與Y之間的相似度,選取出鄰近K個樣本點的相似度并轉換為距離;再根據LID 公式就可以算出在當前層數中xi與Y之間的LID 估計值;最后將計算出的LID 估計值輸入訓練好的檢測器中就可以檢測出待測樣本是否為對抗樣本。仿真實驗均在Google colab 平臺實現,采用開源的跨平臺python 庫pennylane 開發程序,并調用cleverhans 庫實施對抗樣本攻擊。

圖4 基于量子LID的對抗樣本檢測算法程序實現Fig.4 Implementation of adversarial example detection algorithm based on quantum LID

為驗證基于量子LID 的對抗樣本檢測算法的可行性與有效性,實驗1 分別使用IRIS(4 維屬性值)和MNIST(784 維屬性值)兩個數據集驗證算法,均選擇反向傳播神經網絡(Back Propagation Neural Network,BPNN)作為目標模型、對抗擾動系數δ=0.1 的FGSM 作為對抗樣本攻擊算法;為解決目標模型對股價預測時存在對抗樣本攻擊的問題,實驗2將本文算法應用到股票時序數據(浦發銀行股票的歷史數據),并使用長短期記憶(Long Short-Term Memory,LSTM)網絡作為目標模型、對抗擾動系數δ=0.1 的FGSM 作為對抗樣本攻擊算法。結合仿真實驗的結果,理論分析本文算法的優勢。與基于LID 的對抗樣本檢測算法相比,本文算法降低了時間復雜度,能高效檢測金融背景下股票數據存在的對抗樣本,進而達到對抗防御的目的。

4.1 仿真實驗

1)有效性驗證。

①首先使用120 條IRIS 鳶尾花數據訓練目標模型BPNN(含5 層全連接層),其中每個樣本包含4 維特征:花萼長度、花萼寬度、花瓣長度和花瓣寬度。然后輸入30 條鳶尾花測試集測驗,最終目標模型的分類準確率高達99.9%。為模擬對抗樣本攻擊,使用FGSM 對抗樣本攻擊算法(對抗擾動系數δ=0.1)生成30 個測試樣本的對抗樣本集,輸入目標模型BPNN 分類時,準確度降至56.6%。為驗證本文算法的可行性與有效性,使用經典檢測計算方法和本文算法比對分析。圖5 是分別使用經典LID 和量子LID 計算方法求出待測樣本xnorm和對應對抗樣本xadv在經過目標模型隱藏層(3 層)后該樣本激活值的LID 估計值,其中,縱坐標LID 表示使用經典LID 計算方法計算出的數值,LIDq代表使用量子LID 算法計算的數值??梢钥闯?,量子LID 計算方法同樣能有效計算出正常樣本與對抗樣本的內在維度,與經典計算方法效用相當,均驗證了對抗樣本與正常樣本的LID 估計值有明顯差異,對抗樣本的LID 估計值顯著高于正常樣本的LID 估計值。因此,以量子LID 算法計算出的LID 估計值作為二分類檢測器的評判依據,可有效區分對抗樣本,達到對抗防御的目的。

圖5 使用經典LID和量子LID算法計算IRIS數據樣本LID值的實驗結果對比Fig.5 Experimental result comparison of calculating LID values of IRIS data examples by classical LID and quantum LID algorithms

②使用高維手寫數據集MNIST 對本文算法進行實驗,其中數據集包括60 000 條訓練數據和10 000 條測試數據,迭代訓練100 次,得到準確度為98.0%的目標模型BPNN。同樣采取FGSM 攻擊算法,在原始樣本中故意添加擾動系數δ為0.1 的噪聲,從而實施對抗樣本攻擊。攻擊效果如圖6(b)所示,目標模型對于對抗樣本均分類出錯,如第一個對抗樣本的信息7→3 表示真實標簽為7,卻被目標模型分類為3。因此,為檢測出對抗樣本,引入本文算法作樣本檢測。在向目標模型輸入待分類樣本后,使用量子LID 計算方法對樣本每一網絡層激活值求出LID 估計值。圖6 中的LID 值指使用量子LID 算法求出待測樣本在經過目標模型最后一網絡層后該樣本激活值的LID 估計值。從實驗結果可知,大部分對抗樣本的LID 估計值均顯著高于正常樣本的LID 估計值,表明對抗樣本的內在維度普遍高于正常樣本,結果與預期設想一致。計算的LID 估計值可以體現對抗樣本和正常樣本之間的差異性,LID 估計值大的樣本為對抗樣本,反之為正常樣本。因此,使用量子LID 算法計算出的LID 估計值作為檢測對抗樣本的評判依據,并為它加上對應的標簽,將數據與標簽一同輸入二分類檢測器,可實現對抗樣本的有效檢測。

圖6 使用量子LID算法計算MNIST數據樣本LID值的實驗結果Fig.6 Experimental results of calculating LID values of MNIST data examples by quantum LID algorithm

2)實用性驗證。

將提出的基于量子LID 的對抗樣本檢測算法應用于金融領域,期望能有效檢測出股票數據集中存在的對抗樣本,解決深度學習模型預測股價時存在對抗樣本攻擊的問題。

實驗中選取浦發銀行股票的歷史數據作為數據集,其中每天的股價由多種特征決定,本文提取出4 種特征(開盤價open、最高價high、最低價low 和閉盤價close)。每一個樣本數據包含前20 d 的特征,且以第21 d 的閉盤價作為標簽。首先使用1 500 條樣本數據迭代訓練目標模型LSTM 200 次,最終的損失值逐漸收斂到0 左右;然后同樣使用對抗擾動系數δ=0.1 的FGSM 攻擊算法,為200 條測試數據添加對抗擾動生成對應的對抗樣本集,再根據量子LID 算法計算各樣本的LID 估計值。本文選取了其中3 個正常樣本以及對應對抗樣本的LID 估計值,如表1 所示??梢钥吹綄⒈疚乃惴☉糜跁r序數據時,仍然可得出結論:對抗樣本的LID 估計值顯著高于對應正常樣本的LID 估計值,即LID 估計值大的樣本為對抗樣本,反之為正常樣本。因此,依據量子LID 算法計算的LID 估計值作為檢測對抗樣本的評判依據,輸入訓練好的二分類檢測器中能有效檢測出對抗樣本。實驗結果表明,在量子金融背景下,敵手向金融時序數據添加對抗擾動生成對抗樣本時,仍能通過本文算法檢測。

表1 使用量子LID算法計算股票數據樣本LID值的實驗結果Tab.1 Experimental results of calculating LID values of stock data examples by quantum LID algorithm

4.2 理論分析

以上仿真實驗結果驗證了算法的可用性與有效性。接下來將從理論層面分析基于量子LID 的對抗樣本檢測算法的優勢。

本文算法利用了量子優勢,充分發揮量子并行性,能一次性處理大批量數據集,避免了經典算法中的冗余計算,提高了計算效率。本文算法在制備量子態并計算一次SWAPTest 交換門后,利用相位估計算法思想,迭代R次Grover 算子將相似度信息轉存到量子態上,其中R與相位估計的準確率有關;向M個訓練樣本中搜索K個相似度最大的樣本點需要執行次迭代操作,可得出本文算法的時間復雜度為然而,基于經典LID 的對抗樣本檢測算法需要反復迭代部分算法,如計算待測樣本與M個訓練樣本的距離需要的時間復雜度為O(M)、并向其中搜索鄰近的K個樣本點需迭代運行O(KM)次,即基于LID 的對抗樣本檢測算法的時間復雜度為O(KM2)。因此,基于量子LID 的對抗樣本檢測算法相較于經典算法更高效,降低了時間復雜度,實現了指數級加速。

5 結語

本文將量子計算與基于LID 的對抗樣本檢測算法結合,提出基于量子LID 的對抗樣本檢測算法。所提算法充分利用量子并行的優勢,使用量子算法計算待測樣本的LID 估計值,避免了經典算法中的冗余計算。在仿真實驗中,使用IRIS 和MNIST 數據集驗證了所提算法的可行性與有效性,并將算法應用到股價預測中,同樣可以根據計算的LID 估計值檢測對抗樣本。理論分析表明,基于量子LID 的對抗樣本檢測算法比基于LID 的對抗樣本檢測算法更高效,降低了算法的時間復雜度,實現了指數級加速。

由于對抗樣本檢測獨立于對抗樣本防御方法,可結合對抗訓練等方法進一步提高目標模型的魯棒性與準確性。此外,當用戶數據量較大且需求更高時,對該算法優化十分有意義,并且在中等規模含噪量子時代下,量子優勢可能會更容易實現,使得本文算法應用于對抗樣本檢測任務成為可能。

猜你喜歡
量子態估計值量子
2022年諾貝爾物理學獎 從量子糾纏到量子通信
決定未來的量子計算
一類兩體非X-型量子態的量子失諧
一道樣本的數字特征與頻率分布直方圖的交匯問題
新量子通信線路保障網絡安全
統計信息
2018年4月世界粗鋼產量表(續)萬噸
一種簡便的超聲分散法制備碳量子點及表征
極小最大量子態區分
一類5×5的可分量子態的可分表示
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合