楊 歡 吳 震* 王 燚 杜之波 王 敏 習 偉 顏 偉
1(成都信息工程大學網(wǎng)絡空間安全學院 四川 成都 610225) 2(南方電網(wǎng)科學研究院有限公司 廣東 廣州 510080) 3(振芯科技有限公司 四川 成都 640041)
在密碼學中,側信道攻擊常用于提取(尋找)加密設備的密鑰。在密碼算法實際運行時,硬件電路會泄漏出相關的電磁輻射、功耗等側信道信息。側信道攻擊就是指利用這些泄露出來的側信道信息,以及密碼學、統(tǒng)計學原理相關知識,來分析和破譯密鑰信息[1-4]。通常側信道攻擊分為有學習攻擊和無學習攻擊兩類,由于有學習攻擊與機器學習技術原理類似,也包括訓練與測試兩個階段,所以有學習攻擊又被稱為基于機器學習的攻擊。有學習攻擊是指利用一臺可以被攻擊人員所控制的、與攻擊目標設備相似或相同的設備(稱為實驗設備[5]),來建立泄露信息的能耗模型(稱為模板),這樣就能對這一類型設備進行攻擊。正是由于有學習攻擊與機器學習原理類似,使得采用機器學習方法實現(xiàn)有學習攻擊成為可能[6]。Backes等[5]使用機器學習技術對打印機成功進行了聲學側通道攻擊;Maghrebi等[4]分別使用隨機森林、支持向量機、深度網(wǎng)絡等機器算法在DPAContest比賽數(shù)據(jù)中進行了側信道模板分析,實驗結果表明基于深度網(wǎng)絡的模板攻擊在匹配成功率方面要優(yōu)于其他方法。
有學習攻擊中的模板攻擊[5]是目前眾多攻擊方法中研究得最深入也是最成功的一種,常用多元高斯分布表示模板。為提高模板攻擊效率,目前的部分研究著眼于改進多元高斯分布中的協(xié)方差矩陣。這些研究分別嘗試了單位協(xié)方差、共享協(xié)方差、池化協(xié)方差等方法,這些改進能在一定程度上降低計算成本、提高攻擊效果[6-10]。其他提高模板攻擊效率方法包括:利用相位相關性消除構架模板中的數(shù)據(jù)干擾,以構建高質(zhì)量的模板;采用主成分分析(Principal Component Analysis,PCA)方法對能耗數(shù)據(jù)進行降維處理,該方法能有效降低協(xié)方差矩陣的計算復雜度并在一定程度上提高攻擊效率[11-12]。
模板攻擊另一種研究思路是采用機器學習中分類算法代替?zhèn)鹘y(tǒng)多元高斯分布模板,例如,利用多類支持向量機作為模板實施模板攻擊[13-14],采用神經(jīng)網(wǎng)絡作為模板進行模板攻擊等[15-16]。在傳統(tǒng)模板攻擊中,首先使用多元高斯分布對旁路信號軌跡特征進行刻畫;然后用極大似然方法對功率跟蹤進行分類。
眾多研究表明,基于神經(jīng)網(wǎng)絡的模板攻擊是機器學習算法與側信道攻擊結合中的最優(yōu)方案,而對于神經(jīng)網(wǎng)絡而言超參數(shù)是至關重要的因素,它往往決定了該神經(jīng)網(wǎng)絡學習性能與效率。對于某一個神經(jīng)網(wǎng)絡至少必須指定控制學習速度或底層模型容量等參數(shù),比如學習率、神經(jīng)網(wǎng)絡層數(shù)等。因為不同模型在不同場景下需要不同的超參數(shù),而且每個超參數(shù)的意義又各不相同,這就需要技術人員擁有豐富的調(diào)參經(jīng)驗以及投入大量工作時間?;诖耍绻麤]有一個成熟的自動化的調(diào)參方案,算法開發(fā)人員也很難在有限時間和計算量情況下解決這一問題。在不同實際場景中對于眾多訓練數(shù)據(jù)集,很難事先知道什么方案是合適的,盡管是擁有豐富機器學習算法開發(fā)經(jīng)驗的人員也只有通過不斷地嘗試和更新迭代來找到合適的解決辦法。因此,實現(xiàn)自動調(diào)參功能是十分必要的。時至今日,非參數(shù)學習研究正在幫助深度學習更加自動的優(yōu)化模型中所需的超參數(shù)選擇[17],比如常用的幾種尋優(yōu)方法:網(wǎng)格尋優(yōu)、隨機尋優(yōu)[18]以及貝葉斯尋優(yōu)[19]。其中貝葉斯尋優(yōu)已經(jīng)被證明在許多具有挑戰(zhàn)性的優(yōu)化基準函數(shù)上優(yōu)于其他全局優(yōu)化算法。對于連續(xù)函數(shù),貝葉斯優(yōu)化的工作原理通常是假設未知函數(shù)是從高斯過程中采樣的,并在進行觀察時保持該函數(shù)的后驗分布[20]。目前尚未有將貝葉斯優(yōu)化方法運用于側信道攻擊中的研究。為了使得基于神經(jīng)網(wǎng)絡的模板攻擊效果更佳,本文嘗試將基于貝葉斯的超參數(shù)自動優(yōu)化方法應用在側信道攻擊神經(jīng)網(wǎng)絡結構尋優(yōu)中,幫助我們更好地借助神經(jīng)網(wǎng)絡方法實現(xiàn)側信道攻擊。
基于前人的研究成果,本文借鑒了基于神經(jīng)網(wǎng)絡側信道攻擊的模型,實現(xiàn)了將多層感知器用于模板攻擊,而且首次將貝葉斯優(yōu)化方法運用在基于多層感知器的模板攻擊中,為多層感知器尋找合適的超參數(shù)使其用于模板攻擊時攻擊效果最佳;其次,在原有的貝葉斯更新先驗分布理論基礎上發(fā)展出對離散值超參數(shù)的特殊處理方法,將超參數(shù)設置的經(jīng)驗結合到尋優(yōu)算法中,更進一步地提高尋優(yōu)效率。為與貝葉斯尋優(yōu)算法作對比,本文還實現(xiàn)了人工尋優(yōu)算法,分析了兩種算法的優(yōu)劣。
1996年,Kocher[20]提出了側信道攻擊概念,它是利用設備功耗等側信道泄露的相關信息來提取密鑰。側信道攻擊可以分為以下兩類:
(1) 有學習攻擊,比如模板攻擊、隨機攻擊[21]或被稱為基于機器學習的攻擊。
(2) 無學習攻擊,比如差分能量分析攻擊[22]、相關性能量分析[23]或被稱為相互信息分析。
想要實現(xiàn)有學習側信道攻擊,首先需要擁有兩臺幾乎相同的設備。其中一臺接近于目標設備,而且技術人員應該對其具有一定的控制權,然后在上面運行一個具有固定密鑰值k∈K的加密操作,K是所有可能的密鑰值的集合。對于一個有學習能力的設備,應該對其輸入和密鑰具有充分的認識和控制權。在這種情況下,有學習的攻擊分為以下兩步執(zhí)行:
(1) 分析階段,同時使用從有學習能力的設備收集到的側信道能跡與目標設備執(zhí)行加密操作的能量泄露來分析所有可能的密鑰值k∈K。
(2) 攻擊階段,對從目標設備泄露收集到的能跡進行分析與分類,以恢復密鑰值k。
在分析階段,為每個可能的鍵值k∈K收集一組側信道能跡。通常情況下,應該采用分而治之的策略。例如,K=0,1,…,255意味著收集256組能跡來執(zhí)行分析。在攻擊階段,選擇從目標設備收集最合適的側信道能跡模型來揭示正確鍵值k。有學習攻擊被認為是最強大的側信道攻擊形式,因為攻擊者能夠在攻擊前描述設備的側信道泄露信息[24]。
(1)
由于模板實際上就是一個分類器,自然可以將其應用于分類神經(jīng)網(wǎng)絡實現(xiàn)攻擊。同時神經(jīng)網(wǎng)絡是研究深度學習的基礎,其中的深度神經(jīng)網(wǎng)絡技術已被應用于多個領域,如圖像分類、語音識別等[24]。而多層感知器可以稱得上是神經(jīng)網(wǎng)絡中一個里程碑的發(fā)展,它克服了單層感知器不能解決非線性可分的問題,為整個神經(jīng)網(wǎng)絡后續(xù)發(fā)展提供了可能。
圖1 多層感知器
將f記為激活函數(shù),網(wǎng)絡中任意一層輸出可以表示為:
(2)
可以發(fā)現(xiàn),隱含層每個神經(jīng)元均是由輸入特征X的線性組合構成。然而僅僅是線性組合,那么無論這個神經(jīng)網(wǎng)絡有多少層,結果都將與特征線性相關。于是在每個神經(jīng)元計算結果之后,添加一個激活函數(shù)(Activation Function),從而改變線性規(guī)則。常用的激活函數(shù)有修正線性函數(shù)(ReLU)、雙曲正切函數(shù)(tanh)、Sigmod函數(shù)等。
超參數(shù)是指模型定義和訓練中事先需要設置的參數(shù)。如神經(jīng)網(wǎng)絡層數(shù)、類型、層寬、激活函數(shù)、學習率、學習的批大小、L2正則化項大小等。又例如機器學習算法中的支持向量機(Support Vector Machine,SVM)就有gamma、kernel、ceof等超參數(shù)需要調(diào)整。對于機器學習而言幾乎所有算法都需要設置超參數(shù)。這些超參數(shù)直接決定了模型性能訓練是否能夠成功或達到最優(yōu)。然而針對不同模型找到最合適該模型的超參數(shù)組合(即超參數(shù)優(yōu)化)確實是一項復雜的工作,如今越來越多調(diào)參工作使用了自動優(yōu)化方法,這些方法旨在使用帶有策略的啟發(fā)式搜索在更短時間內(nèi)找到最優(yōu)超參數(shù),除了少量初始設置之外,并不需要額外人工干預[16-17]。目前為止,已有多種較為成熟的自動調(diào)參算法,其中貝葉斯優(yōu)化算法已被證明是目前最佳自動調(diào)參算法[15],本文正是通過運用這一算法對自動尋優(yōu)進行研究。
網(wǎng)格搜索和隨機搜索在計算資源有限情況下推薦的結果不一定比建模工程師個人經(jīng)驗表現(xiàn)要好,而貝葉斯優(yōu)化就是“很可能”比普通開發(fā)者或建模工程師調(diào)參能力更好的算法。
貝葉斯優(yōu)化是貝葉斯回歸的一種應用。貝葉斯回歸是一種無參數(shù)函數(shù)回歸方法。它利用高斯隨機過程,根據(jù)觀察到的函數(shù)輸入和輸出,使用貝葉斯定義,將假設的先驗概率分布轉換為后驗分布。隨著觀察數(shù)據(jù)增加,函數(shù)的后驗概率越來越準確。貝葉斯優(yōu)化是根據(jù)擬合出的后驗概率分布和一定策略,發(fā)現(xiàn)下一個尋優(yōu)的位置。該策略稱為acquisition[19]。我們的目標是選擇下一個觀察位置,以便盡快發(fā)現(xiàn)該數(shù)據(jù)范圍內(nèi)的最大函數(shù)值。其策略需要考慮兩個可能:一是開發(fā)(exploit),即在當前觀察的最大值附近尋找,這是一種保守策略;二是探索(explore),即在方差最大的位置尋找,這是一種激進策略,方差最大地方可能帶來意外的驚喜,而方差小的地方已經(jīng)沒有探索的價值了。根據(jù)這兩種策略可以得到多種選擇函數(shù)。典型的有PI(Probability of Improvement)、EI(Expected Improvement)、GP-UCB(GP Upper Confidence Bound)等。
模板攻擊是有學習攻擊中研究得最深入也是有效率的一種攻擊方式,而其中模板最基本形式是多元高斯分布。為進一步提高模板攻擊效率,研究人員提出了多種改進方法。一種研究思路是采用機器學習中的部分算法代替?zhèn)鹘y(tǒng)多元高斯分布模板。例如,采用支持向量機作為模板進行模板攻擊,采用神經(jīng)網(wǎng)絡作為模板進行攻擊,將隨機森林算法運用到模板攻擊中等。本文就采用了結合多層感知器模板攻擊方法。若攻擊時使用m條攻擊能跡,則密鑰為:
(3)
式中:K*代表正確密鑰;ej代表能量曲線;comb(x,k)代表無掩碼中間組合值;MLP(ej|comb(xj,k))表示訓練過程中學習到的分類器概率模型。在該攻擊方式中,多層感知器訓練結果起著關鍵作用。若通過學習得到模型本身分類效果就不好,那么攻擊效果肯定也會不理想。
為成功實現(xiàn)基于多層感知器的模板攻擊,本次實驗使用的是無抖動防御的公開能跡集ACAD。該能跡集是基于AES加掩碼算法實現(xiàn)的一種電磁信號泄露數(shù)據(jù),包含60 000條能跡數(shù)據(jù),其中:50 000條作為訓練數(shù)據(jù),10 000條作為攻擊數(shù)據(jù)[24]。采用模型訓練的驗證精度作為模型好壞的衡量指標。其中驗證精度是機器學習中常用指標,反映了模型對數(shù)據(jù)的分類能力。模型訓練驗證精度定義為:
(4)
式中:Dtest表示驗證集能跡;ei表示能跡;K*表示正確密鑰;Pr(K|ei)表示猜測密鑰。簡而言之,驗證精度就是當猜測密鑰與正確密鑰相等時的能跡數(shù)與驗證集能跡數(shù)之比。
有了數(shù)據(jù)集以及衡量指標作為前提,基于多層感知器的模板攻擊具體實現(xiàn)步驟分為訓練與攻擊兩個階段,其中訓練階段主要步驟如下。
(1) 采用PCA對加掩AES算法能跡數(shù)據(jù)集進行降維處理。
(2) 針對降維后的能跡數(shù)據(jù),建立相應多層感知器(MLP)模板。
(3) 利用數(shù)據(jù)集中的50 000條能跡數(shù)據(jù)對預測網(wǎng)絡進行訓練。
攻擊階段的主要步驟如下:
(1) 利用訓練的多層感知器模板,對驗證集能跡Dtest進行分類。
(2) 根據(jù)分類結果計算正確密鑰對應的能跡數(shù)與驗證集能跡數(shù)之比也就是最大驗證精度。
貝葉斯優(yōu)化與其他優(yōu)化方法的不同之處在于,它首先為f(x)構造一個概率模型(即先驗分布),然后利用這個模型來決定下一步x取什么數(shù)值來計算函數(shù)值(更新先驗分布)。其基本思想是利用以前對f(x)評估所獲得的所有信息,而不是簡單地依賴于局部梯度和海森近似。
在使用貝葉斯優(yōu)化時,首先通過樣本點對高斯過程進行估計與更新,然后通過選擇函數(shù)來確定新的采樣點。自然對貝葉斯尋優(yōu)的研究重點就放在了高斯過程與選擇函數(shù)上。
3.2.1高斯過程
貝葉斯優(yōu)化過程中使用高斯過程作為先驗函數(shù),它是一種強大、方便的先驗分布函數(shù),能有效擬合現(xiàn)實中的分布[20]。一個完整的高斯過程由且僅由均值函數(shù)m(x)與協(xié)方差函數(shù)k(x,x′)確定,其中均值函數(shù)為一個向量,而協(xié)方差函數(shù)為矩陣。如此一來高斯過程gp就可以表示為:
f~gp(m,k)
(5)
現(xiàn)假設有一組樣本點D={(x1:t,y1:t)},其協(xié)方差矩陣為:
(6)
一個新樣本xt+1加入會更新上述協(xié)方差矩陣K,假設有k=[k(xt+1,x1),k(xt+1,x2),…,k(xt+1,xt)]那么更新后的協(xié)方差可表示為:
(7)
有了更新后協(xié)方差矩陣就可以通過前t個樣本估計出ft+1的后驗概率分布:
P(ft+1|D1:t,xt+1)}~N(u,σ2)
(8)
u=kTK-1f1:t
(9)
σ2=k(xt+1,xt+1)-kTK-1k
(10)
上述公式的詳細推導過程以及核函數(shù)與均值函數(shù)的選擇詳見文獻[18]。
可以根據(jù)新加入的樣本點對先驗中高斯過程進行更新,使其能更好擬合現(xiàn)實情況。
3.2.2選擇函數(shù)
有了先驗概率分布,接下來就需要通過選擇函數(shù)確定用于更新先驗的采樣點。它是決定貝葉斯優(yōu)化能否成功的另一重要因素。通過該采樣點獲得后驗分布,使該分布更貼切模擬現(xiàn)實情況。雖然目前已有多種選擇函數(shù)可供使用但它們主要思想都是平衡上面提到的兩種策略即explore與exploit。本文使用EI準則作為選擇函數(shù),經(jīng)驗證EI準則比PI表現(xiàn)得更好[19],而且與GP_UCB不同的是它自己不再需要確定額外參數(shù)。EI準則a(·)如下:
a(x|D)=Ey~f(x|D)[max(0,y-fbest)]=
(11)
為驗證提出的基于多層感知器的攻擊方法,本文對AES加掩數(shù)據(jù)集進行了攻擊實驗;同時為了驗證貝葉斯尋優(yōu)算法,在攻擊模型基礎上使用了兩種不同尋優(yōu)方法:人工尋優(yōu)與貝葉斯尋優(yōu),并對這兩種尋優(yōu)方式進行了比較。為了進一步提高貝葉斯尋優(yōu)算法效率,根據(jù)貝葉斯尋優(yōu)理論知識分析了離散值超參數(shù)與連續(xù)值超參數(shù)的處理方式,并進行了改進。
本文實驗使用了ASCAD公開數(shù)據(jù)集作為實驗數(shù)據(jù),采用最大精度衡量優(yōu)化算法好壞的指標。本文針對MLP神經(jīng)網(wǎng)絡所需超參數(shù)的搜索空間如表1所示。
表1 多層感知器的超參數(shù)及其范圍
4.2.1離散值與連續(xù)值
(1) 離散超參數(shù)尋優(yōu)。根據(jù)3.2節(jié)中描述的高斯過程中計算后驗概率步驟,將離散型超參數(shù)看作枚舉型(enum)處理。如需要推薦超參數(shù)中的Layer_size與L2,它們的可能取值分別為[16,32,48,64]與[0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0],而后在處理這些數(shù)據(jù)時將每一個可能取值都當作單獨一維,根據(jù)sobol序列函數(shù)產(chǎn)生的隨機矩陣中最大的某一位置的原矩陣(存儲的是需要優(yōu)化超參數(shù)所有可能取值)值為本次推薦超參數(shù)。這樣推薦參數(shù)的隨機性較大,每個超參數(shù)成為推薦值概率都一樣;但由于新采樣點是由EI準則所確定,若下一個采樣點不存在該離散超參數(shù)取值范圍內(nèi),就只能取最靠近計算出來采樣點存在于取值范圍內(nèi)的值作為新的采樣點,這樣就不能使更新后的后驗分布更好模擬真實情況。
(2) 連續(xù)超參數(shù)尋優(yōu)。連續(xù)超參數(shù)尋優(yōu)與離散超參數(shù)處理類似,唯一不同是將連續(xù)超參數(shù)看作整型(int)處理。在配置文件中存的是它的取值范圍,而不是具體值;在后面處理該類型數(shù)據(jù)時將每一種連續(xù)超參數(shù)視為一維,同樣根據(jù)sobol序列函數(shù)產(chǎn)生的隨機矩陣中最大的某一位置對應原矩陣中的值為本次推薦超參數(shù)。連續(xù)值超參數(shù)尋優(yōu)較離散值超參數(shù)尋優(yōu)的優(yōu)點為:根據(jù)EI準則得到下一個采樣點可以精確用于更新先驗分布,能最大程度模擬真實情況中的分布。
由于離散型超參數(shù)不能取到兩個數(shù)之間的值,本文借鑒了對連續(xù)超參數(shù)的處理方式對離散超參數(shù)進行優(yōu)化:將一個離散超參數(shù)當且僅當作一維,通過一系列的處理,將應推薦超參數(shù)對應位置的值置為最大,從而得到推薦值。根據(jù)以上所述的兩種處理方式,本文做了一個針對離散超參數(shù)尋優(yōu)不同處理方式的對比實驗,實驗結果如圖2所示。
圖2 離散超參數(shù)尋優(yōu)不同處理方式對結果的影響
由對比實驗可知對離散值采取類似連續(xù)值處理方式要優(yōu)于離散值原本處理方式。為進一步提高貝葉斯尋優(yōu)效率,在后面實驗過程中對離散值均采取了類似連續(xù)值的處理方式。
4.2.2貝葉斯尋優(yōu)與人工尋優(yōu)
對比了采用貝葉斯優(yōu)化算法進行自動尋優(yōu)與人工尋優(yōu)得到超參數(shù)所構建的多層感知器(MLP)網(wǎng)絡結構運用于模板攻擊中的兩種結果。
(1) 貝葉斯自動尋優(yōu)算法。針對上面需要尋優(yōu)的5種超參數(shù)共進行了5輪貝葉斯自動尋優(yōu),將每輪尋優(yōu)結果用于構建MLP,將該MLP用于模板攻擊,最終得到了每一輪攻擊結果的最大精度,如圖3所示。
圖3 貝葉斯尋優(yōu)算法在不同推薦次數(shù)下實驗對比
在5輪推薦中,第4輪18次推薦次數(shù)使得攻擊結果最大精度達到0.025 8。其次,可以看出推薦次數(shù)與最大精度并不嚴格形成正比關系,但若是推薦次數(shù)過小,想要得到較好的結果則不太可能。
由圖3和表2可知第四輪推薦結果最佳。當隱含層、神經(jīng)元大小、PCA、L2分別取1、64、94、0.0時,激活函數(shù)為Sigmoid構成的MLP用于模板攻擊結果最佳。
(2) 人工尋優(yōu)。在該部分中,實驗對MLP需要的超參數(shù)進行了人工調(diào)整,得到了一個相對較好的結果。在此過程中針對5個超參數(shù)共進行了40次實驗。實驗采用了排列組合方式,即針對每個超參數(shù)可能取值都進行了測試。出于時間與人工成本考慮,實驗過程中首先固定其他4個超參數(shù)取值再對剩下超參數(shù)所有可能取值進行測試,找到該超參數(shù)使得實驗結果表現(xiàn)最佳的值。在接下來的實驗中固定該超參數(shù)值,依次改變其他超參數(shù),最終得到一個在所有實驗中使得模板攻擊在最大準確度與最小損失衡量下均表現(xiàn)為最佳的組合。對于上面的實驗描述,得到實驗結果如圖4所示。
圖4 人工調(diào)參實驗結果
在40次實驗中表現(xiàn)最好為第37次實驗,它最大精準度與最小損失分別為0.016 9與5.369 38;而表現(xiàn)最差為第2次實驗,最大精度僅有0.004 5,如表3所示。
表3 人工調(diào)參中實驗結果表現(xiàn)最好與最差超參數(shù)
經(jīng)過上面兩種不同尋優(yōu)算法實驗,得到了兩種算法各自對應的最佳結果,現(xiàn)就兩種算法得到結果進行對比并分析它們各自優(yōu)缺點。將上面進行的5輪貝葉斯超參數(shù)優(yōu)化實驗中使得攻擊結果表現(xiàn)得最好與最差的第1輪和第4輪分別從最大精度與最小損失以及所耗費的時間三個方面與使用人工尋優(yōu)算法的攻擊結果進行了對比,結果如圖5所示。具體分析兩種算法每次訓練結果對實驗的影響,結果如圖6所示。
圖5 貝葉斯尋優(yōu)算法與人工尋優(yōu)的結果對比
圖6 貝葉斯尋優(yōu)與人工尋優(yōu)每次尋優(yōu)結果對比
可以看到,使用貝葉斯尋優(yōu)算法時若推薦(訓練)次數(shù)過小會使得實驗結果表現(xiàn)遠不如訓練次數(shù)多的人工尋優(yōu)算法??僧斬惾~斯尋優(yōu)算法訓練次數(shù)達到一定值時,不管是最大精度還是最小損失均優(yōu)于人工尋優(yōu),且此時貝葉斯尋優(yōu)算法推薦次數(shù)還不到人工尋優(yōu)的一半,與之對應時間是使用人工尋優(yōu)算法的二分之一。
貝葉斯自動尋優(yōu)算法與人工尋優(yōu)算法各自的優(yōu)缺點如下:貝葉斯自動尋優(yōu)算法不用人為干預,只要確定需要訓練的超參數(shù)就可以得到該輪訓練最佳結果;達到相同實驗結果貝葉斯自動調(diào)參算法效率更高。但貝葉斯算法存在偶然性,若是本輪訓練次數(shù)少那么它的結果大概率會表現(xiàn)得很糟糕。由圖6可以看到貝葉斯尋優(yōu)明顯存在冷啟動問題,而人工尋優(yōu)算法尋找組合更為全面,但是效率低下,需要大量重復勞動力。
本文基于現(xiàn)有的側信道攻擊神經(jīng)網(wǎng)絡調(diào)參技術,提出貝葉斯自動尋優(yōu)算法,該方法利用高斯過程建立先驗分布模型,通過選擇函數(shù)確定采樣點得到后驗分布,繼而根據(jù)后驗更新先驗分布。實驗結果表明,貝葉斯尋優(yōu)算法相對人工尋優(yōu)具有高效性以及獨立性,它能提供比其他尋優(yōu)算法更好的學習效率,有利于減少訓練次數(shù),攻擊質(zhì)量取得了明顯提高。在今后研究中,我們將致力于探索如何消除貝葉斯自動尋優(yōu)算法冷啟動的問題,以便于進一步提高貝葉斯尋優(yōu)算法效率。