陳若曦,金海波, 陳晉音,2, 鄭海斌,2, 李曉豪
面向深度學(xué)習(xí)模型的可靠性測試綜述
陳若曦1,金海波1, 陳晉音1,2, 鄭海斌1,2, 李曉豪1
1浙江工業(yè)大學(xué)信息工程學(xué)院 杭州 3100232浙江工業(yè)大學(xué)網(wǎng)絡(luò)空間安全研究院 杭州 310023
深度學(xué)習(xí)模型由于其出色的性能表現(xiàn)而在各個領(lǐng)域被廣泛應(yīng)用, 但它們在面對不確定輸入時, 往往會出現(xiàn)意料之外的錯誤行為, 在諸如自動駕駛系統(tǒng)等安全關(guān)鍵應(yīng)用, 可能會造成災(zāi)難性的后果。深度模型的可靠性問題引起了學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注。因此, 在深度模型部署前迫切需要對模型進行系統(tǒng)性測試, 通過生成測試樣本, 并由模型的輸出得到測試報告, 以評估模型的可靠性, 提前發(fā)現(xiàn)潛在缺陷。一大批學(xué)者分別從不同測試目標(biāo)出發(fā), 對模型進行測試, 并且提出了一系列測試方法。目前對測試方法的綜述工作只關(guān)注到模型的安全性, 而忽略了其他測試目標(biāo), 且缺少對最新出版的方法的介紹。因此, 本文擬對模型任務(wù)性能、安全性、公平性和隱私性4個方面對現(xiàn)有測試技術(shù)展開全方位綜述, 對其進行全面梳理、分析和總結(jié)。具體而言, 首先介紹了深度模型測試的相關(guān)概念; 其次根據(jù)不同測試目標(biāo)對79篇論文中的測試方法和指標(biāo)進行分類介紹; 然后總結(jié)了目前深度模型可靠性測試在自動駕駛、語音識別和自然語言處理三個工業(yè)場景的應(yīng)用, 并提供了可用于深度模型測試的24個數(shù)據(jù)集、7個在線模型庫和常用工具包; 最后結(jié)合面臨的挑戰(zhàn)和機遇, 對深度模型可靠性測試的未來研究方向進行總結(jié)和展望, 為構(gòu)建系統(tǒng)、高效、可信的深度模型測試研究提供參考。值得一提的是, 本文將涉及的數(shù)據(jù)集、模型、測試方法代碼、評價指標(biāo)等資料歸納整理在https://github.com/Allen-piexl/Testing-Zoo, 方便研究人員下載使用。
深度學(xué)習(xí)模型; 深度測試; 可靠性; 安全性; 公平性; 隱私性
人工智能作為引領(lǐng)數(shù)字化未來的戰(zhàn)略性技術(shù), 日益成為驅(qū)動經(jīng)濟社會各領(lǐng)域加速躍升的重要引擎。近年來, 數(shù)據(jù)量爆發(fā)式增長、計算能力顯著性提升、深度學(xué)習(xí)算法突破性應(yīng)用, 極大地推動了人工智能發(fā)展。然而, 深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks, DNNs)潛在的安全問題也給智能驅(qū)動的數(shù)字世界帶來了極大的安全隱患。DNNs在面對不確定輸入時, 往往會出現(xiàn)意料之外的錯誤行為, 在諸如自動駕駛系統(tǒng)[1]、機器翻譯[2]和醫(yī)療[3]等安全關(guān)鍵應(yīng)用, 可能會造成災(zāi)難性的后果, 阻礙深度模型的實際部署。例如, 谷歌的自動駕駛汽車撞上了一輛公共汽車, 只是由于公共汽車沒有按照它預(yù)計的情況讓行①相關(guān)報導(dǎo)見下: http://www.theverge.com/2016/2/29/11134344/google-selfdriving-car-crash-report。一輛自動駕駛的特斯拉汽車撞上了一輛拖車, 因為其自動駕駛系統(tǒng)無法將拖車識別為障礙物[4]。深度學(xué)習(xí)模型在應(yīng)用時的可靠性問題引起了學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注。
在正常工作時, 深度學(xué)習(xí)模型能輸出正確且無偏見的結(jié)果, 面對惡意輸入具有一定的抵抗能力, 同時對隱私信息具有保護能力, 是模型可靠應(yīng)用的基本要求。為了提前發(fā)現(xiàn)模型中的潛在缺陷以避免事故發(fā)生, 亟需在部署前對其進行系統(tǒng)性測試。通過生成大量多樣性測試樣本, 并由模型的輸出得到測試報告, 面向深度模型的測試技術(shù)能夠在早期階段對模型進行可靠性評估和潛在缺陷的檢測, 降低模型在運行過程中發(fā)生錯誤的概率, 并有助于提高深度學(xué)習(xí)模型的可靠性。在現(xiàn)實中, 如何全面且高效地對深度模型進行測試, 實現(xiàn)極端情況的評估和監(jiān)督, 進一步提高模型應(yīng)用的可靠性, 成為安全可靠人工智能研究中的一個關(guān)鍵問題。
可靠的模型需要滿足分類準(zhǔn)確、風(fēng)險魯棒、決策無偏、隱私安全的基本條件。研究者們從不同角度出發(fā), 提出了多種面向深度模型可靠性的測試方法。根據(jù)不同的模型屬性, 可靠性測試的目標(biāo)具體可分為向模型任務(wù)性能、安全性、公平性和隱私性四大類。模型的任務(wù)性能主要包括分類準(zhǔn)確率和訓(xùn)練程度, 安全性指的是模型抵御外在風(fēng)險的能力。模型的公平性衡量了模型輸出結(jié)果的公平程度, 隱私性則反映了模型對用戶數(shù)據(jù)的保護能力。模型的任務(wù)性能越好, 安全性和公平性越好, 對隱私的保護能力越強, 它的可靠性就越高, 在應(yīng)用時出現(xiàn)錯誤分類的概率也就越低。這些測試屬性是深度模型行為的不同外部表現(xiàn), 均在一定程度上決定了模型的行為和使用時的可靠性。
針對深度學(xué)習(xí)模型的測試方法, 已有工作[5-7]對測試相關(guān)技術(shù)進行了分析和總結(jié)。但這些工作僅關(guān)注模型的安全性測試方法, 而忽略了對其他目標(biāo)的測試, 且缺乏對2020年后新出版的研究的介紹。本文從深度學(xué)習(xí)模型任務(wù)性能、安全性、公平性和隱私性四個方面對已有的可靠性測試方法進行全面梳理、分析和總結(jié), 為其可靠應(yīng)用提供系統(tǒng)性綜述。將目前研究成果按測試目標(biāo)來分類, 總結(jié)成如圖1所示的測試目標(biāo)研究分布圖。在所調(diào)研的79篇與測試方法相關(guān)的國內(nèi)外文獻中, 72%(57篇)都關(guān)注了模型的安全性, 而關(guān)注其他可靠性測試目標(biāo)的研究僅占少數(shù)。這證明了深度學(xué)習(xí)模型的安全性研究已成為學(xué)術(shù)界的熱門方向, 也反映出目前深度模型測試研究目標(biāo)的不平衡。事實上, 模型的公平性和隱私性也是值得測試研究的重要方向。
圖1 測試目標(biāo)研究分布
Figure 1 The distribution of testing objectives
根據(jù)潛在威脅的作用階段, 模型的安全性可以細分為推理階段的對抗性輸入[8-11]和訓(xùn)練階段容易受到污染數(shù)據(jù)而留下中毒后門[12-15]。據(jù)此, 面向模型安全性的測試方法可以分為兩類: 面向推理階段和訓(xùn)練階段安全性的測試方法。
在推理階段, 測試方法可以分為基于覆蓋率的測試方法和基于變異的測試方法, 其中覆蓋率指標(biāo)借鑒了軟件測試中代碼覆蓋率的概念, 用于衡量測試的充分性。但由于深度模型和代碼的顯著差異, 它也存在一定的局限?;谧儺惖臏y試方法通過計算變異分數(shù)來發(fā)現(xiàn)模型中隱藏的缺陷。此外, 在得到模型的測試報告后, 基于修復(fù)的方法生成樣本對模型進行調(diào)試和修復(fù), 以進一步提高其魯棒性和分類精度。
面向訓(xùn)練階段安全性的測試方法可以分為離線和在線檢測, 它們通過不同的方式觀察模型的異常行為, 確定模型是否存在中毒后門。
此外, 由于深度模型輸入維數(shù)高, 內(nèi)部潛在特征空間大, 需要大量的測試樣本對其進行測試, 也需要大量人力成本對樣本進行標(biāo)記。面向測試樣本的選取方法對大量待標(biāo)記的測試樣本進行優(yōu)先級排序, 以降低標(biāo)記成本, 提升測試效率。
綜上, 為了更好地探究該領(lǐng)域的測試方法以及相關(guān)進展, 本文對目前的研究成果進行梳理和總結(jié), 具體的思維脈絡(luò)如圖2所示。
圖2 本文主要思維脈絡(luò)
Figure 2 The framework of this paper
具體而言, 本文在第2節(jié)介紹了深度模型和安全性問題, 具體介紹了可靠性測試的相關(guān)概念; 第3~5節(jié)分別從模型任務(wù)性能、安全性、公平性和隱私性四個不同的角度出發(fā), 對目前的測試方法進行了詳細地介紹與分析; 第6節(jié)具體介紹了可靠性測試在多個領(lǐng)域中的應(yīng)用; 第7節(jié)闡述目前不同領(lǐng)域中適用于測試的數(shù)據(jù)集, 此外還介紹了不同的模型庫和常用工具包; 最后總結(jié)了面向深度模型可靠性測試的未來發(fā)展方向。本文涉及的開源代碼和論文資源已經(jīng)整理到公開的GitHub倉庫②https://github.com/Allen-piexl/Testing-Zoo, 方便后續(xù)學(xué)者進行研究。
本節(jié)將分別對深度學(xué)習(xí)模型及其可靠性測試的基本概念進行定義。
深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network, DNN)是最具代表性的深度學(xué)習(xí)模型之一, 僅需要用標(biāo)記的訓(xùn)練數(shù)據(jù)進行訓(xùn)練, 就能夠從原始輸入中自動識別和提取相關(guān)的高級特征。
DNN由多層組成, 每層包含多個神經(jīng)元, 如圖3所示。神經(jīng)元是DNN中的一個獨立計算單元, 它對其輸入應(yīng)用激活函數(shù), 并將結(jié)果傳遞給其他連接的神經(jīng)元。DNN通常包括一個輸入層、一個輸出層和一個或多個隱藏層。層中的每個神經(jīng)元都與下一層中的神經(jīng)元有直接的連接。總體而言, DNN可以在數(shù)學(xué)上定義為多輸入、多輸出的參數(shù)函數(shù), 由代表不同神經(jīng)元的多個參數(shù)子函數(shù)組成。在運行過程中, 每一層都將其輸入中包含的信息轉(zhuǎn)換為更高級別的數(shù)據(jù)表示。
圖3 深度學(xué)習(xí)模型示意圖[16]
Figure 3 The architecture of DNN[16]
2.1.1 深度學(xué)習(xí)模型的分類
深度學(xué)習(xí)模型主要分為卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)。
卷積神經(jīng)網(wǎng)絡(luò)。卷積神經(jīng)網(wǎng)絡(luò)是包含卷積計算且具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò), 它適合處理具有類似網(wǎng)格結(jié)構(gòu)的數(shù)據(jù), 目前已廣泛應(yīng)用于圖像分類和自然語言處理。CNN主要由卷積層、池化層和全連接層組成, 分別用于提取特征、選擇特征和分類回歸。通過局部連接和全局共享, 能夠?qū)W習(xí)大量的輸入與輸出之間的映射關(guān)系, 簡化了模型復(fù)雜度, 減少了模型的參數(shù)。
循環(huán)神經(jīng)網(wǎng)絡(luò)。循環(huán)神經(jīng)網(wǎng)絡(luò)是一類用于處理序列數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò), 能以很高的效率對序列的非線性特征進行學(xué)習(xí)。簡單的RNN結(jié)構(gòu)如圖4所示。它是一個由類似神經(jīng)元的節(jié)點組成的網(wǎng)絡(luò), 它將數(shù)據(jù)流和維護的內(nèi)部狀態(tài)向量作為輸入。RNN在數(shù)據(jù)到達時處理一小塊數(shù)據(jù), 并在每次迭代中依次產(chǎn)生輸出, 同時更新內(nèi)部狀態(tài)。RNN中的信息不僅從前一層神經(jīng)層流向后一層神經(jīng)層, 而且還會從當(dāng)前層狀態(tài)迭代中流向后續(xù)層神經(jīng)層。RNN的狀態(tài)特性有助于其在處理序列數(shù)據(jù)(例如音頻和文本)方面取得巨大成功。目前, 長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory, LSTM)和門控循環(huán)單元(Gate Recurrent Unit, GRU)是最先進且使用最廣泛的RNN。
圖4 RNN模型示意圖
Figure 4 The architecture of RNN
2.1.2 深度模型的安全性問題
深度學(xué)習(xí)模型在應(yīng)用時面臨多種風(fēng)險, 其中最為致命的則是不確定輸入帶來的安全性問題, 這也是可靠性測試學(xué)術(shù)界中最為重視的測試目標(biāo)。本節(jié)將對其進行重點介紹。
深度學(xué)習(xí)模型往往容易受到不確定輸入的影響而出現(xiàn)誤判斷。根據(jù)安全性威脅作用的不同階段, 它們可以分為推理階段的對抗性攻擊和訓(xùn)練階段的中毒攻擊。
對抗攻擊。對抗攻擊發(fā)生在模型的推理階段, 通過在正常樣本中添加微小的擾動造成模型的錯誤輸出, 如圖5所示。
對于有目標(biāo)攻擊, 優(yōu)化目標(biāo)則為:
圖5 對抗攻擊后, 模型以很高的置信度將熊貓樣本識別成長臂猿[8]
Figure 5 The image of panda is misclassified as gibbons with high confidence after adversarial attacks[8]
為了防止深度模型在應(yīng)用時出現(xiàn)由于模型訓(xùn)練、對抗或中毒引起的不確定性輸入、偏見操控和隱私泄露而產(chǎn)生的風(fēng)險, 在部署前需要對其進行可靠性測試, 通過生成測試樣本以評估模型風(fēng)險, 發(fā)現(xiàn)潛在缺陷, 使其在工作時安全可靠。
與開發(fā)人員直接指定系統(tǒng)邏輯的傳統(tǒng)軟件不同, 深度學(xué)習(xí)模型自動從數(shù)據(jù)中學(xué)習(xí)特征規(guī)律, 這些規(guī)律大多不為開發(fā)人員所知。因此, 深度學(xué)習(xí)的可靠性測試, 依托神經(jīng)網(wǎng)絡(luò)所學(xué)習(xí)到的規(guī)律, 查找觸發(fā)錯誤行為的漏洞輸入, 并提供如何使用這些輸入修復(fù)錯誤行為的初步依據(jù)。
2.2.1 可靠性測試的目標(biāo)
測試目標(biāo)是指在深度模型測試中要測試的內(nèi)容, 通常與訓(xùn)練后深度模型的行為相關(guān)。應(yīng)用時可靠的深度學(xué)習(xí)模型需要滿足分類準(zhǔn)確、風(fēng)險魯棒、決策公平、隱私安全的基本條件。因此, 我們將測試目標(biāo)其分為模型任務(wù)性能、安全性、公平性和隱私性。
任務(wù)性能。模型任務(wù)性能可以分為分類準(zhǔn)確率和訓(xùn)練程度。準(zhǔn)確率衡量深度模型能否正確判斷輸入的樣本。分類準(zhǔn)確率定義如下:
模型的訓(xùn)練程度評估檢測模型和數(shù)據(jù)之間的匹配程度, 其定義如下:
安全性。模型的安全性衡量了模型抵御內(nèi)生脆弱性和由外部攻擊所引起的風(fēng)險的能力, 其定義如下:
公平性。由于訓(xùn)練數(shù)據(jù)和模型結(jié)構(gòu)設(shè)計上存在偏見, 深度模型的預(yù)測結(jié)果會在敏感屬性(例如性別、種族等)方面存在偏見的現(xiàn)象。公平性測試可以被分為群體公平和個體公平。決策公平的模型在面對具有相同敏感屬性的群體或個體時, 會輸出相同的判斷。群體公平定義如下:
隱私性。模型的隱私性指的是模型對于私密數(shù)據(jù)信息的保護能力, 常用差分隱私進行定義:
2.2.2 可靠性測試的過程
目前面向深度模型的測試研究主要集中在離線測試, 其工作流程如圖6所示。由測試種子生成或選取測試樣本作為測試輸入, 以模型輸出計算的測試指標(biāo)為指導(dǎo), 進一步生成測試樣本。在深度模型中測試這些樣本, 獲得最終的測試報告。測試樣本的生成過程可以采取多種方式, 包括模糊測試和符號執(zhí)行。
圖6 測試流程圖
Figure 6 The pipeline of testing procedure
模糊測試通過多種策略隨機生成大量測試樣本來進行多次測試, 以觀察模型是否出現(xiàn)誤分類, 由此發(fā)現(xiàn)模型中可能存在的漏洞[17]。這些策略可以基于變異、搜索和組合測試?;谧儺惖姆椒▽ΜF(xiàn)有的測試樣本進行變異以生成新的測試樣本[18]。組合測試[19]是一種平衡測試探索和缺陷檢測能力的有效測試技術(shù), 在獲得期望的覆蓋率的同時最小化測試集的大小。
符號執(zhí)行通過分析程序, 找到能使待測模型出現(xiàn)錯誤的符號化輸入[20]。自動符號執(zhí)行, 又稱concolic測試[21], 將程序執(zhí)行和符號分析相結(jié)合, 通過自動生成測試輸入實現(xiàn)高覆蓋率。
模型的任務(wù)性能主要包括準(zhǔn)確率和訓(xùn)練程度, 涉及深度模型的基本功能準(zhǔn)確性。分類準(zhǔn)確率低、訓(xùn)練不足或過擬合的模型往往不能部署到實際應(yīng)用中。本節(jié)將對準(zhǔn)確率和訓(xùn)練程度兩個方面的測試方法進行介紹。
準(zhǔn)確率是模型基礎(chǔ)性能之一, 它衡量了模型是否能對輸入做出正確的判斷。準(zhǔn)確率有很多種衡量指標(biāo), 包括準(zhǔn)確率、精確率、召回率、接受者操作特征(Receiver Operating Characteristic, ROC)曲線和曲線下面積(Area Under Curve, AUC)。
3.1.1 測試指標(biāo)
模型準(zhǔn)確率的衡量指標(biāo)包括準(zhǔn)確率、精確率、召回率、ROC曲線和AUC。
基于樣本預(yù)測值和真實值是否相符, 可得到以下4種結(jié)果:
(1) 真陽性(True Positive, TP), 即樣本預(yù)測值與真實值相符且均為正。
(2) 假陽性(False Positive, FP), 即樣本預(yù)測值為正而真實值為負。
(3) 假陰性(False Negative, FN), 即樣本預(yù)測值為負而真實值為正。
(4) 真陰性(True Negative, TN), 即樣本預(yù)測值與真實值相符且均為負, 即分類準(zhǔn)確率。
根據(jù)這四種情況, 可以計算以下準(zhǔn)確率指標(biāo)。
AUC定量度量了ROC曲線, 計算了其下方的面積, 范圍為0~1。AUC越大, 說明模型分類性能越好。
3.1.2 測試方法
上節(jié)中介紹的各種準(zhǔn)確率指標(biāo)已在學(xué)術(shù)界被廣泛采用, 以衡量模型的分類性能。但在數(shù)據(jù)不平衡時, 它們無法全面衡量分類的正確性。例如, 準(zhǔn)確性不能反映假陽性和假陰性, 精確率和召回率可能會誤導(dǎo)結(jié)果。
為了更好地選擇測試指標(biāo), 并發(fā)現(xiàn)模型分類正確性問題, Japkowicz等人[22]對各個準(zhǔn)確率指標(biāo)進行了分析, 指出了各自的缺點, 并提醒學(xué)者們謹慎選擇準(zhǔn)確率指標(biāo)。Chen等人[23]在評估模型分類的正確性時, 研究了訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)的可變性。他們推導(dǎo)出了估計性能方差的解析表達式, 并提供了用高效計算算法實現(xiàn)的開源軟件。他們還研究了比較AUC時不同統(tǒng)計方法的性能[24], 發(fā)現(xiàn)F-test的性能優(yōu)于其他方法。Qin等人[25]提出了基于程序合成的方法SynEva, 從訓(xùn)練數(shù)據(jù)生成鏡像程序, 然后使用該鏡像程序的行為作為準(zhǔn)確性的參考標(biāo)準(zhǔn)。鏡像程序會具有和測試數(shù)據(jù)類似的行為。
模型的訓(xùn)練程度評估了模型和數(shù)據(jù)的匹配程度, 訓(xùn)練不足或過度都可能導(dǎo)致模型性能不佳, 影響分類準(zhǔn)確性。在訓(xùn)練數(shù)據(jù)不足, 或模型對于訓(xùn)練數(shù)據(jù)來說太復(fù)雜的情況下容易發(fā)生過擬合。
交叉驗證傳統(tǒng)上被認為是一種檢測過擬合的有效方法。針對深度模型, Zhang等人[26]引入了擾動模型驗證(Perturbed Model Validation, PMV), 判斷模型是否訓(xùn)練完全, 來幫助模型選擇。他們將噪聲注入到訓(xùn)練數(shù)據(jù)中, 針對受干擾的數(shù)據(jù)對模型進行再訓(xùn)練, 然后利用訓(xùn)練精度下降率來評估模型和數(shù)據(jù)的匹配程度。結(jié)果表明, PMV比交叉驗證更準(zhǔn)確、更穩(wěn)定地選擇模型, 并能有效地檢測過擬合和欠擬合。Werpachowski等人[27]提出了一種通過從測試數(shù)據(jù)生成對抗樣本的過擬合檢測方法。如果對抗樣本的重新加權(quán)誤差估計與原始測試集的誤差估計差距懸殊, 則模型存在過擬合的問題。Chatterjee等人[28]提出了一系列稱為反事實模擬(Counterfactual Simulation, CFS)方法, 該方法只需要通過邏輯電路表示來分離具有不同級別過擬合的模型, 而不用訪問任何模型的高級結(jié)構(gòu)。
對于過擬合產(chǎn)生的原因, Gossmann等人[29]在醫(yī)學(xué)測試數(shù)據(jù)集上進行多次實驗, 發(fā)現(xiàn)重復(fù)使用相同的測試數(shù)據(jù)會造成模型過擬合。Ma等人[30]對訓(xùn)練集進行重采樣來緩解過擬合問題。
由于模型容量和輸入數(shù)據(jù)的分布通常是未知的, 因此, 模型訓(xùn)練程度的測試具有挑戰(zhàn)性。目前, 還缺乏完善的針對模型欠擬合的測試方法。此外, 模型訓(xùn)練程度和安全性之間的平衡關(guān)系也值得探究。
隨著深度模型在越來越多的場景中得到應(yīng)用, 其安全性受到了廣泛關(guān)注。深度模型由于內(nèi)生脆弱性, 在推理階段容易受到不確定性輸入而出現(xiàn)誤判斷, 在訓(xùn)練階段則容易由于污染的數(shù)據(jù)而留下中毒后門。對此, 現(xiàn)有按照威脅的不同階段, 面向模型安全性的測試方法可以分為兩類: 面向推理階段和訓(xùn)練階段安全性的測試方法。前者主要針對推理階段的不確定輸入, 后者對訓(xùn)練階段隱藏的后門進行檢測。此外, 本節(jié)將介紹測試樣本的選取方法, 對大量測試樣本進行選擇和優(yōu)先級排序, 實現(xiàn)高效測試。
推理階段的安全性測試主要針對輸入的不確定性。根據(jù)測試樣本生成的指導(dǎo)指標(biāo), 它們可以分為基于覆蓋率的方法和基于變異的測試方法。此外, 基于修復(fù)的方法生成樣本對模型進行調(diào)試和修復(fù), 提高其魯棒性和分類精度。
4.1.1 基于覆蓋率的測試方法
傳統(tǒng)軟件測試中, 測試覆蓋率是衡量測試充分性的一個重要指標(biāo), 能夠幫助客觀認識軟件質(zhì)量, 提高測試效果。受此啟發(fā), 深度模型測試借鑒了覆蓋率的概念來定量衡量測試的充分性, 并指導(dǎo)性測試樣本的生成。覆蓋率指標(biāo)可以分為神經(jīng)元覆蓋率、多粒度神經(jīng)元覆蓋率、改進條件/判定范圍(Modified Condition/Decision Coverage, MC/DC)覆蓋率和狀態(tài)覆蓋率, 具體方法總結(jié)如表1。這些方法認為, 經(jīng)過更系統(tǒng)測試(即具有更高覆蓋率)的深度模型, 在面對不確定性輸入時更安全可靠。
表1 基于覆蓋率的測試方法總結(jié)
神經(jīng)元覆蓋率。Pei等人[16]提出了首個用于系統(tǒng)地測試深度模型的白盒框架DeepXplore(如圖7所示),并引入了神經(jīng)元覆蓋率(neuron coverage, NC)指標(biāo)來評估由測試輸入執(zhí)行的模型的各個部分。DeepXplore在最先進的深度學(xué)習(xí)模型中有效地發(fā)現(xiàn)了數(shù)千個不正確的極端情況行為, 例如, 自動駕駛汽車撞到護欄, 惡意軟件被識別為良性軟件?;诖? Guo等人[31]提出了首個差分模糊測試框架DLFuzz, 不斷對輸入進行細微的變異, 以最大化神經(jīng)元覆蓋率以及原始輸入和變異輸入之間的預(yù)測差異, 用于指導(dǎo)模型漏洞檢測, 其框架如圖8所示。在MNIST[32]和ImageNet[33]數(shù)據(jù)集上, 與DeepXplore相比, DLFuzz消耗更少的時間, 獲得了更高的覆蓋率。Odena等人[34]開發(fā)了覆蓋率引導(dǎo)模糊測試方法TensorFuzz, 以發(fā)現(xiàn)僅在稀有輸入中發(fā)生的錯誤。輸入的隨機突變由覆蓋度量引導(dǎo), 以達到指定約束的目標(biāo)。Tian等人[35]設(shè)計了DeepTest, 用于自動檢測深度模型驅(qū)動的車輛的錯誤行為。通過生成最大化神經(jīng)元覆蓋率的測試輸入來系統(tǒng)地探索深度模型的不同部分, 在不同的現(xiàn)實駕駛條件下(例如, 模糊、下雨、霧等)發(fā)現(xiàn)了數(shù)千種錯誤行為。
圖7 DeepXplore的總體框架[16]
Figure 7 The framework of DeepXplore[16]
圖8 DLFuzz的總體框架[31]
Figure 8 The framework of DLFuzz[31]
多粒度神經(jīng)元覆蓋率。Ma等人[36]將神經(jīng)元覆蓋率進行了更細粒度地劃分, 提出了一套基于多層次、多粒度覆蓋的測試準(zhǔn)則DeepGauge。其中包括了強神經(jīng)元激活覆蓋率(strong neuron activation coverage, SNAC),節(jié)神經(jīng)元覆蓋率(-multisection neuron coverage, KMNC),前個活躍神經(jīng)元覆蓋率(top-neuron coverage, TKNC), 前個活躍神經(jīng)元模式(top-neuron coverage patterns, TKNP)和神經(jīng)元邊界覆蓋率(neuron boundary coverage, NBC)。利用這五個指標(biāo), Xie等人[37]提出了一種覆蓋引導(dǎo)的模糊測試框架DeepHunter, 達到了更高的覆蓋率并發(fā)現(xiàn)了更多數(shù)目和種類的模型缺陷?;贜C和TKNC, Lee等人[38]提出了ADAPT, 通過自適應(yīng)的神經(jīng)元選取策略實現(xiàn)更系統(tǒng)和有效的深度模型測試。此外, Ma等人[19]引入了將組合測試的概念, 提出了DeepCT來平衡缺陷檢測能力和測試樣本的數(shù)量。同時, 他們提出了組合測試指標(biāo), 包括路組合稀疏覆蓋率(-way combination sparse coverage, SparseCov)和路組合密集覆蓋率(-way combination dense coverage, DenseCov), 通過相對較少的測試來實現(xiàn)合理的缺陷檢測能力。
MC/DC覆蓋率。傳統(tǒng)軟件測試中的MC/DC覆蓋要求每個條件都對最終結(jié)果起獨立作用。Sun等人[39]把這個概念應(yīng)用到神經(jīng)網(wǎng)絡(luò)中, 把上一層的所有神經(jīng)元看作一個分支條件bool表達式中的各個子條件, 本層的某個神經(jīng)元看作是結(jié)果, 由此為測試DNN提出了新思路?;诖? 他們提出了能夠直接應(yīng)用于DNN模型的四個測試覆蓋率標(biāo)準(zhǔn)和基于線性規(guī)劃的測試樣本生成算法, 在小型神經(jīng)網(wǎng)絡(luò)中表現(xiàn)出較高的缺陷檢測能力。此外, Sun等人[21]開發(fā)了首個面向深度模型的concolic測試方法DeepConcolic(如圖9所示), 將具體執(zhí)行和符號分析進行結(jié)合, 實現(xiàn)了更高的覆蓋率。
圖9 DeepConcolic的總體框架[21]
Figure 9 The framework of DeepConcolic[21]
狀態(tài)覆蓋率。Du等人[40]將有狀態(tài)的RNN建模為一個抽象的狀態(tài)轉(zhuǎn)換系統(tǒng), 并定義了一組專門用于有狀態(tài)深度模型的測試覆蓋標(biāo)準(zhǔn)。此外, 他們提出了一個自動化測試框架DeepCruiser, 它可以系統(tǒng)地大規(guī)模生成測試樣本, 以通過覆蓋率指導(dǎo)發(fā)現(xiàn)有狀態(tài)深度模型的缺陷, 在語音和文本數(shù)據(jù)集上證明了測試質(zhì)量和可靠性方面的有效性。在此基礎(chǔ)上, 他們設(shè)計了狀態(tài)和轉(zhuǎn)移軌跡的相似性指標(biāo)和五個狀態(tài)覆蓋率準(zhǔn)則, 并提出了DeepStellar[41], 對RNN進行引導(dǎo)測試(如圖10所示)。實驗證明, 他們提出的相似性指標(biāo)能有效檢測出對抗性輸入。Huang等人[42]提出了覆蓋率引導(dǎo)的測試工具testRNN, 并提出了四個狀態(tài)覆蓋率指標(biāo), 用于驗證LSTM。該工具基于變異生成測試樣本, 使用三個新的LSTM結(jié)構(gòu)測試覆蓋度量來評估網(wǎng)絡(luò)的魯棒性。此外, 它還能它能夠幫助模型設(shè)計者完成LSTM層的內(nèi)部數(shù)據(jù)流處理。
覆蓋率方法的局限性。目前已提出的覆蓋率指標(biāo)基于以下假說: 神經(jīng)元覆蓋率與對抗性輸入的生成和測試方法的錯誤揭示能力相關(guān)。但新的研究對此提出了質(zhì)疑。
圖10 DeepStellar的總體框架[41]
Figure 10 The framework of DeepStellar[41]
目前提出的大多數(shù)覆蓋率指標(biāo)都基于深度模型的結(jié)構(gòu), 但神經(jīng)網(wǎng)絡(luò)與程序軟件之間存在根本差異, 這導(dǎo)致了當(dāng)前覆蓋率指標(biāo)的局限性。Li等人[43]發(fā)現(xiàn)從高覆蓋率測試中推測的故障檢測“能力”, 更有可能是由于面向?qū)剐暂斎氲乃阉? 而不是真正的“高”覆蓋率。他們對自然輸入的初步實驗發(fā)現(xiàn), 測試集中錯誤分類的輸入數(shù)量與其結(jié)構(gòu)覆蓋率之間沒有強相關(guān)性。由于深度模型的黑盒性質(zhì), 尚不清楚這些指標(biāo)如何與系統(tǒng)的決策邏輯直接相關(guān)。
Harel-Canada等人[44]設(shè)計了一個新的多樣性促進正則器, 在缺陷檢測、輸入真實性和公正性三個方面對覆蓋率指導(dǎo)的測試樣本進行評估, 發(fā)現(xiàn)神經(jīng)元覆蓋率增加反而降低了測試樣本的有效性, 即減少了檢測到的缺陷, 產(chǎn)生了更少的自然輸入和有偏的預(yù)測結(jié)果。
通常認為, 用覆蓋率更高的測試樣本對模型進行重訓(xùn)練, 可以提高模型的魯棒性。對此, Dong等人[45]對100個深度模型和25個指標(biāo)進行了實驗, 結(jié)果說明覆蓋率和模型魯棒性之間的相關(guān)性有限。因此, 高覆蓋率對提高模型的魯棒性沒有意義。
因此, 基于高覆蓋率生成測試樣本可能是片面的, 在深度模型測試中衡量測試有效性還有很大的改進空間。
4.1.2 基于變異的測試方法
在傳統(tǒng)的軟件測試中, 變異測試通過注入故障來評估測試套件的故障檢測能力[46]。檢測到的故障與所有注入故障的比率稱為變異分數(shù)。
在深度模型的測試中, 數(shù)據(jù)和模型結(jié)構(gòu)也在一定程度上決定了模型的行為。Ma等人[17]提出了專門用于深度模型的變異測試框架DeepMutation, 不觀察模型的運行時內(nèi)部行為, 通過定義一組源級或模型級變異算子, 從源級(訓(xùn)練數(shù)據(jù)和訓(xùn)練程序)或模型級(無需訓(xùn)練直接注入)注入故障用來以評估測試數(shù)據(jù)質(zhì)量。他們在小尺寸數(shù)據(jù)集上證明了方法的有效性。在此基礎(chǔ)上, Hu等人[47]提出了DeepMutation++, 對模型質(zhì)量進行評估, 尤其是RNN。它不僅能夠針對整個輸入靜態(tài)分析模型的魯棒性, 而且還能在模型運行時分析識別順序輸入(例如音頻輸入)的脆弱部分。在此基礎(chǔ)上, Humbatova等人[48]定義了35個變異算子, 并提出了基于真實故障的源級預(yù)訓(xùn)練變異工具DeepCrime, 取得了更優(yōu)異的性能。Shen等人[49]提出了MuNN, 利用五個變異算子評估了MNIST數(shù)據(jù)集上的變異屬性, 并指出需要域特定的變異算子來增強變異分析。Riccio等人[50]提出了一種自動生成新測試輸入的方法DeepMetis, 利用基于搜索的輸入生成策略生成測試輸入來提高變異分數(shù), 模擬尚未檢測到的故障的發(fā)生。
與覆蓋率標(biāo)準(zhǔn)相比, 基于變異測試的標(biāo)準(zhǔn)與模型的決策邊界更直接相關(guān)??拷P蜎Q策邊界的輸入數(shù)據(jù)可以更容易地檢測模型與其變異體之間的不一致。
4.1.3 基于修復(fù)的測試方法
與軟件漏洞不同, 深度模型的缺陷不能通過直接修改模型來輕松修復(fù)。受到軟件調(diào)試的啟發(fā), 基于修復(fù)的測試方法通過選擇合適的輸入對模型進行調(diào)試, 提高其精度或魯棒性。
Ma等人[29]提出了一種新的模型調(diào)試技術(shù)MODE, 評估每一層以識別有缺陷的神經(jīng)元, 并進一步生成用于再訓(xùn)練的修復(fù)補丁。該方法可以有效地修復(fù)模型錯誤, 避免了新漏洞的產(chǎn)生, 但是修復(fù)工作可能僅限于那些具有復(fù)雜特征的數(shù)據(jù)集。Zhang等人[51]設(shè)計了一種權(quán)重自適應(yīng)方法Apricot來迭代地修復(fù)模型(如圖11所示)。他們用原始訓(xùn)練集的不同子集訓(xùn)練縮減模型, 以此提供權(quán)重大小和方向的調(diào)整依據(jù)。Apricot既不需要額外的樣本, 也不需要額外訓(xùn)練神經(jīng)網(wǎng)絡(luò)架構(gòu), 因此更為通用。在此基礎(chǔ)上, 他們還提出了超啟發(fā)式模型修復(fù)方法Plum[52], 通過制定一系列優(yōu)先級方案來對修復(fù)策略進行排序, 以尋求每個策略在驗證和測試數(shù)據(jù)集上的模型性能之間的平衡。
圖11 Apricot的總體框架[51]
Figure 11 The framework of Apricot[51]
從提高模型魯棒性的角度出發(fā), Borkar等人[53]提出了DeepCorrect, 修復(fù)深度學(xué)習(xí)模型中的卷積濾波器, 以增強對圖像失真的魯棒性。通過對各個濾波器計算校正優(yōu)先級, 對最易受噪聲影響的濾波器進行重新訓(xùn)練, 同時保持網(wǎng)絡(luò)中其余預(yù)訓(xùn)練濾波器輸出不變。但該方法忽略了其他類型層中的其他潛在缺陷。Eniser等人[54]提出了DeepFault(如圖12所示), 觀察了模型中的每個神經(jīng)元, 根據(jù)模型的正確或錯誤行為調(diào)查神經(jīng)元是否被異常激活。對于那些可疑值較高的神經(jīng)元, 他們合成由這些神經(jīng)元的梯度并通過對合成輸入進行再訓(xùn)練來糾正模型的行為。Wang等人[55]提出一種稱為魯棒性導(dǎo)向測試(Robustness-Oriented Testing, RobOT)的新型測試框架, 提出了零階損失(Zero-Order Loss, ZOL)和一階損失(First-Order Loss, FOL)指標(biāo), 在提高模型魯棒性方面對測試樣本進行定量測量, 使多個基準(zhǔn)數(shù)據(jù)集上的模型對抗性魯棒性提高了67.02%。Gao等人[56]提出了一種基于突變的模糊測試方法Sensei和Sensei-SA來增強模型的訓(xùn)練數(shù)據(jù), 在15個模型中分別使其魯棒性評價提高了11.9%和5.5%。
圖12 DeepFault的工作流[54]
Figure 12 The workflow of DeepFault[54]
此外, 針對RNN驅(qū)動的對話系統(tǒng), Liu等人[57]提出了DialTest, 在保留標(biāo)記信息的情況下, 通過同義詞替換、回譯和單詞插入對測試種子進行實際更改, 有效地檢測錯誤并提高系統(tǒng)的魯棒性。
為了進一步提高模型精度, 也有研究通過數(shù)據(jù)增強來修復(fù)模型。Yu等人[58]提出了一種基于樣式轉(zhuǎn)移的數(shù)據(jù)增強的修復(fù)方法DeepRepair, 用于在操作環(huán)境中修復(fù)深度模型。他們也進一步提出了基于聚類的故障數(shù)據(jù)生成, 以實現(xiàn)更有效的風(fēng)格引導(dǎo)數(shù)據(jù)增強。在醫(yī)學(xué)診斷方面, Hou等人[59]提出TauMed, 它基于醫(yī)療數(shù)據(jù)集上的一系列變異規(guī)則和語義實現(xiàn)增強技術(shù), 生成足夠數(shù)量且高質(zhì)量的圖像, 以提高模型分類精度。
通過增加樣本或修改模型, 基于修復(fù)的測試方法提高了模型的分類精度或魯棒性, 其總結(jié)如表2所示。
當(dāng)輸入的樣本存在特定的觸發(fā)器時, 在訓(xùn)練階段被植入中毒后門的模型會輸出錯誤的預(yù)測結(jié)果。目前對于中毒后門的檢測方法可以分為離線和在線檢測, 它們通過不同的方式觀察模型的異常行為, 確定模型是否存在中毒后門。
4.2.1 離線檢測
離線檢測在離線狀態(tài)下檢測模型中的中毒后門, 往往需要比較高的計算成本和專業(yè)的模型知識。
Wang等人[60]提出了NeuralCleanse, 他們認為帶有后門的模型所對應(yīng)的觸發(fā)器, 要比利用正常模型生成的觸發(fā)器要小得多。通過觀察模型的神經(jīng)元激活向量中潛在表示的異常情況來檢測它在部署之前是否被中毒。在此基礎(chǔ)上, Guo等人[61]提出了TABOR, 利用正則化解決優(yōu)化問題, 取得了檢測結(jié)果的提升。針對NeuralCleanse在多類數(shù)據(jù)集上計算成本很高的問題, Harikumar等人[62]提出了可拓展的木馬掃描程序(Scalable Trojan Scanner, STS), 以識別觸發(fā)器的方式對其進行反轉(zhuǎn), 由此將搜索過程與類別數(shù)目獨立開來。Chen等人[63]提出了DeepInspect, 使用條件生成模型來學(xué)習(xí)潛在觸發(fā)器的概率分布。該生成模型將用于生成反向觸發(fā)器, 統(tǒng)計評估其擾動水平, 以構(gòu)建后門異常檢測?;诜纸夂徒y(tǒng)計分析, Tang等人[64]利用類別的全局信息提出了SCAn, 以檢測已知或未知的中毒攻擊。
表2 基于修復(fù)的測試方法總結(jié)
不同于以上方法專門用于圖像分類領(lǐng)域, Xu等人[65]設(shè)計了一種適用于語音和文本場景下的后門檢測方法MNTD, 通過訓(xùn)練元分類器以預(yù)測模型是否安全。
4.2.2 在線檢測
與離線檢測不同, 在線檢測可以在模型運行時對其行為進行檢測。
Liu等人[66]提出了人工腦刺激(Artificial Brain Stimulation, ABS), 通過刺激的方法找到中毒模型中的受損的神經(jīng)元, 在其指導(dǎo)下進一步反轉(zhuǎn)觸發(fā)器, 以確定模型是否被中毒。ABS與觸發(fā)器尺寸無關(guān), 能檢測對模型特征空間的中毒后門, 但不能處理像素空間的后門攻擊。此外, 他們也提出了EX- RAY[67], 基于對稱特征差分方法來區(qū)分自然特征和中毒特征。
4.2.3 小結(jié)
面向訓(xùn)練階段安全性的測試方法優(yōu)缺點總結(jié)如表3所示。這些方法主要為計算機視覺領(lǐng)域的分類任務(wù)設(shè)計, 目前缺乏在語音和文本等不同領(lǐng)域的通用對策。此外, 在訓(xùn)練階段針對RNN等序列模型的測試也相當(dāng)重要, 卻少有研究涉及。
表3 訓(xùn)練階段安全性測試方法優(yōu)缺點總結(jié)
生成面向深度模型的測試樣本往往需要涵蓋非常大的輸入空間, 而這些測試樣本需要花費昂貴的人力成本來進行標(biāo)記, 顯著影響可執(zhí)行的測試的數(shù)量和質(zhì)量。因此, 以有意義的方式優(yōu)先選擇測試模型的輸入數(shù)據(jù), 可以降低標(biāo)記成本, 大大提高測試效率。
Feng等人[68]基于深度模型的統(tǒng)計視角, 首先提出了測試樣本優(yōu)先級排序技術(shù)DeepGini, 可以快速識別可能導(dǎo)致模型誤分類的測試樣本。DeepGini在優(yōu)先級排序的有效性和運行效率方面優(yōu)于基于覆蓋率的方法。Byun等人[69]根據(jù)softmax置信度、貝葉斯不確定性和輸入意外程度對測試樣本進行優(yōu)先級排序, 在圖像分類和圖像回歸的數(shù)據(jù)集上取得了70%以上的平均缺陷檢測率。
Zhang等人[70]提出了一種基于噪聲敏感性分析的測試優(yōu)先排序技術(shù)NSATP, 通過噪聲敏感性來挑選樣本。與他們不同, Zhang等人[71]觀察了神經(jīng)元的激活模式, 根據(jù)訓(xùn)練集中獲得的神經(jīng)元的激活模式和從特定輸入中收集的激活神經(jīng)元來計算測試樣本的優(yōu)先級。結(jié)果表明, 具有較高優(yōu)先級的測試樣本更容易被誤分類。此外, 對相同數(shù)據(jù)集中的模型進行優(yōu)先排序的測試樣本, 也能使其他具有相似結(jié)構(gòu)的模型誤分類。
Ma等人[72]基于模型不確定性的概念, 對一組測試選擇度量進行了深入的經(jīng)驗比較。他們優(yōu)先選擇了具有更高不確定性的樣本, 用其對模型進行訓(xùn)練, 以提高分類精度。Wang等人[73]優(yōu)先考慮那些通過許多變異而產(chǎn)生不同預(yù)測結(jié)果的測試輸入, 認為它們更有可能揭示出模型的缺陷。由此他們提出了PRIMA(如圖13所示), 對變異結(jié)果進行智能組合, 從而對測試樣本進行優(yōu)先排序。在現(xiàn)實自動駕駛場景中的實驗結(jié)果證明了PRIMA在排序效果方面的實用性。
圖13 PRIMA的總體框架[73]
Figure 13 The framework of PRIMA[73]
Kim等人[74]將輸入的意外程度, 即樣本在輸入和訓(xùn)練數(shù)據(jù)之間的行為差異, 作為衡量樣本對于深度模型測試充分性的指標(biāo)。他們認為, 與訓(xùn)練數(shù)據(jù)相比, 一個理想的測試輸入, 應(yīng)是充分的, 但不應(yīng)具有很高的意外程度。
基于決策邊界的概念, Shen等人[75]提出了多邊界聚類和優(yōu)先級方法(Multiple-Boundary Clustering and Prioritization, MCP), 將測試樣本聚類到模型多個邊界區(qū)域, 并根據(jù)優(yōu)先級從所有邊界區(qū)域均勻選擇樣本。在有效性方面, 經(jīng)過MCP評估再訓(xùn)練的深度模型性能得到顯著提高。
為了選擇可以區(qū)分多個模型的有效測試樣本, Meng等人[76]提出了基于樣本區(qū)分的選擇方法(Sample Discrimination based Selection, SDS), 利用這些樣本指示模型的性能。實驗證明, 具有更高優(yōu)先級的樣本更有助于模型性能的排序。Guerriero等人[77]在數(shù)據(jù)集中采用非比例選擇查找容易分類錯誤的測試樣本, 提出了一種測試選擇技術(shù)DeepEST。與傳統(tǒng)抽樣相比, 這種方法可以提供更小的方差, 從而使樣本選擇變得更穩(wěn)定。
表4 面向測試樣本的選取方法總結(jié)
面向測試樣本的選取方法總結(jié)如表4所示。如何高效地對測試樣本進行排序, 并以此提高模型的安全性, 成為當(dāng)前測試研究中的熱門話題和前沿方向。
公平性和隱私性雖不直接影響模型的準(zhǔn)確率, 但一定程度上影響了模型的分類行為。本節(jié)中我們首先介紹了適用于深度模型的公平性測試方法, 針對模型隱私的測試方法也在后續(xù)部分進行闡述。
公平的研究側(cè)重于發(fā)現(xiàn)、衡量、理解和應(yīng)對觀察到的不同群體或個人在表現(xiàn)上的差異。這種差異與偏見有關(guān), 它可能會冒犯甚至傷害用戶, 導(dǎo)致種種社會問題。公平性測試旨在發(fā)現(xiàn)和減少深度模型中的偏見, 以提升模型在相關(guān)領(lǐng)域中應(yīng)用時的公平性和可靠性??傮w而言, 根據(jù)不同的測試目標(biāo), 公平性測試可以分為個體公平測試和群體公平測試。
5.1.1 個體公平測試
具有個體公平性的模型應(yīng)該在相似個體之間給出相似的預(yù)測結(jié)果。個體公平性測試方法關(guān)注模型對于不同個體之間的公平性。
Udeshi等人[78]提出了Aequitas, 生成測試樣本以發(fā)現(xiàn)偏見性輸入, 以理解個體公平。Aequitas首先對輸入空間進行隨機采樣以發(fā)現(xiàn)偏見樣本, 然后搜索這些輸入的鄰域以找到更多偏見。除了檢測公平性錯誤外, Aequitas還重新訓(xùn)練了機器學(xué)習(xí)模型, 并減少這些模型決策中的偏見。然而, Aequitas對所有輸入使用全局采樣分布, 這導(dǎo)致它只能在狹窄的輸入空間中搜索, 容易陷入局部最優(yōu)。
Agarwal等人[79]設(shè)計了一種新的個體公平測試方法SymbGen, 它將符號執(zhí)行與本地解釋相結(jié)合, 以生成有效的測試樣本。盡管SymbGen是為人工智能模型設(shè)計的, 但它仍然使用了決策樹。上述方法主要處理傳統(tǒng)的機器學(xué)習(xí)模型, 不能直接應(yīng)用于處理深度模型。
Zhang等人[80]提出了專門針對深度模型公平性的測試方法ADF, 基于梯度計算和聚類來搜索模型輸入空間中的個體偏見樣本, 其總體框架如圖14所示。實驗證明, 基于梯度的指導(dǎo), 生成偏見樣本的有效性和計算效率得到了極大的提高?;诖? Zhang等人[81]基于梯度設(shè)計了白盒公平測試框架EIDIG, 采用先驗信息來加速迭代優(yōu)化的收斂。但是, 它仍然存在梯度消失而導(dǎo)致局部優(yōu)化的問題。Zheng等人[82]將模型決策偏見歸因為偏見神經(jīng)元, 并提出了針對DNN公平的測試框架NeuronFair, 在更短的時間內(nèi)生成更多樣化的測試樣本。
圖14 ADF的總體框架[80]
Figure 14 The framework of ADF[80]
5.1.2 群體公平測試
與個體公平性不同, 群體公平是指模型具有相同的決策概率選擇敏感屬性的群體。
Galhotra等人[83]提出了一種面向群體公平性的軟件測試方法Themis, 它用將公平性分數(shù)來衡量軟件的公平性, 并通過計算模型輸入空間中個別偏見樣本的頻率來衡量軟件的偏見程度。Sun等人[84]提出了一種基于因果關(guān)系的神經(jīng)網(wǎng)絡(luò)修復(fù)技術(shù)CARE, 通過調(diào)整給定神經(jīng)網(wǎng)絡(luò)的參數(shù), 以修復(fù)神經(jīng)網(wǎng)絡(luò)獲得決策公平性。
5.1.3 小結(jié)
針對深度模型的公平性測試處于起步階段, 如何更全面地定義偏見, 更細粒度地定量描述偏見并以此系統(tǒng)地測試深度模型, 將成為今后公平性測試的主要研究方向。
隱私是深度模型保存私人數(shù)據(jù)信息的能力。在模型部署前需要檢查使用敏感數(shù)據(jù)計算的程序是否保護了用戶隱私。
較早提出的方法主要討論如何確保模型的隱私性。Bichsel等人[85]提出了DP-Finder, 引入了一種有效且精確的采樣方法來估計樣本泄露隱私的可能性, 并將搜索任務(wù)描述為優(yōu)化目標(biāo), 使他們能系統(tǒng)地搜索到大量泄露隱私的樣本。
為了檢測違反差分隱私的行為, Ding等人[86]為差分隱私算法生成違反樣本, 多次運行候選算法, 并使用統(tǒng)計測試來檢測違反差分隱私的情況。Zhang等人[87]提出了首個用于自動化差分隱私的框架DPCheck, 無需程序員注釋, 就能測試算法中的隱私泄露問題。他們在2020年美國人口普查信息保護系統(tǒng)上證明了方法的有效性?;陟o態(tài)程序分析, Wang等人[88]提出了CheckDP對模型的差分隱私機制進行評估。該方法可以在70s內(nèi)判斷模型是否違反了差分隱私機制, 并給出證明或生成反例。Bichsel等人[89]訓(xùn)練分類器對差分隱私進行近似最優(yōu)攻擊, 以發(fā)現(xiàn)模型在違反差分隱私方面的情況, 提出了DP-Sniper。實驗證明, 他們的方法在有效性和高效性方面具有很大的提升。Farina等人[90]設(shè)計了一種關(guān)系符號執(zhí)行方法, 支持概率耦合的推理, 可用于構(gòu)建差分隱私的證據(jù)。
對模型隱私的測試方法正受到越來越多的關(guān)注, 如何通過測試使模型具有更高的隱私保護能力, 也是學(xué)者們關(guān)注的關(guān)鍵問題。
深度模型已廣泛應(yīng)用于不同領(lǐng)域。本節(jié)在三個典型的應(yīng)用領(lǐng)域介紹這種特定領(lǐng)域的測試方法: 自動駕駛、語音識別和自然語言處理。
自動駕駛顯示出改革現(xiàn)代交通的巨大潛力, 其安全性備受公眾關(guān)注。因此, 該領(lǐng)域成為測試的重點方向。
Pei等人[16]通過基于梯度的差分測試生成測試樣本, 來發(fā)現(xiàn)模型中的隱藏缺陷。Tian等人[35]用多種圖像變換來產(chǎn)生可能在現(xiàn)實攝像頭中出現(xiàn)的隱藏噪聲, 以此對自動駕駛場景中的不確定輸入進行模型缺陷的檢測。Zhang等人[91]基于對抗性生成網(wǎng)絡(luò)[92]生成測試樣本, 提出了一種基于無監(jiān)督的自動一致性測試框架DeepRoad, 支持雪天和雨天的天氣狀況。Zhou等人[93]提出了DeepBillboard, 其流程如圖15所示。它能針對廣告牌生成可打印的對抗性測試樣本, 能最大化自動駕駛汽車駕駛時轉(zhuǎn)向角錯誤的可能性、程度和持續(xù)時間, 在不同的視角、距離和照明的駕駛條件下都能工作。Riccio等人[94]引入了行為邊界的概念, 即讓深度學(xué)習(xí)系統(tǒng)開始誤分類的輸入, 并設(shè)計了DeepJanus, 以基于搜索的方式為深度學(xué)習(xí)系統(tǒng)生成測試樣本。在自動駕駛汽車車道保持系統(tǒng)上的實驗證明了其有效性。
Figure 15 The generation of perturbations in DeepBillboard[93]
自動駕駛場景中深度模型的測試需要大量測試樣本, Birchler等人[95]對這個場景中的測試樣本進行排序, 盡可能早地揭示模型中存在的缺陷。他們利用靜態(tài)特性區(qū)分安全和不安全的場景, 提出了自動駕駛場景的測試樣本排序方法SDC-Prioritizer, 基于遺傳算法對模型進行高效測試。
目前也有相關(guān)學(xué)者在語音場景下對深度模型進行測試, 以證明其安全性和公平性。
Asyrofi等人[96]提出了一種利用現(xiàn)有的文本到語音系統(tǒng)來自動生成自動語音識別(Automated Speech Recognition, ASR)系統(tǒng)的測試樣本的方法CrossASR, 如圖16所示。作為一種黑盒方法, CrossASR通過失敗概率預(yù)測, 為任何ASR系統(tǒng)生成使其誤判可能性最大的測試樣本。在此基礎(chǔ)上, 他們還提出了CrossASR++[97], 它發(fā)現(xiàn)更多使模型出錯的測試樣本。Du等人提出了DeepCruiser[40]和DeepStellar[41], 利用狀態(tài)覆蓋率指標(biāo)生成測試樣本, 在實際ASR系統(tǒng)的RNN模型中取得了更高的覆蓋率, 發(fā)現(xiàn)了更多系統(tǒng)缺陷。
在自然語言處理方面, Sun等人[98]在他們的工具“MT4MT”中使用自定義變形關(guān)系來測試機器翻譯系統(tǒng)的翻譯一致性。他們認為輸入的改變不應(yīng)影響翻譯后內(nèi)容的結(jié)構(gòu), 以此評估機器翻譯系統(tǒng)的公平性和語義一致性。此外, Sun等人[99]將變異測試和變形測試相結(jié)合, 提出了TransRepair, 對機器翻譯系統(tǒng)谷歌翻譯和Transformer進行測試, 并修復(fù)了它們將近20%的錯誤。
圖16 CrossASR++框架圖[97]
Figure 16 The framework of CrossASR++[97]
當(dāng)前面向深度學(xué)習(xí)的測試方法研究主要集中在監(jiān)督學(xué)習(xí)上, 特別是分類問題。在無監(jiān)督學(xué)習(xí)和強化學(xué)習(xí)相關(guān)的應(yīng)用領(lǐng)域, 深度模型的可靠性亟待系統(tǒng)性的測試。
目前研究中的測試任務(wù)主要集中在圖像分類上。在許多其他領(lǐng)域和任務(wù), 如多智能體游戲場景, 仍然存在許多開放測試的研究機會。
近年來用于深度模型測試的模型庫和工具包不斷涌現(xiàn), 為系統(tǒng)性地測試深度模型提供了便利。本節(jié)列舉了可用于深度模型測試的數(shù)據(jù)集, 并介紹了現(xiàn)有可測試的在線模型庫和常用測試工具包, 便于研究者進行后續(xù)研究。
根據(jù)不同的應(yīng)用場景和任務(wù), 數(shù)據(jù)集可以分為圖像分類、語音識別、自然語言處理和模型公平?jīng)Q策這四類。本節(jié)中我們將分別對這些數(shù)據(jù)集進行簡單介紹, 總結(jié)如表5所示。
7.1.1 圖像分類
MNIST數(shù)據(jù)集[32]是美國國家標(biāo)準(zhǔn)與技術(shù)研究院收集整理的大型手寫數(shù)字數(shù)據(jù)庫。它包含了6萬張訓(xùn)練圖片和1萬張測試圖片, 每張圖片都是28×28像素的灰度圖, 各自對應(yīng)0到9這十個數(shù)字類標(biāo)。
Fashion-MNIST數(shù)據(jù)集[100]由10個類別的70,000個時尚產(chǎn)品的28×28灰度圖像組成, 每個類別有7000張圖像。訓(xùn)練集有6萬張圖像, 測試集有1萬張圖像。Fashion-MNIST與MNIST具有相同的圖像大小、數(shù)據(jù)格式以及訓(xùn)練和測試分割的結(jié)構(gòu)。
CIFAR-10[101]由5萬張32×32彩色圖像組成。這些圖像標(biāo)有10個不同的類標(biāo): 飛機、汽車、鳥、貓、鹿、狗、青蛙、馬、船和卡車。每類有6000張圖像, 5000張用于訓(xùn)練, 1000張用于測試。與它類似, CIFAR-100[101]數(shù)據(jù)集有100個類, 每個類包含600個圖像, 其中500張用于訓(xùn)練, 100張用于測試。
ImageNet數(shù)據(jù)集[33]包含14197122個帶注釋的圖像。自2010年以來, 該數(shù)據(jù)集用于ImageNet大規(guī)模視覺識別挑戰(zhàn)賽(ILSVRC), 這是圖像分類和目標(biāo)檢測的基準(zhǔn)數(shù)據(jù)集。Tiny ImageNet[102]是ImageNet數(shù)據(jù)集的子集, 包含200個類別的10萬張彩色圖像, 尺寸為64×64。每類有500張訓(xùn)練圖像、50張驗證圖像和50張測試圖像。
SVHN數(shù)據(jù)集[103]是一個數(shù)字分類基準(zhǔn)數(shù)據(jù)集, 包含60萬張32×32 RGB打印的數(shù)字(從0到9)圖像, 由門牌圖片中裁剪得出。裁剪后的圖像以感興趣的數(shù)字為中心, 但保留了附近的數(shù)字和其他干擾物。SVHN有三組: 訓(xùn)練集、測試集和一個額外的包含53萬張圖像的集, 這些圖像難度較低, 可用于幫助訓(xùn)練過程。
CelebA數(shù)據(jù)集[104]包含來自10177位名人的202599張大小為178×218的人臉圖像, 每張都用40個二進制標(biāo)簽進行注釋, 指示面部屬性, 如頭發(fā)顏色、性別和年齡。
LFW數(shù)據(jù)集[105]包含從網(wǎng)絡(luò)收集的13233張人臉圖像。該數(shù)據(jù)集由5749個身份組成, 其中1680人有兩張或更多張圖片。
MS COCO數(shù)據(jù)集[106]是一個大規(guī)模的對象檢測、分割、關(guān)鍵點檢測和字幕數(shù)據(jù)集, 由32.8萬張圖像組成。
表5 深度學(xué)習(xí)模型測試中的常用數(shù)據(jù)集
KITTI數(shù)據(jù)集[107]是用于移動機器人和自動駕駛的最受歡迎的數(shù)據(jù)集之一。它包括使用各種傳感器模式記錄的6個交通場景, 包括高分辨率RGB、灰度立體相機和3D激光掃描儀。
7.1.2 語音識別
VCTK語料庫[108]包括110位具有各種口音的英語使用者的語音數(shù)據(jù)。每個發(fā)言者讀出大約400個句子, 這些句子是從報紙、彩虹段落和用于語音重音檔案的引出段落中選出的。每位說話者閱讀一組不同的報紙句子, 其中每組句子都是使用貪婪算法選擇的, 該算法旨在最大化上下文和語音覆蓋范圍。
LibriSpeech語料庫[109]包含大約1000h的有聲讀物。訓(xùn)練數(shù)據(jù)分為100h、360h和500h集的3個分區(qū), 而開發(fā)和測試數(shù)據(jù)分別分為“干凈”和“其他”類別, 具體取決于自動語音識別系統(tǒng)的表現(xiàn)是否具有挑戰(zhàn)性。每個開發(fā)和測試集的音頻長度都在5h左右。該語料庫還提供了從Project Gutenberg書籍中摘錄的n-gram語言模型和相應(yīng)文本。
VoxCeleb[110]是一個大型語音識別數(shù)據(jù)集。它包含來自YouTube視頻的1251位名人約10萬段語音。這些名人有不同的口音、職業(yè)和年齡。數(shù)據(jù)基本上是性別平衡的(男性占55%), 訓(xùn)練集和測試集之間沒有重疊。數(shù)據(jù)集中包括子集Voxceleb1和Voxceleb2。其中VoxCeleb1包含超過10萬個針對1251個名人的話語, 這些話語是從上傳到Y(jié)ouTube的視頻短片中提取的。其中發(fā)音人數(shù)1251人、視頻數(shù)量21245條、音頻數(shù)量145265條。Voxceleb2音頻總內(nèi)容時長達2000h以上, 其中發(fā)音人數(shù)包括訓(xùn)練集5994人和測試集118人; 音頻數(shù)量包括訓(xùn)練集1092009條和測試集36237條。
7.1.3 自然語言處理
SNLI數(shù)據(jù)集[111]由57萬個手動標(biāo)記為蘊含、矛盾和中性的句子對組成。注釋者判斷句子之間的關(guān)系, 因為它們描述了相同的事件。每一對都被標(biāo)記為“entailment”、“neutral”、“contradiction”或“-”, 其中“-”表示無法達成一致。
MultiNLI數(shù)據(jù)集[112]有43.3萬個句子對。它的大小和收集方式與SNLI非常相似。MultiNLI提供十種不同類型(面對面、電話、9/11、旅行、信件、牛津大學(xué)出版社、批評、逐字、政府和小說)的書面和口語英語數(shù)據(jù)。
bAbI數(shù)據(jù)集[113]是由20個不同任務(wù)組成的文本QA基準(zhǔn)。每項任務(wù)旨在測試不同的推理技能, 例如演繹、歸納和共指解析, 其中一些任務(wù)需要關(guān)系推理。每個樣本由一個問題、一個答案和一組事實組成。該數(shù)據(jù)集有兩個不同大小的版本, bAbI-1k和bAbI-10k, 后者包含1萬個訓(xùn)練樣本。
7.1.4 模型公平?jīng)Q策
Adult數(shù)據(jù)集[114]含有48842個實例, 包括職業(yè)、種族、性別、國籍在內(nèi)的14個特征, 可以用于預(yù)測一個人的年收入是否超過5萬美元。
German Credit數(shù)據(jù)集[115]是根據(jù)個人的銀行貸款信息和申請客戶貸款逾期發(fā)生情況來預(yù)測貸款違約傾向的數(shù)據(jù)集, 數(shù)據(jù)集包含24個維度的1000條數(shù)據(jù), 具體包括年齡、工作類型、婚姻狀況、性別等50個特征。
Boston房價數(shù)據(jù)集[116]包含美國人口普查局收集的美國馬薩諸塞州波士頓住房價格的有關(guān)信息, 只含有506條數(shù)據(jù)。每條數(shù)據(jù)包含房屋以及房屋周圍的詳細信息。其中包含城鎮(zhèn)犯罪率, 一氧化氮濃度, 住宅平均房間數(shù), 到中心區(qū)域的加權(quán)距離以及自住房平均房價等14個特征。
MEPS數(shù)據(jù)集[117]是唯一衡量美國人如何使用和支付醫(yī)療保健、健康保險和自付費用的全國性數(shù)據(jù)來源。其內(nèi)容包括健康狀況、醫(yī)療服務(wù)使用、收費、保險范圍和護理滿意度。
COMPAS數(shù)據(jù)集[118]收集了超過7000名在佛羅里達州被捕罪犯及其被告再犯的風(fēng)險。它是美國各地使用的幾種風(fēng)險評估算法之一, 可用于預(yù)測暴力犯罪的熱點地區(qū), 確定囚犯可能需要的監(jiān)管類型。目前美國已經(jīng)有5個州靠COMPAS來進行刑事司法判決, 其他轄區(qū)也已經(jīng)有其他的風(fēng)險評估程序就位。
Bank Marketing數(shù)據(jù)集[119]描述了葡萄牙銀行營銷活動結(jié)果, 主要基于直接電話, 向銀行客戶提供定期存款。該數(shù)據(jù)集包含11162條數(shù)據(jù), 50個特征, 包括年齡、職業(yè)、婚姻狀況、賬戶余額等。
IMDb電影評論數(shù)據(jù)集[120]是一個二元情感分析數(shù)據(jù)集, 由來自互聯(lián)網(wǎng)電影數(shù)據(jù)庫(IMDb)的50000條評論組成, 標(biāo)記為正面或負面。每部電影包含的評論不超過30條。數(shù)據(jù)集包含額外的未標(biāo)記數(shù)據(jù)。
預(yù)訓(xùn)練模型庫的發(fā)展解決了訓(xùn)練成本問題, 拓寬了深度學(xué)習(xí)模型的應(yīng)用領(lǐng)域。本節(jié)整理了主流的在線模型庫, 以便未來的應(yīng)用和安全性測試。
7.2.1 Caffe Model Zoo
Caffe是一個考慮了表達、運行速度和模塊化的深度學(xué)習(xí)框架。在Caffe Model Zoo③https://github.com/BVLC/caffe/wiki/Model-Zoo中, 集成了由許多研究人員和工程師使用各種架構(gòu)和數(shù)據(jù)為不同的任務(wù)制作的Caffe模型, 這些預(yù)訓(xùn)練模型可以應(yīng)用于多種任務(wù)和研究中, 從簡單回歸到大規(guī)模視覺分類, 再到語音和機器人應(yīng)用。
7.2.2 ONNX Model Zoo
開放神經(jīng)網(wǎng)絡(luò)交換(Open Neural Network Exchange, ONNX)是一種用于表示機器學(xué)習(xí)模型的開放標(biāo)準(zhǔn)格式。ONNX定義了一組通用運算符、機器學(xué)習(xí)和深度學(xué)習(xí)模型的構(gòu)建塊, 以及一種通用文件格式, 使AI開發(fā)人員能夠使用具有各種框架、工具、運行時和編譯器的模型。ONNX Model Zoo④https://github.com/onnx/models是由社區(qū)成員貢獻的ONNX格式的預(yù)訓(xùn)練的、最先進的集成模型庫。模型任務(wù)涵蓋了圖像分類、目標(biāo)檢測、機器翻譯等十種多領(lǐng)域任務(wù)。
7.2.3 BigML model market
BigML⑤https://bigml.com/是一個可消耗、可編程且可擴展的機器學(xué)習(xí)平臺, 可輕松解決分類、回歸、時間序列預(yù)報、聚類分析、異常檢測、關(guān)聯(lián)發(fā)現(xiàn)和主題建模任務(wù), 并將它們自動化。BigML促進了跨行業(yè)的無限預(yù)測應(yīng)用, 包括航空航天、汽車、能源、娛樂、金融服務(wù)、食品、醫(yī)療保健、物聯(lián)網(wǎng)、制藥、運輸、電信等等。
7.2.4 Amazon SageMaker
Amazon SageMaker⑥https://aws.amazon.com/cn/sagemaker/是由亞馬遜提供的機器學(xué)習(xí)服務(wù)平臺, 通過整合專門為機器學(xué)習(xí)構(gòu)建的廣泛功能集, 幫助數(shù)據(jù)科學(xué)家和開發(fā)人員快速準(zhǔn)備、構(gòu)建、訓(xùn)練和部署高質(zhì)量的機器學(xué)習(xí)模型。SageMaker消除了機器學(xué)習(xí)過程中每個步驟的繁重工作, 讓開發(fā)高質(zhì)量模型變得更加輕松。SageMaker在單個工具集中提供了用于機器學(xué)習(xí)的所有組件, 因此模型將可以通過更少的工作量和更低的成本更快地投入生產(chǎn)。
得益于眾多深度學(xué)習(xí)框架和集成模型庫的快速發(fā)展, 深度學(xué)習(xí)模型被廣泛應(yīng)用于安全攸關(guān)的領(lǐng)域, 測試工具也逐步被開發(fā)和完善。本節(jié)整理了現(xiàn)有的常用測試工具包。
7.3.1 Themis
Galhotra等人[83]提出了Themis⑦https://github.com/LASER-UMASS/Themis, 一個開源的、用于檢測因果偏見的公平性測試工具。它可以通過生成有效的測試套件來測量歧視是否存在。在給定描述有效系統(tǒng)輸入的模式時, Themis會自動生成判別測試。其應(yīng)用場景包括金融貸款、醫(yī)療診斷和治療、促銷行為、刑事司法系統(tǒng)等。
7.3.2 mltest
測試工具mltest⑧https://github.com/Thenerdstation/mltest, 是一個為基于Tensorflow的機器學(xué)習(xí)系統(tǒng)編寫單元測試的測試框架。它可以通過極少的設(shè)置, 實現(xiàn)包括變量變化、變量恒定、對數(shù)范圍檢查、輸入依賴、NaN和Inf張量檢查等多種常見的機器學(xué)習(xí)問題進行綜合測試。遺憾的是, Tensorflow2.0的發(fā)布, 破壞了該測試工具的大部分功能。
7.3.3 torchtest
torchtest⑨https://github.com/suriyadeepan/torchtest受mltest啟發(fā), 與mltest功能類似, 是為基于pytorch的機器學(xué)習(xí)系統(tǒng)編寫單元測試的測試框架。
總體而言, 與傳統(tǒng)軟件測試不同, 深度學(xué)習(xí)測試中現(xiàn)有的工具支持發(fā)展仍處于初期且尚不成熟。系統(tǒng)且全面的測試工具開發(fā), 存在巨大的發(fā)展前景。
目前深度模型的可靠性測試領(lǐng)域的研究工作還有很大的發(fā)展空間, 如何更高效地對深度模型進行系統(tǒng)性的測試也成為安全領(lǐng)域相關(guān)研究人員的關(guān)注點之一。本節(jié)根據(jù)目前國內(nèi)外的研究現(xiàn)狀, 基于上述對測試任務(wù)的介紹, 對深度模型測試的未來發(fā)展方向進行探討。如何構(gòu)建模型缺陷的多尺度、自適應(yīng)、可拓展的安全測試框架, 實現(xiàn)在多粒度、多層級上監(jiān)視、評估極端情況的威脅程度與范圍, 是安全可靠人工智能研究中的一個關(guān)鍵問題。
目前不同深度學(xué)習(xí)類別和任務(wù)的測試存在明顯的不平衡。在未來的研究工作中, 測試研究應(yīng)不僅集中于監(jiān)督學(xué)習(xí)的分類問題上, 對于日益流行的強化學(xué)習(xí)和遷移學(xué)習(xí)的測試方法, 既有挑戰(zhàn), 也有研究機遇。
此外, 當(dāng)前測試主要圍繞卷積神經(jīng)網(wǎng)絡(luò)的圖像分類任務(wù)展開。在未來的工作中, 研究重心應(yīng)轉(zhuǎn)移到已有研究甚少的語音識別、自然語言處理等運用循環(huán)神經(jīng)網(wǎng)絡(luò)等時序分類任務(wù)中。設(shè)計面向多種場景領(lǐng)域和任務(wù)的測試, 也將是未來非常重要的研究方向。
目前的研究主要集中于進行數(shù)據(jù)測試, 但僅從數(shù)據(jù)安全性考量深度學(xué)習(xí)模型整體安全性是片面的。研究者應(yīng)考慮到, 模型安全性的復(fù)合效應(yīng)(如, 高分類精度、強魯棒性等)是由不同行為組件組合而成, 對于組件的數(shù)據(jù)、訓(xùn)練程序甚至深度學(xué)習(xí)框架的測試也是保障測試全面性的解決途徑。此外, 在測試過程中, 回歸測試、錯誤成因分析和錯誤種類劃分也應(yīng)有研究價值。
對于測試的可解釋性, 現(xiàn)有的方法主要依賴于手動評估。未來的研究中, 應(yīng)盡可能降低人工成本, 實現(xiàn)自動判斷深度學(xué)習(xí)模型的邏輯或預(yù)測結(jié)果是否與人類可理解的語義相同。我們認為研究可解釋性的自動評估或可解釋性違規(guī)的檢測是十分有必要的, 這在一定程度上保證了測試是否可信。同時, 測試屬性的可視化在測試中可以幫助開發(fā)人員理解錯誤, 并幫助錯誤定位和進一步修復(fù)。
在深度模型測試中, 測試代價通常很高, 嚴重阻礙了測試實際部署模型的可能性。在未來的研究中, 在龐大的測試輸入搜索空間以及重復(fù)預(yù)測過程中降低時間與空間成本十分值得研究。降低成本的一個可能的研究方向是將深度學(xué)習(xí)模型表示精簡表示為某種中間狀態(tài), 使其更易于測試。此外, 應(yīng)用傳統(tǒng)的成本降低技術(shù), 如測試優(yōu)先級或測試樣本數(shù)目最小化, 以減少測試用量, 同時保持測試的正確性也將是未來縮短測試成本的解決途徑。
近年來, 從圖像識別到自然語言處理, 從社交網(wǎng)絡(luò)到語音識別深度學(xué)習(xí)模型在多種領(lǐng)域中得到廣泛應(yīng)用。目前面向深度模型的安全性測試已在自動駕駛和自然語言處理方面等多個實際場景中得到了應(yīng)用, 然而, 測試技術(shù)仍處于初級階段, 許多關(guān)鍵的科學(xué)問題亟待解決。此外, 對于測試方法尚缺少涵蓋多角度、全面完整的中文綜述工作。本文概括了面向深度模型的可靠性測試方法, 根據(jù)模型任務(wù)性能、安全性、公平性和隱私性這四個不同的測試目標(biāo), 對現(xiàn)有方法進行了全面的歸納總結(jié), 同時介紹了應(yīng)用場景和常用數(shù)據(jù)集、模型庫和工具包, 并分析了深度模型可靠性測試未來研究方向, 為設(shè)計系統(tǒng)、高效、可信的深度模型測試提供參考。
[1] Bojarski M, Del Testa D, Dworakowski D, et al. End to End Learning for Self-Driving Cars[EB/OL]. 2016: arXiv: 1604.07316. https://arxiv.org/abs/1604.07316.pdf.
[2] Costa-jussà M R. From Feature to Paradigm: Deep Learning in Machine Translation[J]., 2018, 61: 947-974.
[3] Bhattacharya S, Reddy Maddikunta P K, Pham Q V, et al. Deep Learning and Medical Image Processing for Coronavirus (COVID-19) Pandemic: A Survey[J]., 2021, 65: 102589.
[4] Lambert F. Understanding the fatal tesla accident on autopilot and the nhtsa probe[J]., July, 2016, 1.
[5] Wang Z, Yan M, Liu S, et al. Survey on Testing of Deep Neural Networks[J]., 2020, 31(5): 1255-1275. (王贊, 閆明, 劉爽, 等. 深度神經(jīng)網(wǎng)絡(luò)測試研究綜述[J]., 2020, 31(5): 1255-1275.)
[6] Huang X W, Kroening D, Ruan W J, et al. A Survey of Safety and Trustworthiness of Deep Neural Networks: Verification, Testing, Adversarial Attack and Defence, and Interpretability[J]., 2020, 37: 100270.
[7] Li D, Dong C Q, Si P C, et al. Survey of Research on Neural Network Verification and Testing Technology[J]., 2021, 57(22): 53-67. (李舵, 董超群, 司品超, 等. 神經(jīng)網(wǎng)絡(luò)驗證和測試技術(shù)研究綜述[J]., 2021, 57(22): 53-67.)
[8] Goodfellow I J, Shlens J, Szegedy C. Explaining and Harnessing Adversarial Examples[EB/OL]. 2014: arXiv: 1412.6572. https:// arxiv.org/abs/1412.6572.pdf.
[9] Szegedy C, Zaremba W, Sutskever I, et al. Intriguing Properties of Neural Networks[EB/OL]. 2013: arXiv: 1312.6199. https://arxiv. org/abs/1312.6199.pdf.
[10] Carlini N, Wagner D. Towards Evaluating the Robustness of Neural Networks[C]., 2017: 39-57.
[11] Dong Y P, Liao F Z, Pang T Y, et al. Boosting Adversarial Attacks with Momentum[C]., 2018: 9185-9193.
[12] Gu T Y, Dolan-Gavitt B, Garg S. BadNets: Identifying Vulnerabilities in the Machine Learning Model Supply Chain[EB/OL]. 2017: arXiv: 1708.06733. https://arxiv.org/abs/1708.06733.pdf.
[13] Shafahi A, Huang W R, Najibi M, et al. Poison frogs! targeted clean-label poisoning attacks on neural networks[EB/OL]. 2018: ArXiv Preprint ArXiv:1804.00792.
[14] Saha A, Subramanya A, Pirsiavash H. Hidden Trigger Backdoor Attacks[J]., 2020, 34(7): 11957-11965.
[15] Salem A, Wen R, Backes M, et al. Dynamic Backdoor Attacks Against Machine Learning Models[EB/OL]. 2020: arXiv: 2003.03675. https://arxiv.org/abs/2003.03675.pdf.
[16] Pei K X, Cao Y Z, Yang J F, et al. DeepXplore: Automated Whitebox Testing of Deep Learning Systems[EB/OL]. 2017: arXiv: 1705.06640. https://arxiv.org/abs/1705.06640.pdf.
[17] Klees G, Ruef A, Cooper B, et al. Evaluating Fuzz Testing[C]., 2018: 2123-2138.
[18] Ma L, Zhang F Y, Sun J Y, et al. DeepMutation: Mutation Testing of Deep Learning Systems[C]., 2018: 100-111.
[19] Ma L, Juefei-Xu F, Xue M H, et al. DeepCT: Tomographic Combinatorial Testing for Deep Learning Systems[C].,, 2019: 614-618.
[20] Baldoni R, Coppa E, D’elia D C, et al. A Survey of Symbolic Execution Techniques[J]., 51(3)Article No. 50.
[21] Sun Y C, Wu M, Ruan W J, et al. Concolic Testing for Deep Neural Networks[C]., 2018: 109-119.
[22] Japkowicz N. Why question machine learning evaluation methods[C].2006: 6-11.
[23] Chen W J, Gallas B D, Yousef W A. Classifier Variability: Accounting for Training and Testing[J]., 2012, 45(7): 2661-2671.
[24] Chen W J, Samuelson F W, Gallas B D, et al. On the Assessment of the Added Value of New Predictive Biomarkers[J]., 2013, 13(1): 1-9.
[25] Qin Y, Wang H Y, Xu C, et al. SynEva: Evaluating ML Programs by Mirror Program Synthesis[C].,, 2018: 171-182.
[26] Zhang J M, Barr E T, Guedj B, et al. Perturbed Model Validation: A New Framework to Validate Model Relevance[EB/OL]. 2019: arXiv: 1905.10201. https://arxiv.org/abs/1905.10201.pdf.
[27] Werpachowski R, Gy?rgy A, Szepesvári C. Detecting Overfitting via Adversarial Examples[EB/OL]. 2019: arXiv: 1903.02380. https://arxiv.org/abs/1903.02380.pdf.
[28] Chatterjee S, Mishchenko A. Circuit-Based Intrinsic Methods to Detect Overfitting[EB/OL]. 2019: arXiv: 1907.01991. https://arxiv. org/abs/1907.01991.pdf.
[29] Gossmann A, Pezeshk A, Sahiner B. Test Data Reuse for Evaluation of Adaptive Machine Learning Algorithms: Over-Fitting to a Fixed ‘Test’ Dataset and a Potential Solution[C].,:,,, 2018, 10577: 121-132.
[30] Ma S Q, Liu Y Q, Lee W C, et al. MODE: Automated Neural Network Model Debugging via State Differential Analysis and Input Selection[C]., 2018: 175-186.
[31] Guo J M, Jiang Y, Zhao Y, et al. DLFuzz: Differential Fuzzing Testing of Deep Learning Systems[C]., 2018: 739-743.
[32] LeCun Y, Bottou L, Bengio Y, et al. Gradient-Based Learning Applied to Document Recognition[J]., 1998, 86(11): 2278-2324.
[33] Deng J, Dong W, Socher R, et al. ImageNet: A Large-Scale Hierarchical Image Database[C]., 2009: 248-255.
[34] Odena A, Goodfellow I. TensorFuzz: Debugging Neural Networks with Coverage-Guided Fuzzing[EB/OL]. 2018: arXiv: 1807.10875. https://arxiv.org/abs/1807.10875.pdf.
[35] Tian Y C, Pei K X, Jana S, et al. DeepTest: Automated Testing of Deep-Neural-Network-Driven Autonomous Cars[C]., 2018: 303-314.
[36] Ma L, Juefei-Xu F, Zhang F Y, et al. DeepGauge: Multi-Granularity Testing Criteria for Deep Learning Systems[C]., 2018: 120-131.
[37] Xie X F, Ma L, Juefei-Xu F, et al. DeepHunter: A Coverage-Guided Fuzz Testing Framework for Deep Neural Networks[C]., 2019: 146-157.
[38] Lee S, Cha S, Lee D, et al. Effective White-Box Testing of Deep Neural Networks with Adaptive Neuron-Selection Strategy[C]., 2020: 165-176.
[39] Sun Y C, Huang X W, Kroening D, et al. Testing Deep Neural Networks[EB/OL]. 2018: arXiv: 1803.04792. https://arxiv.org/abs/ 1803.04792.pdf.
[40] Du X N, Xie X F, Li Y, et al. DeepCruiser: Automated Guided Testing for Stateful Deep Learning Systems[EB/OL]. 2018: arXiv: 1812.05339. https://arxiv.org/abs/1812.05339.pdf.
[41] Du X N, Xie X F, Li Y, et al. DeepStellar: Model-Based Quantitative Analysis of Stateful Deep Learning Systems[C]., 2019: 477-487.
[42] Huang W, Sun Y C, Huang X W, et al. TestRNN: Coverage-Guided Testing on Recurrent Neural Networks[EB/OL]. 2019: arXiv: 1906.08557. https://arxiv.org/abs/1906.08557.pdf.
[43] Li Z N, Ma X X, Xu C, et al. Structural Coverage Criteria for Neural Networks could be Misleading[C].:, 2019: 89-92.
[44] Harel-Canada F, Wang L X, Ali Gulzar M, et al. Is Neuron Coverage a Meaningful Measure for Testing Deep Neural Networks? [C]., 2020: 851-862.
[45] Dong Y Z, Zhang P X, Wang J Y, et al. There is Limited Correlation between Coverage and Robustness for Deep Neural Networks[EB/OL]. 2019: arXiv: 1911.05904. https://arxiv.org/abs/ 1911.05904.pdf.
[46] Jia Y, Harman M. An Analysis and Survey of the Development of Mutation Testing[J]., 2011, 37(5): 649-678.
[47] Hu Q, Ma L, Xie X F, et al. DeepMutation: A Mutation Testing Framework for Deep Learning Systems[C]., 2020: 1158-1161.
[48] Humbatova N, Jahangirova G, Tonella P. DeepCrime: Mutation Testing of Deep Learning Systems Based on Real Faults[C]., 2021: 67-78.
[49] Shen W J, Wan J, Chen Z Y. MuNN: Mutation Analysis of Neural Networks[C].,, 2018: 108-115.
[50] Riccio V, Humbatova N, Jahangirova G, et al. DeepMetis: Augmenting a Deep Learning Test Set to Increase Its Mutation Score[EB/OL]. 2021: arXiv: 2109.07514. https://arxiv.org/abs/ 2109.07514.pdf.
[51] Zhang H, Chan W K. Apricot: A Weight-Adaptation Approach to Fixing Deep Learning Models[C]., 2020: 376-387.
[52] Zhang H, Chan W K. Plum: Exploration and Prioritization of Model Repair Strategies for Fixing Deep Learning Models[C]., 2021: 140-151.
[53] Borkar T S, Karam L J. DeepCorrect: Correcting DNN Models Against Image Distortions[J]., 2019, 28(12): 6022-6034.
[54] Eniser H F, Gerasimou S, Sen A. DeepFault: Fault Localization for Deep Neural Networks[EB/OL]. 2019: arXiv: 1902.05974. https:// arxiv.org/abs/1902.05974.pdf.
[55] Wang J Y, Chen J L, Sun Y C, et al. RobOT: Robustness-Oriented Testing for Deep Learning Systems[C]., 2021: 300-311.
[56] Gao X, Saha R K, Prasad M R, et al. Fuzz Testing Based Data Augmentation to Improve Robustness of Deep Neural Networks[C]., 2020: 1147-1158.
[57] Liu Z X, Feng Y, Chen Z Y. DialTest: Automated Testing for Recurrent-Neural-Network-Driven Dialogue Systems[C]., 2021: 115-126.
[58] Yu B, Qi H, Guo Q, et al. DeepRepair: Style-Guided Repairing for DNNS in the Real-World Operational Environment[EB/OL]. 2020: arXiv: 2011.09884. https://arxiv.org/abs/2011.09884.pdf.
[59] Hou Y H, Liu J W, Wang D W, et al. TauMed: Test Augmentation of Deep Learning in Medical Diagnosis[C]., 2021: 674-677.
[60] Wang B L, Yao Y S, Shan S, et al. Neural Cleanse: Identifying and Mitigating Backdoor Attacks in Neural Networks[C]., 2019: 707-723.
[61] Guo W B, Wang L, Xing X Y, et al. TABOR: A Highly Accurate Approach to Inspecting and Restoring Trojan Backdoors in AI Systems[EB/OL]. 2019: arXiv: 1908.01763. https://arxiv.org/abs/ 1908.01763.pdf.
[62] Harikumar H, Le V, Rana S T, et al. Scalable Backdoor Detection in Neural Networks[EB/OL]. 2020: arXiv: 2006.05646. https:// arxiv.org/abs/2006.05646.pdf.
[63] Chen H, Fu C, Zhao J, et al. DeepInspect: A Black-box Trojan Detection and Mitigation Framework for Deep Neural Networks[C].2019: 4658-4664.
[64] Tang D, Wang X F, Tang H X, et al. Demon in the Variant: Statistical Analysis of DNNS for Robust Backdoor Contamination Detection[EB/OL]. 2019: arXiv: 1908.00686. https://arxiv.org/abs/ 1908.00686.pdf.
[65] Xu X J, Wang Q, Li H C, et al. Detecting AI Trojans Using Meta Neural Analysis[C]., 2021: 103-120.
[66] Liu Y Q, Lee W C, Tao G H, et al. ABS: Scanning Neural Networks for Back-Doors by Artificial Brain Stimulation[C]., 2019: 1265-1282.
[67] Liu Y Q, Shen G Y, Tao G H, et al. EX-RAY: Distinguishing Injected Backdoor from Natural Features in Neural Networks by Examining Differential Feature Symmetry[EB/OL]. 2021: arXiv: 2103.08820. https://arxiv.org/abs/2103.08820.pdf.
[68] Feng Y, Shi Q K, Gao X Y, et al. DeepGini: Prioritizing Massive Tests to Enhance the Robustness of Deep Neural Networks[C]., 2020: 177-188.
[69] Byun T, Sharma V, Vijayakumar A, et al. Input Prioritization for Testing Neural Networks[C]., 2019: 63-70.
[70] Zhang L, Sun X C, Li Y, et al. A Noise-Sensitivity-Analysis-Based Test Prioritization Technique for Deep Neural Networks[EB/OL]. 2019: arXiv: 1901.00054. https://arxiv.org/abs/1901.00054.pdf.
[71] Zhang K, Zhang Y T, Zhang L W, et al. Neuron Activation Frequency Based Test Case Prioritization[C]., 2021: 81-88.
[72] Ma W, Papadakis M, Tsakmalis A, et al. Test Selection for Deep Learning Systems[J]., 30(2)Article No. 13.
[73] Wang Z, You H M, Chen J J, et al. Prioritizing Test Inputs for Deep Neural Networks via Mutation Analysis[C]., 2021: 397-409.
[74] Kim J, Feldt R, Yoo S. Guiding Deep Learning System Testing Using Surprise Adequacy[C]., 2019: 1039-1049.
[75] Shen W J, Li Y H, Chen L, et al. Multiple-Boundary Clustering and Prioritization to Promote Neural Network Retraining[C]., 2020: 410-422.
[76] Meng L H, Li Y H, Chen L, et al. Measuring Discrimination to Boost Comparative Testing for Multiple Deep Learning Models[C]., 2021: 385-396.
[77] Guerriero A, Pietrantuono R, Russo S. Operation is the Hardest Teacher: Estimating DNN Accuracy Looking for Mispredictions[C]., 2021: 348-358.
[78] Udeshi S, Arora P, Chattopadhyay S. Automated Directed Fairness Testing[C]., 2018: 98-108.
[79] Agarwal A, Lohia P, Nagar S, et al. Automated Test Generation to Detect Individual Discrimination in AI Models[EB/OL]. 2018: arXiv: 1809.03260. https://arxiv.org/abs/1809.03260.pdf.
[80] Zhang P X, Wang J Y, Sun J, et al. White-Box Fairness Testing through Adversarial Sampling[C]., 2020: 949-960.
[81] Zhang L F, Zhang Y L, Zhang M. Efficient White-Box Fairness Testing through Gradient Search[C]., 2021: 103-114.
[82] Zheng H B, Chen Z Q, Du T Y, et al. NeuronFair: Interpretable White-Box Fairness Testing through Biased Neuron Identification[EB/OL]. 2021: arXiv: 2112.13214. https://arxiv.org/abs/ 2112.13214.pdf.
[83] Galhotra S, Brun Y, Meliou A. Fairness Testing: Testing Software for Discrimination[C]., 2017: 498-510.
[84] Sun B, Sun J, Pham H L, et al. Causality-Based Neural Network Repair[EB/OL]. 2022: arXiv: 2204.09274. https://arxiv.org/abs/ 2204.09274.pdf.
[85] Bichsel B, Gehr T, Drachsler-Cohen D, et al. DP-Finder: Finding Differential Privacy Violations by Sampling and Optimization[C]., 2018: 508-524.
[86] Ding Z Y, Wang Y X, Wang G H, et al. Detecting Violations of Differential Privacy[C]., 2018: 475-489.
[87] Zhang H C, Roth E, Haeberlen A, et al. Testing Differential Privacy with Dual Interpreters[J]., 2020, 4(OOPSLA)Article No. 165.
[88] Wang Y X, Ding Z Y, Kifer D, et al. CheckDP: An Automated and Integrated Approach for Proving Differential Privacy or Finding Precise Counterexamples[C]., 2020: 919-938.
[89] Bichsel B, Steffen S, Bogunovic I, et al. DP-Sniper: Black-Box Discovery of Differential Privacy Violations Using Classifiers[C]., 2021: 391-409.
[90] Farina G P, Chong S, Gaboardi M. Coupled Relational Symbolic Execution for Differential Privacy[EB/OL]. 2020: arXiv: 2007.12987. https://arxiv.org/abs/2007.12987.pdf.
[91] Zhang M S, Zhang Y Q, Zhang L M, et al. DeepRoad: GAN-Based Metamorphic Testing and Input Validation Framework for Autonomous Driving Systems[C]., 2018: 132-142.
[92] Goodfellow I, Pouget-Abadie J, Mirza M, et al. Generative Adversarial Networks[J]., 2020, 63(11): 139-144.
[93] Zhou H S, Li W, Kong Z L, et al. DeepBillboard: Systematic Physical-World Testing of Autonomous Driving Systems[C]., 2020: 347-358.
[94] Riccio V, Tonella P. Model-Based Exploration of the Frontier of Behaviours for Deep Learning System Testing[C]., 2020: 876-888.
[95] Birchler C, Khatiri S, Derakhshanfar P, et al. Automated Test Cases Prioritization for Self-driving Cars in Virtual Environments[EB/OL]. 2021: ArXiv Preprint ArXiv:2107.09614.
[96] Asyrofi M H, Thung F, Lo D, et al. CrossASR: Efficient Differential Testing of Automatic Speech Recognition via Text-to-Speech[C]., 2020: 640-650.
[97] Asyrofi M H, Yang Z, Lo D. CrossASR++: A Modular Differential Testing Framework for Automatic Speech Recognition[EB/OL]. 2021: ArXiv Preprint ArXiv:2105.14881.
[98] Sun L Q, Zhou Z Q. Metamorphic Testing for Machine Translations: MT4MT[C]., 2018: 96-100.
[99] Sun Z Y, Zhang J M, Harman M, et al. Automatic Testing and Improvement of Machine Translation[C]., 2020: 974-985.
[100] Xiao H, Rasul K, Vollgraf R. Fashion-mnist: a novel image dataset for benchmarking machine learning algorithms[EB/OL]. 2017: ArXiv Preprint ArXiv:1708.07747.
[101] Krizhevsky A, Hinton G. Learning multiple layers of features from tiny images. Technical report, 2009.
[102] Le Y, Yang X. Tiny imagenet visual recognition challenge[J].2015, 7(7): 3.
[103] Netzer Y, Wang T, Coates A, et al. Reading digits in natural images with unsupervised feature learning[C].2011: 1-9.
[104] Liu Z W, Luo P, Wang X G, et al. Deep Learning Face Attributes in the Wild[C]., 2016: 3730-3738.
[105] Huang G B, Mattar M, Berg T, et al. Labeled faces in the wild: A database for studying face recognition in unconstrained environments[C].. 2008: 1-15.
[106] Lin T Y, Maire M, Belongie S, et al. Microsoft COCO: Common Objects in Context[EB/OL]. 2014: arXiv: 1405.0312. https://arxiv. org/abs/1405.0312.pdf.
[107] Geiger A, Lenz P, Urtasun R. Are we Ready for Autonomous Driving? the KITTI Vision Benchmark Suite[C]., 2012: 3354-3361.
[108] Veaux C, Yamagishi J, MacDonald K. CSTR VCTK corpus: English multi-speaker corpus for CSTR voice cloning toolkit. Technical report. University of Edinburgh. The Centre for Speech Technology Research (CSTR)2017.
[109] Panayotov V, Chen G G, Povey D, et al. Librispeech: An ASR Corpus Based on Public Domain Audio Books[C].,, 2015: 5206-5210.
[110] Nagrani A, Chung J S, Zisserman A. VoxCeleb: A Large-Scale Speaker Identification Dataset[EB/OL]. 2017: arXiv: 1706.08612. https://arxiv.org/abs/1706.08612.pdf.
[111] Bowman S R, Angeli G, Potts C, et al. A Large Annotated Corpus for Learning Natural Language Inference[EB/OL]. 2015: arXiv: 1508.05326. https://arxiv.org/abs/1508.05326.pdf.
[112] Williams A, Nangia N, Bowman S R. A Broad-Coverage Challenge Corpus for Sentence Understanding through Inference[EB/OL]. 2017: arXiv: 1704.05426. https://arxiv.org/abs/1704.05426.pdf.
[113] Weston J, Bordes A, Chopra S, et al. Towards AI-Complete Question Answering: A Set of Prerequisite Toy Tasks[EB/OL]. 2015: arXiv: 1502.05698. https://arxiv.org/abs/1502.05698.pdf.
[114] Kohavi R. Scaling up the Accuracy of Naive-Bayes Classifiers: A Decision-Tree Hybrid[C]., 1996: 202-207.
[115] German Credit Datasets. http://archive.ics.uci.edu/ml/machine- learning-databases/statlog/german/. 2000.
[116] The Boston Housing Dataset. https://www.cs.toronto.edu/~delve/ data/boston/bostonDetail.html. 1978.
[117] Cohen S B. Design Strategies and Innovations in the Medical Expenditure Panel Survey[J]., 2003, 41: III-5–III–12.
[118] Zafar M B, Valera I, Rodriguez M G, et al. Fairness beyond Disparate Treatment & Disparate Impact: Learning Classification without Disparate Mistreatment[C]., 2017: 1171-1180.
[119] Moro S, Cortez P, Rita P. A Data-Driven Approach to Predict the Success of Bank Telemarketing[J]., 2014, 62: 22-31.
[120] Maas A L, Daly R E, Pham P T, et al. Learning Word Vectors for Sentiment Analysis[C].:, 2011: 142-150.
Deep Learning Testing for Reliability: A Survey
CHEN Ruoxi1, JIN Haibo1, CHEN Jinyin1,2, ZHENG Haibin1,2, LI Xiaohao1
1College of Information Engineering, Zhejiang University of Technology, Hangzhou 310023, China2College of Institute of Cyberspace Security, Zhejiang University of Technology, Hangzhou 310023, China
Deep neural networks (DNNs) have been widely applied in various areas due to impressive capabilities and outstanding performance. However, they will expose unexpected erroneous behaviors when they are faced with uncertainty, which may lead to disastrous consequences in safety-critical applications such as autonomous driving systems. The reliability of deep models has aroused widespread concern in both academia and industry. Therefore, it is necessary to systematically test deep models before the deployment. The reliability of models can be evaluated and potential defects can be found in advance by generating testing examples and then obtaining test reports from the output of models. A large number of researchers have conducted in-depth research on testing DNNs and proposed a series of testing methods from different testing objectives. However, current works on survey of testing methods only focus on the security of DNNs, and they don’t take recently-published techniques into consideration. Different from them, this article focuses on four reliability test objectives of models, i.e., task performance, security, fairness and privacy, and comprehensively analyzes the related technologies and methods of testing DNNs. Firstly, the related concepts of deep learning testing are introduced. Then, according to different testing objectives, testing methods and metrics from 79 papers are classified and introduced in detail. Next, the current application of DNNs’ reliability testing in three industrial scenarios are summarized, including autonomous driving, speech recognition and natural language processing. Besides, 24 datasets, 7 online model libraries and common toolkits that can be used for deep model testing are provided. Finally, along with the challenges and opportunities, the future research direction of deep learning testing is summarized, which provides reference for the construction of systematic, efficient and reliable deep learning testing. It is worth noting that the related datasets, open-source code of testing methods and metrics are available in https://github.com/Allen-piexl/Testing-Zoo, to facilitate subsequent scholars' research.
deep neural networks; deep testing; reliability; security; fairness; privacy
TP391
10.19363/J.cnki.cn10-1380/tn.2024.01.03
陳晉音, 博士, 教授, Email:chenjinyin@zjut.edu.cn。
本課題得到國家自然科學(xué)基金(No. 62072406)、信息系統(tǒng)安全技術(shù)重點實驗室基金(No. 61421110502)、國家重點研發(fā)計劃基金資助項目(No. 2018AAA0100801)、國家自然科學(xué)基金項目-聯(lián)合重點(No. U21B2001)、浙江省重點研發(fā)計劃項目(No. 2022C01018)資助。
2022-04-06;
2022-06-22;
2023-09-26
陳若曦 于2020年在浙江工業(yè)大學(xué)電氣工程及其自動化專業(yè)獲得學(xué)士學(xué)位?,F(xiàn)在浙江工業(yè)大學(xué)控制工程專業(yè)攻讀博士學(xué)位。研究領(lǐng)域為人工智能安全。研究興趣包括: 對抗攻防、深度模型測試。Email: 2112003149@zjut.edu.cn.
金海波 于2020年在浙江工業(yè)大學(xué)通信工程專業(yè)獲得學(xué)士學(xué)位。現(xiàn)在浙江工業(yè)大學(xué)控制科學(xué)與工程專業(yè)攻讀博士學(xué)位。研究領(lǐng)域為深度學(xué)習(xí)、人工智能安全。研究興趣包括: 對抗攻防、深度模型測試。Email: 2112003035@zjut.edu.cn.
陳晉音 于2009年在浙江工業(yè)大學(xué)控制科學(xué)與工程專業(yè)獲得博士學(xué)位?,F(xiàn)任浙江工業(yè)大學(xué)網(wǎng)絡(luò)空間安全研究院教授。研究領(lǐng)域為人工智能、數(shù)據(jù)挖掘、智能計算。研究興趣包括: 可信人工智能技術(shù)及其應(yīng)用中的安全問題。Email: chenjinyin@zjut. edu.cn.
鄭海斌 分別于2017年和2022年在浙江工業(yè)大學(xué)電氣工程及其自動化專業(yè)和控制科學(xué)與工程專業(yè)獲得學(xué)士和博士學(xué)位?,F(xiàn)任浙江工業(yè)大學(xué)網(wǎng)絡(luò)安全研究院講師。研究領(lǐng)域為深度學(xué)習(xí)、人工智能安全。研究興趣包括: 對抗攻防、深度模型公平性。Email: haibinzheng320@gmail.com.
李曉豪 于2020年在常熟理工學(xué)院自動化專業(yè)獲得工學(xué)學(xué)士學(xué)位?,F(xiàn)在浙江工業(yè)大學(xué)控制科學(xué)與工程專業(yè)攻讀碩士研究生學(xué)位。研究領(lǐng)域為人工智能安全、網(wǎng)絡(luò)安全。研究興趣包括網(wǎng)絡(luò)攻防、深度學(xué)習(xí)等。Email: xiaohaoli0124@gmail.com.