?

面向深度學習模型的可靠性測試綜述

2024-01-25 12:22陳若曦金海波陳晉音鄭海斌李曉豪
信息安全學報 2024年1期
關鍵詞:覆蓋率測試方法深度

陳若曦,金海波, 陳晉音,2, 鄭海斌,2, 李曉豪

面向深度學習模型的可靠性測試綜述

陳若曦1,金海波1, 陳晉音1,2, 鄭海斌1,2, 李曉豪1

1浙江工業大學信息工程學院 杭州 3100232浙江工業大學網絡空間安全研究院 杭州 310023

深度學習模型由于其出色的性能表現而在各個領域被廣泛應用, 但它們在面對不確定輸入時, 往往會出現意料之外的錯誤行為, 在諸如自動駕駛系統等安全關鍵應用, 可能會造成災難性的后果。深度模型的可靠性問題引起了學術界和工業界的廣泛關注。因此, 在深度模型部署前迫切需要對模型進行系統性測試, 通過生成測試樣本, 并由模型的輸出得到測試報告, 以評估模型的可靠性, 提前發現潛在缺陷。一大批學者分別從不同測試目標出發, 對模型進行測試, 并且提出了一系列測試方法。目前對測試方法的綜述工作只關注到模型的安全性, 而忽略了其他測試目標, 且缺少對最新出版的方法的介紹。因此, 本文擬對模型任務性能、安全性、公平性和隱私性4個方面對現有測試技術展開全方位綜述, 對其進行全面梳理、分析和總結。具體而言, 首先介紹了深度模型測試的相關概念; 其次根據不同測試目標對79篇論文中的測試方法和指標進行分類介紹; 然后總結了目前深度模型可靠性測試在自動駕駛、語音識別和自然語言處理三個工業場景的應用, 并提供了可用于深度模型測試的24個數據集、7個在線模型庫和常用工具包; 最后結合面臨的挑戰和機遇, 對深度模型可靠性測試的未來研究方向進行總結和展望, 為構建系統、高效、可信的深度模型測試研究提供參考。值得一提的是, 本文將涉及的數據集、模型、測試方法代碼、評價指標等資料歸納整理在https://github.com/Allen-piexl/Testing-Zoo, 方便研究人員下載使用。

深度學習模型; 深度測試; 可靠性; 安全性; 公平性; 隱私性

1 引言

人工智能作為引領數字化未來的戰略性技術, 日益成為驅動經濟社會各領域加速躍升的重要引擎。近年來, 數據量爆發式增長、計算能力顯著性提升、深度學習算法突破性應用, 極大地推動了人工智能發展。然而, 深度神經網絡(Deep Neural Networks, DNNs)潛在的安全問題也給智能驅動的數字世界帶來了極大的安全隱患。DNNs在面對不確定輸入時, 往往會出現意料之外的錯誤行為, 在諸如自動駕駛系統[1]、機器翻譯[2]和醫療[3]等安全關鍵應用, 可能會造成災難性的后果, 阻礙深度模型的實際部署。例如, 谷歌的自動駕駛汽車撞上了一輛公共汽車, 只是由于公共汽車沒有按照它預計的情況讓行①相關報導見下: http://www.theverge.com/2016/2/29/11134344/google-selfdriving-car-crash-report。一輛自動駕駛的特斯拉汽車撞上了一輛拖車, 因為其自動駕駛系統無法將拖車識別為障礙物[4]。深度學習模型在應用時的可靠性問題引起了學術界和工業界的廣泛關注。

在正常工作時, 深度學習模型能輸出正確且無偏見的結果, 面對惡意輸入具有一定的抵抗能力, 同時對隱私信息具有保護能力, 是模型可靠應用的基本要求。為了提前發現模型中的潛在缺陷以避免事故發生, 亟需在部署前對其進行系統性測試。通過生成大量多樣性測試樣本, 并由模型的輸出得到測試報告, 面向深度模型的測試技術能夠在早期階段對模型進行可靠性評估和潛在缺陷的檢測, 降低模型在運行過程中發生錯誤的概率, 并有助于提高深度學習模型的可靠性。在現實中, 如何全面且高效地對深度模型進行測試, 實現極端情況的評估和監督, 進一步提高模型應用的可靠性, 成為安全可靠人工智能研究中的一個關鍵問題。

可靠的模型需要滿足分類準確、風險魯棒、決策無偏、隱私安全的基本條件。研究者們從不同角度出發, 提出了多種面向深度模型可靠性的測試方法。根據不同的模型屬性, 可靠性測試的目標具體可分為向模型任務性能、安全性、公平性和隱私性四大類。模型的任務性能主要包括分類準確率和訓練程度, 安全性指的是模型抵御外在風險的能力。模型的公平性衡量了模型輸出結果的公平程度, 隱私性則反映了模型對用戶數據的保護能力。模型的任務性能越好, 安全性和公平性越好, 對隱私的保護能力越強, 它的可靠性就越高, 在應用時出現錯誤分類的概率也就越低。這些測試屬性是深度模型行為的不同外部表現, 均在一定程度上決定了模型的行為和使用時的可靠性。

針對深度學習模型的測試方法, 已有工作[5-7]對測試相關技術進行了分析和總結。但這些工作僅關注模型的安全性測試方法, 而忽略了對其他目標的測試, 且缺乏對2020年后新出版的研究的介紹。本文從深度學習模型任務性能、安全性、公平性和隱私性四個方面對已有的可靠性測試方法進行全面梳理、分析和總結, 為其可靠應用提供系統性綜述。將目前研究成果按測試目標來分類, 總結成如圖1所示的測試目標研究分布圖。在所調研的79篇與測試方法相關的國內外文獻中, 72%(57篇)都關注了模型的安全性, 而關注其他可靠性測試目標的研究僅占少數。這證明了深度學習模型的安全性研究已成為學術界的熱門方向, 也反映出目前深度模型測試研究目標的不平衡。事實上, 模型的公平性和隱私性也是值得測試研究的重要方向。

圖1 測試目標研究分布

Figure 1 The distribution of testing objectives

根據潛在威脅的作用階段, 模型的安全性可以細分為推理階段的對抗性輸入[8-11]和訓練階段容易受到污染數據而留下中毒后門[12-15]。據此, 面向模型安全性的測試方法可以分為兩類: 面向推理階段和訓練階段安全性的測試方法。

在推理階段, 測試方法可以分為基于覆蓋率的測試方法和基于變異的測試方法, 其中覆蓋率指標借鑒了軟件測試中代碼覆蓋率的概念, 用于衡量測試的充分性。但由于深度模型和代碼的顯著差異, 它也存在一定的局限?;谧儺惖臏y試方法通過計算變異分數來發現模型中隱藏的缺陷。此外, 在得到模型的測試報告后, 基于修復的方法生成樣本對模型進行調試和修復, 以進一步提高其魯棒性和分類精度。

面向訓練階段安全性的測試方法可以分為離線和在線檢測, 它們通過不同的方式觀察模型的異常行為, 確定模型是否存在中毒后門。

此外, 由于深度模型輸入維數高, 內部潛在特征空間大, 需要大量的測試樣本對其進行測試, 也需要大量人力成本對樣本進行標記。面向測試樣本的選取方法對大量待標記的測試樣本進行優先級排序, 以降低標記成本, 提升測試效率。

綜上, 為了更好地探究該領域的測試方法以及相關進展, 本文對目前的研究成果進行梳理和總結, 具體的思維脈絡如圖2所示。

圖2 本文主要思維脈絡

Figure 2 The framework of this paper

具體而言, 本文在第2節介紹了深度模型和安全性問題, 具體介紹了可靠性測試的相關概念; 第3~5節分別從模型任務性能、安全性、公平性和隱私性四個不同的角度出發, 對目前的測試方法進行了詳細地介紹與分析; 第6節具體介紹了可靠性測試在多個領域中的應用; 第7節闡述目前不同領域中適用于測試的數據集, 此外還介紹了不同的模型庫和常用工具包; 最后總結了面向深度模型可靠性測試的未來發展方向。本文涉及的開源代碼和論文資源已經整理到公開的GitHub倉庫②https://github.com/Allen-piexl/Testing-Zoo, 方便后續學者進行研究。

2 可靠性測試基本概念

本節將分別對深度學習模型及其可靠性測試的基本概念進行定義。

2.1 深度學習模型

深度神經網絡(Deep Neural Network, DNN)是最具代表性的深度學習模型之一, 僅需要用標記的訓練數據進行訓練, 就能夠從原始輸入中自動識別和提取相關的高級特征。

DNN由多層組成, 每層包含多個神經元, 如圖3所示。神經元是DNN中的一個獨立計算單元, 它對其輸入應用激活函數, 并將結果傳遞給其他連接的神經元。DNN通常包括一個輸入層、一個輸出層和一個或多個隱藏層。層中的每個神經元都與下一層中的神經元有直接的連接??傮w而言, DNN可以在數學上定義為多輸入、多輸出的參數函數, 由代表不同神經元的多個參數子函數組成。在運行過程中, 每一層都將其輸入中包含的信息轉換為更高級別的數據表示。

圖3 深度學習模型示意圖[16]

Figure 3 The architecture of DNN[16]

2.1.1 深度學習模型的分類

深度學習模型主要分為卷積神經網絡(Convolutional Neural Network, CNN)和循環神經網絡(Recurrent Neural Network, RNN)。

卷積神經網絡。卷積神經網絡是包含卷積計算且具有深度結構的前饋神經網絡, 它適合處理具有類似網格結構的數據, 目前已廣泛應用于圖像分類和自然語言處理。CNN主要由卷積層、池化層和全連接層組成, 分別用于提取特征、選擇特征和分類回歸。通過局部連接和全局共享, 能夠學習大量的輸入與輸出之間的映射關系, 簡化了模型復雜度, 減少了模型的參數。

循環神經網絡。循環神經網絡是一類用于處理序列數據的神經網絡, 能以很高的效率對序列的非線性特征進行學習。簡單的RNN結構如圖4所示。它是一個由類似神經元的節點組成的網絡, 它將數據流和維護的內部狀態向量作為輸入。RNN在數據到達時處理一小塊數據, 并在每次迭代中依次產生輸出, 同時更新內部狀態。RNN中的信息不僅從前一層神經層流向后一層神經層, 而且還會從當前層狀態迭代中流向后續層神經層。RNN的狀態特性有助于其在處理序列數據(例如音頻和文本)方面取得巨大成功。目前, 長短期記憶網絡(Long Short-Term Memory, LSTM)和門控循環單元(Gate Recurrent Unit, GRU)是最先進且使用最廣泛的RNN。

圖4 RNN模型示意圖

Figure 4 The architecture of RNN

2.1.2 深度模型的安全性問題

深度學習模型在應用時面臨多種風險, 其中最為致命的則是不確定輸入帶來的安全性問題, 這也是可靠性測試學術界中最為重視的測試目標。本節將對其進行重點介紹。

深度學習模型往往容易受到不確定輸入的影響而出現誤判斷。根據安全性威脅作用的不同階段, 它們可以分為推理階段的對抗性攻擊和訓練階段的中毒攻擊。

對抗攻擊。對抗攻擊發生在模型的推理階段, 通過在正常樣本中添加微小的擾動造成模型的錯誤輸出, 如圖5所示。

對于有目標攻擊, 優化目標則為:

圖5 對抗攻擊后, 模型以很高的置信度將熊貓樣本識別成長臂猿[8]

Figure 5 The image of panda is misclassified as gibbons with high confidence after adversarial attacks[8]

2.2 可靠性測試

為了防止深度模型在應用時出現由于模型訓練、對抗或中毒引起的不確定性輸入、偏見操控和隱私泄露而產生的風險, 在部署前需要對其進行可靠性測試, 通過生成測試樣本以評估模型風險, 發現潛在缺陷, 使其在工作時安全可靠。

與開發人員直接指定系統邏輯的傳統軟件不同, 深度學習模型自動從數據中學習特征規律, 這些規律大多不為開發人員所知。因此, 深度學習的可靠性測試, 依托神經網絡所學習到的規律, 查找觸發錯誤行為的漏洞輸入, 并提供如何使用這些輸入修復錯誤行為的初步依據。

2.2.1 可靠性測試的目標

測試目標是指在深度模型測試中要測試的內容, 通常與訓練后深度模型的行為相關。應用時可靠的深度學習模型需要滿足分類準確、風險魯棒、決策公平、隱私安全的基本條件。因此, 我們將測試目標其分為模型任務性能、安全性、公平性和隱私性。

任務性能。模型任務性能可以分為分類準確率和訓練程度。準確率衡量深度模型能否正確判斷輸入的樣本。分類準確率定義如下:

模型的訓練程度評估檢測模型和數據之間的匹配程度, 其定義如下:

安全性。模型的安全性衡量了模型抵御內生脆弱性和由外部攻擊所引起的風險的能力, 其定義如下:

公平性。由于訓練數據和模型結構設計上存在偏見, 深度模型的預測結果會在敏感屬性(例如性別、種族等)方面存在偏見的現象。公平性測試可以被分為群體公平和個體公平。決策公平的模型在面對具有相同敏感屬性的群體或個體時, 會輸出相同的判斷。群體公平定義如下:

隱私性。模型的隱私性指的是模型對于私密數據信息的保護能力, 常用差分隱私進行定義:

2.2.2 可靠性測試的過程

目前面向深度模型的測試研究主要集中在離線測試, 其工作流程如圖6所示。由測試種子生成或選取測試樣本作為測試輸入, 以模型輸出計算的測試指標為指導, 進一步生成測試樣本。在深度模型中測試這些樣本, 獲得最終的測試報告。測試樣本的生成過程可以采取多種方式, 包括模糊測試和符號執行。

圖6 測試流程圖

Figure 6 The pipeline of testing procedure

模糊測試通過多種策略隨機生成大量測試樣本來進行多次測試, 以觀察模型是否出現誤分類, 由此發現模型中可能存在的漏洞[17]。這些策略可以基于變異、搜索和組合測試?;谧儺惖姆椒▽ΜF有的測試樣本進行變異以生成新的測試樣本[18]。組合測試[19]是一種平衡測試探索和缺陷檢測能力的有效測試技術, 在獲得期望的覆蓋率的同時最小化測試集的大小。

符號執行通過分析程序, 找到能使待測模型出現錯誤的符號化輸入[20]。自動符號執行, 又稱concolic測試[21], 將程序執行和符號分析相結合, 通過自動生成測試輸入實現高覆蓋率。

3 任務性能測試

模型的任務性能主要包括準確率和訓練程度, 涉及深度模型的基本功能準確性。分類準確率低、訓練不足或過擬合的模型往往不能部署到實際應用中。本節將對準確率和訓練程度兩個方面的測試方法進行介紹。

3.1 模型準確率測試

準確率是模型基礎性能之一, 它衡量了模型是否能對輸入做出正確的判斷。準確率有很多種衡量指標, 包括準確率、精確率、召回率、接受者操作特征(Receiver Operating Characteristic, ROC)曲線和曲線下面積(Area Under Curve, AUC)。

3.1.1 測試指標

模型準確率的衡量指標包括準確率、精確率、召回率、ROC曲線和AUC。

基于樣本預測值和真實值是否相符, 可得到以下4種結果:

(1) 真陽性(True Positive, TP), 即樣本預測值與真實值相符且均為正。

(2) 假陽性(False Positive, FP), 即樣本預測值為正而真實值為負。

(3) 假陰性(False Negative, FN), 即樣本預測值為負而真實值為正。

(4) 真陰性(True Negative, TN), 即樣本預測值與真實值相符且均為負, 即分類準確率。

根據這四種情況, 可以計算以下準確率指標。

AUC定量度量了ROC曲線, 計算了其下方的面積, 范圍為0~1。AUC越大, 說明模型分類性能越好。

3.1.2 測試方法

上節中介紹的各種準確率指標已在學術界被廣泛采用, 以衡量模型的分類性能。但在數據不平衡時, 它們無法全面衡量分類的正確性。例如, 準確性不能反映假陽性和假陰性, 精確率和召回率可能會誤導結果。

為了更好地選擇測試指標, 并發現模型分類正確性問題, Japkowicz等人[22]對各個準確率指標進行了分析, 指出了各自的缺點, 并提醒學者們謹慎選擇準確率指標。Chen等人[23]在評估模型分類的正確性時, 研究了訓練數據和測試數據的可變性。他們推導出了估計性能方差的解析表達式, 并提供了用高效計算算法實現的開源軟件。他們還研究了比較AUC時不同統計方法的性能[24], 發現F-test的性能優于其他方法。Qin等人[25]提出了基于程序合成的方法SynEva, 從訓練數據生成鏡像程序, 然后使用該鏡像程序的行為作為準確性的參考標準。鏡像程序會具有和測試數據類似的行為。

3.2 訓練程度測試

模型的訓練程度評估了模型和數據的匹配程度, 訓練不足或過度都可能導致模型性能不佳, 影響分類準確性。在訓練數據不足, 或模型對于訓練數據來說太復雜的情況下容易發生過擬合。

交叉驗證傳統上被認為是一種檢測過擬合的有效方法。針對深度模型, Zhang等人[26]引入了擾動模型驗證(Perturbed Model Validation, PMV), 判斷模型是否訓練完全, 來幫助模型選擇。他們將噪聲注入到訓練數據中, 針對受干擾的數據對模型進行再訓練, 然后利用訓練精度下降率來評估模型和數據的匹配程度。結果表明, PMV比交叉驗證更準確、更穩定地選擇模型, 并能有效地檢測過擬合和欠擬合。Werpachowski等人[27]提出了一種通過從測試數據生成對抗樣本的過擬合檢測方法。如果對抗樣本的重新加權誤差估計與原始測試集的誤差估計差距懸殊, 則模型存在過擬合的問題。Chatterjee等人[28]提出了一系列稱為反事實模擬(Counterfactual Simulation, CFS)方法, 該方法只需要通過邏輯電路表示來分離具有不同級別過擬合的模型, 而不用訪問任何模型的高級結構。

對于過擬合產生的原因, Gossmann等人[29]在醫學測試數據集上進行多次實驗, 發現重復使用相同的測試數據會造成模型過擬合。Ma等人[30]對訓練集進行重采樣來緩解過擬合問題。

由于模型容量和輸入數據的分布通常是未知的, 因此, 模型訓練程度的測試具有挑戰性。目前, 還缺乏完善的針對模型欠擬合的測試方法。此外, 模型訓練程度和安全性之間的平衡關系也值得探究。

4 安全性測試

隨著深度模型在越來越多的場景中得到應用, 其安全性受到了廣泛關注。深度模型由于內生脆弱性, 在推理階段容易受到不確定性輸入而出現誤判斷, 在訓練階段則容易由于污染的數據而留下中毒后門。對此, 現有按照威脅的不同階段, 面向模型安全性的測試方法可以分為兩類: 面向推理階段和訓練階段安全性的測試方法。前者主要針對推理階段的不確定輸入, 后者對訓練階段隱藏的后門進行檢測。此外, 本節將介紹測試樣本的選取方法, 對大量測試樣本進行選擇和優先級排序, 實現高效測試。

4.1 推理階段安全性測試

推理階段的安全性測試主要針對輸入的不確定性。根據測試樣本生成的指導指標, 它們可以分為基于覆蓋率的方法和基于變異的測試方法。此外, 基于修復的方法生成樣本對模型進行調試和修復, 提高其魯棒性和分類精度。

4.1.1 基于覆蓋率的測試方法

傳統軟件測試中, 測試覆蓋率是衡量測試充分性的一個重要指標, 能夠幫助客觀認識軟件質量, 提高測試效果。受此啟發, 深度模型測試借鑒了覆蓋率的概念來定量衡量測試的充分性, 并指導性測試樣本的生成。覆蓋率指標可以分為神經元覆蓋率、多粒度神經元覆蓋率、改進條件/判定范圍(Modified Condition/Decision Coverage, MC/DC)覆蓋率和狀態覆蓋率, 具體方法總結如表1。這些方法認為, 經過更系統測試(即具有更高覆蓋率)的深度模型, 在面對不確定性輸入時更安全可靠。

表1 基于覆蓋率的測試方法總結

神經元覆蓋率。Pei等人[16]提出了首個用于系統地測試深度模型的白盒框架DeepXplore(如圖7所示),并引入了神經元覆蓋率(neuron coverage, NC)指標來評估由測試輸入執行的模型的各個部分。DeepXplore在最先進的深度學習模型中有效地發現了數千個不正確的極端情況行為, 例如, 自動駕駛汽車撞到護欄, 惡意軟件被識別為良性軟件?;诖? Guo等人[31]提出了首個差分模糊測試框架DLFuzz, 不斷對輸入進行細微的變異, 以最大化神經元覆蓋率以及原始輸入和變異輸入之間的預測差異, 用于指導模型漏洞檢測, 其框架如圖8所示。在MNIST[32]和ImageNet[33]數據集上, 與DeepXplore相比, DLFuzz消耗更少的時間, 獲得了更高的覆蓋率。Odena等人[34]開發了覆蓋率引導模糊測試方法TensorFuzz, 以發現僅在稀有輸入中發生的錯誤。輸入的隨機突變由覆蓋度量引導, 以達到指定約束的目標。Tian等人[35]設計了DeepTest, 用于自動檢測深度模型驅動的車輛的錯誤行為。通過生成最大化神經元覆蓋率的測試輸入來系統地探索深度模型的不同部分, 在不同的現實駕駛條件下(例如, 模糊、下雨、霧等)發現了數千種錯誤行為。

圖7 DeepXplore的總體框架[16]

Figure 7 The framework of DeepXplore[16]

圖8 DLFuzz的總體框架[31]

Figure 8 The framework of DLFuzz[31]

多粒度神經元覆蓋率。Ma等人[36]將神經元覆蓋率進行了更細粒度地劃分, 提出了一套基于多層次、多粒度覆蓋的測試準則DeepGauge。其中包括了強神經元激活覆蓋率(strong neuron activation coverage, SNAC),節神經元覆蓋率(-multisection neuron coverage, KMNC),前個活躍神經元覆蓋率(top-neuron coverage, TKNC), 前個活躍神經元模式(top-neuron coverage patterns, TKNP)和神經元邊界覆蓋率(neuron boundary coverage, NBC)。利用這五個指標, Xie等人[37]提出了一種覆蓋引導的模糊測試框架DeepHunter, 達到了更高的覆蓋率并發現了更多數目和種類的模型缺陷?;贜C和TKNC, Lee等人[38]提出了ADAPT, 通過自適應的神經元選取策略實現更系統和有效的深度模型測試。此外, Ma等人[19]引入了將組合測試的概念, 提出了DeepCT來平衡缺陷檢測能力和測試樣本的數量。同時, 他們提出了組合測試指標, 包括路組合稀疏覆蓋率(-way combination sparse coverage, SparseCov)和路組合密集覆蓋率(-way combination dense coverage, DenseCov), 通過相對較少的測試來實現合理的缺陷檢測能力。

MC/DC覆蓋率。傳統軟件測試中的MC/DC覆蓋要求每個條件都對最終結果起獨立作用。Sun等人[39]把這個概念應用到神經網絡中, 把上一層的所有神經元看作一個分支條件bool表達式中的各個子條件, 本層的某個神經元看作是結果, 由此為測試DNN提出了新思路?;诖? 他們提出了能夠直接應用于DNN模型的四個測試覆蓋率標準和基于線性規劃的測試樣本生成算法, 在小型神經網絡中表現出較高的缺陷檢測能力。此外, Sun等人[21]開發了首個面向深度模型的concolic測試方法DeepConcolic(如圖9所示), 將具體執行和符號分析進行結合, 實現了更高的覆蓋率。

圖9 DeepConcolic的總體框架[21]

Figure 9 The framework of DeepConcolic[21]

狀態覆蓋率。Du等人[40]將有狀態的RNN建模為一個抽象的狀態轉換系統, 并定義了一組專門用于有狀態深度模型的測試覆蓋標準。此外, 他們提出了一個自動化測試框架DeepCruiser, 它可以系統地大規模生成測試樣本, 以通過覆蓋率指導發現有狀態深度模型的缺陷, 在語音和文本數據集上證明了測試質量和可靠性方面的有效性。在此基礎上, 他們設計了狀態和轉移軌跡的相似性指標和五個狀態覆蓋率準則, 并提出了DeepStellar[41], 對RNN進行引導測試(如圖10所示)。實驗證明, 他們提出的相似性指標能有效檢測出對抗性輸入。Huang等人[42]提出了覆蓋率引導的測試工具testRNN, 并提出了四個狀態覆蓋率指標, 用于驗證LSTM。該工具基于變異生成測試樣本, 使用三個新的LSTM結構測試覆蓋度量來評估網絡的魯棒性。此外, 它還能它能夠幫助模型設計者完成LSTM層的內部數據流處理。

覆蓋率方法的局限性。目前已提出的覆蓋率指標基于以下假說: 神經元覆蓋率與對抗性輸入的生成和測試方法的錯誤揭示能力相關。但新的研究對此提出了質疑。

圖10 DeepStellar的總體框架[41]

Figure 10 The framework of DeepStellar[41]

目前提出的大多數覆蓋率指標都基于深度模型的結構, 但神經網絡與程序軟件之間存在根本差異, 這導致了當前覆蓋率指標的局限性。Li等人[43]發現從高覆蓋率測試中推測的故障檢測“能力”, 更有可能是由于面向對抗性輸入的搜索, 而不是真正的“高”覆蓋率。他們對自然輸入的初步實驗發現, 測試集中錯誤分類的輸入數量與其結構覆蓋率之間沒有強相關性。由于深度模型的黑盒性質, 尚不清楚這些指標如何與系統的決策邏輯直接相關。

Harel-Canada等人[44]設計了一個新的多樣性促進正則器, 在缺陷檢測、輸入真實性和公正性三個方面對覆蓋率指導的測試樣本進行評估, 發現神經元覆蓋率增加反而降低了測試樣本的有效性, 即減少了檢測到的缺陷, 產生了更少的自然輸入和有偏的預測結果。

通常認為, 用覆蓋率更高的測試樣本對模型進行重訓練, 可以提高模型的魯棒性。對此, Dong等人[45]對100個深度模型和25個指標進行了實驗, 結果說明覆蓋率和模型魯棒性之間的相關性有限。因此, 高覆蓋率對提高模型的魯棒性沒有意義。

因此, 基于高覆蓋率生成測試樣本可能是片面的, 在深度模型測試中衡量測試有效性還有很大的改進空間。

4.1.2 基于變異的測試方法

在傳統的軟件測試中, 變異測試通過注入故障來評估測試套件的故障檢測能力[46]。檢測到的故障與所有注入故障的比率稱為變異分數。

在深度模型的測試中, 數據和模型結構也在一定程度上決定了模型的行為。Ma等人[17]提出了專門用于深度模型的變異測試框架DeepMutation, 不觀察模型的運行時內部行為, 通過定義一組源級或模型級變異算子, 從源級(訓練數據和訓練程序)或模型級(無需訓練直接注入)注入故障用來以評估測試數據質量。他們在小尺寸數據集上證明了方法的有效性。在此基礎上, Hu等人[47]提出了DeepMutation++, 對模型質量進行評估, 尤其是RNN。它不僅能夠針對整個輸入靜態分析模型的魯棒性, 而且還能在模型運行時分析識別順序輸入(例如音頻輸入)的脆弱部分。在此基礎上, Humbatova等人[48]定義了35個變異算子, 并提出了基于真實故障的源級預訓練變異工具DeepCrime, 取得了更優異的性能。Shen等人[49]提出了MuNN, 利用五個變異算子評估了MNIST數據集上的變異屬性, 并指出需要域特定的變異算子來增強變異分析。Riccio等人[50]提出了一種自動生成新測試輸入的方法DeepMetis, 利用基于搜索的輸入生成策略生成測試輸入來提高變異分數, 模擬尚未檢測到的故障的發生。

與覆蓋率標準相比, 基于變異測試的標準與模型的決策邊界更直接相關??拷P蜎Q策邊界的輸入數據可以更容易地檢測模型與其變異體之間的不一致。

4.1.3 基于修復的測試方法

與軟件漏洞不同, 深度模型的缺陷不能通過直接修改模型來輕松修復。受到軟件調試的啟發, 基于修復的測試方法通過選擇合適的輸入對模型進行調試, 提高其精度或魯棒性。

Ma等人[29]提出了一種新的模型調試技術MODE, 評估每一層以識別有缺陷的神經元, 并進一步生成用于再訓練的修復補丁。該方法可以有效地修復模型錯誤, 避免了新漏洞的產生, 但是修復工作可能僅限于那些具有復雜特征的數據集。Zhang等人[51]設計了一種權重自適應方法Apricot來迭代地修復模型(如圖11所示)。他們用原始訓練集的不同子集訓練縮減模型, 以此提供權重大小和方向的調整依據。Apricot既不需要額外的樣本, 也不需要額外訓練神經網絡架構, 因此更為通用。在此基礎上, 他們還提出了超啟發式模型修復方法Plum[52], 通過制定一系列優先級方案來對修復策略進行排序, 以尋求每個策略在驗證和測試數據集上的模型性能之間的平衡。

圖11 Apricot的總體框架[51]

Figure 11 The framework of Apricot[51]

從提高模型魯棒性的角度出發, Borkar等人[53]提出了DeepCorrect, 修復深度學習模型中的卷積濾波器, 以增強對圖像失真的魯棒性。通過對各個濾波器計算校正優先級, 對最易受噪聲影響的濾波器進行重新訓練, 同時保持網絡中其余預訓練濾波器輸出不變。但該方法忽略了其他類型層中的其他潛在缺陷。Eniser等人[54]提出了DeepFault(如圖12所示), 觀察了模型中的每個神經元, 根據模型的正確或錯誤行為調查神經元是否被異常激活。對于那些可疑值較高的神經元, 他們合成由這些神經元的梯度并通過對合成輸入進行再訓練來糾正模型的行為。Wang等人[55]提出一種稱為魯棒性導向測試(Robustness-Oriented Testing, RobOT)的新型測試框架, 提出了零階損失(Zero-Order Loss, ZOL)和一階損失(First-Order Loss, FOL)指標, 在提高模型魯棒性方面對測試樣本進行定量測量, 使多個基準數據集上的模型對抗性魯棒性提高了67.02%。Gao等人[56]提出了一種基于突變的模糊測試方法Sensei和Sensei-SA來增強模型的訓練數據, 在15個模型中分別使其魯棒性評價提高了11.9%和5.5%。

圖12 DeepFault的工作流[54]

Figure 12 The workflow of DeepFault[54]

此外, 針對RNN驅動的對話系統, Liu等人[57]提出了DialTest, 在保留標記信息的情況下, 通過同義詞替換、回譯和單詞插入對測試種子進行實際更改, 有效地檢測錯誤并提高系統的魯棒性。

為了進一步提高模型精度, 也有研究通過數據增強來修復模型。Yu等人[58]提出了一種基于樣式轉移的數據增強的修復方法DeepRepair, 用于在操作環境中修復深度模型。他們也進一步提出了基于聚類的故障數據生成, 以實現更有效的風格引導數據增強。在醫學診斷方面, Hou等人[59]提出TauMed, 它基于醫療數據集上的一系列變異規則和語義實現增強技術, 生成足夠數量且高質量的圖像, 以提高模型分類精度。

通過增加樣本或修改模型, 基于修復的測試方法提高了模型的分類精度或魯棒性, 其總結如表2所示。

4.2 訓練階段安全性測試

當輸入的樣本存在特定的觸發器時, 在訓練階段被植入中毒后門的模型會輸出錯誤的預測結果。目前對于中毒后門的檢測方法可以分為離線和在線檢測, 它們通過不同的方式觀察模型的異常行為, 確定模型是否存在中毒后門。

4.2.1 離線檢測

離線檢測在離線狀態下檢測模型中的中毒后門, 往往需要比較高的計算成本和專業的模型知識。

Wang等人[60]提出了NeuralCleanse, 他們認為帶有后門的模型所對應的觸發器, 要比利用正常模型生成的觸發器要小得多。通過觀察模型的神經元激活向量中潛在表示的異常情況來檢測它在部署之前是否被中毒。在此基礎上, Guo等人[61]提出了TABOR, 利用正則化解決優化問題, 取得了檢測結果的提升。針對NeuralCleanse在多類數據集上計算成本很高的問題, Harikumar等人[62]提出了可拓展的木馬掃描程序(Scalable Trojan Scanner, STS), 以識別觸發器的方式對其進行反轉, 由此將搜索過程與類別數目獨立開來。Chen等人[63]提出了DeepInspect, 使用條件生成模型來學習潛在觸發器的概率分布。該生成模型將用于生成反向觸發器, 統計評估其擾動水平, 以構建后門異常檢測?;诜纸夂徒y計分析, Tang等人[64]利用類別的全局信息提出了SCAn, 以檢測已知或未知的中毒攻擊。

表2 基于修復的測試方法總結

不同于以上方法專門用于圖像分類領域, Xu等人[65]設計了一種適用于語音和文本場景下的后門檢測方法MNTD, 通過訓練元分類器以預測模型是否安全。

4.2.2 在線檢測

與離線檢測不同, 在線檢測可以在模型運行時對其行為進行檢測。

Liu等人[66]提出了人工腦刺激(Artificial Brain Stimulation, ABS), 通過刺激的方法找到中毒模型中的受損的神經元, 在其指導下進一步反轉觸發器, 以確定模型是否被中毒。ABS與觸發器尺寸無關, 能檢測對模型特征空間的中毒后門, 但不能處理像素空間的后門攻擊。此外, 他們也提出了EX- RAY[67], 基于對稱特征差分方法來區分自然特征和中毒特征。

4.2.3 小結

面向訓練階段安全性的測試方法優缺點總結如表3所示。這些方法主要為計算機視覺領域的分類任務設計, 目前缺乏在語音和文本等不同領域的通用對策。此外, 在訓練階段針對RNN等序列模型的測試也相當重要, 卻少有研究涉及。

表3 訓練階段安全性測試方法優缺點總結

4.3 測試樣本選取方法

生成面向深度模型的測試樣本往往需要涵蓋非常大的輸入空間, 而這些測試樣本需要花費昂貴的人力成本來進行標記, 顯著影響可執行的測試的數量和質量。因此, 以有意義的方式優先選擇測試模型的輸入數據, 可以降低標記成本, 大大提高測試效率。

Feng等人[68]基于深度模型的統計視角, 首先提出了測試樣本優先級排序技術DeepGini, 可以快速識別可能導致模型誤分類的測試樣本。DeepGini在優先級排序的有效性和運行效率方面優于基于覆蓋率的方法。Byun等人[69]根據softmax置信度、貝葉斯不確定性和輸入意外程度對測試樣本進行優先級排序, 在圖像分類和圖像回歸的數據集上取得了70%以上的平均缺陷檢測率。

Zhang等人[70]提出了一種基于噪聲敏感性分析的測試優先排序技術NSATP, 通過噪聲敏感性來挑選樣本。與他們不同, Zhang等人[71]觀察了神經元的激活模式, 根據訓練集中獲得的神經元的激活模式和從特定輸入中收集的激活神經元來計算測試樣本的優先級。結果表明, 具有較高優先級的測試樣本更容易被誤分類。此外, 對相同數據集中的模型進行優先排序的測試樣本, 也能使其他具有相似結構的模型誤分類。

Ma等人[72]基于模型不確定性的概念, 對一組測試選擇度量進行了深入的經驗比較。他們優先選擇了具有更高不確定性的樣本, 用其對模型進行訓練, 以提高分類精度。Wang等人[73]優先考慮那些通過許多變異而產生不同預測結果的測試輸入, 認為它們更有可能揭示出模型的缺陷。由此他們提出了PRIMA(如圖13所示), 對變異結果進行智能組合, 從而對測試樣本進行優先排序。在現實自動駕駛場景中的實驗結果證明了PRIMA在排序效果方面的實用性。

圖13 PRIMA的總體框架[73]

Figure 13 The framework of PRIMA[73]

Kim等人[74]將輸入的意外程度, 即樣本在輸入和訓練數據之間的行為差異, 作為衡量樣本對于深度模型測試充分性的指標。他們認為, 與訓練數據相比, 一個理想的測試輸入, 應是充分的, 但不應具有很高的意外程度。

基于決策邊界的概念, Shen等人[75]提出了多邊界聚類和優先級方法(Multiple-Boundary Clustering and Prioritization, MCP), 將測試樣本聚類到模型多個邊界區域, 并根據優先級從所有邊界區域均勻選擇樣本。在有效性方面, 經過MCP評估再訓練的深度模型性能得到顯著提高。

為了選擇可以區分多個模型的有效測試樣本, Meng等人[76]提出了基于樣本區分的選擇方法(Sample Discrimination based Selection, SDS), 利用這些樣本指示模型的性能。實驗證明, 具有更高優先級的樣本更有助于模型性能的排序。Guerriero等人[77]在數據集中采用非比例選擇查找容易分類錯誤的測試樣本, 提出了一種測試選擇技術DeepEST。與傳統抽樣相比, 這種方法可以提供更小的方差, 從而使樣本選擇變得更穩定。

表4 面向測試樣本的選取方法總結

面向測試樣本的選取方法總結如表4所示。如何高效地對測試樣本進行排序, 并以此提高模型的安全性, 成為當前測試研究中的熱門話題和前沿方向。

5 公平性和隱私性測試

公平性和隱私性雖不直接影響模型的準確率, 但一定程度上影響了模型的分類行為。本節中我們首先介紹了適用于深度模型的公平性測試方法, 針對模型隱私的測試方法也在后續部分進行闡述。

5.1 公平性測試

公平的研究側重于發現、衡量、理解和應對觀察到的不同群體或個人在表現上的差異。這種差異與偏見有關, 它可能會冒犯甚至傷害用戶, 導致種種社會問題。公平性測試旨在發現和減少深度模型中的偏見, 以提升模型在相關領域中應用時的公平性和可靠性??傮w而言, 根據不同的測試目標, 公平性測試可以分為個體公平測試和群體公平測試。

5.1.1 個體公平測試

具有個體公平性的模型應該在相似個體之間給出相似的預測結果。個體公平性測試方法關注模型對于不同個體之間的公平性。

Udeshi等人[78]提出了Aequitas, 生成測試樣本以發現偏見性輸入, 以理解個體公平。Aequitas首先對輸入空間進行隨機采樣以發現偏見樣本, 然后搜索這些輸入的鄰域以找到更多偏見。除了檢測公平性錯誤外, Aequitas還重新訓練了機器學習模型, 并減少這些模型決策中的偏見。然而, Aequitas對所有輸入使用全局采樣分布, 這導致它只能在狹窄的輸入空間中搜索, 容易陷入局部最優。

Agarwal等人[79]設計了一種新的個體公平測試方法SymbGen, 它將符號執行與本地解釋相結合, 以生成有效的測試樣本。盡管SymbGen是為人工智能模型設計的, 但它仍然使用了決策樹。上述方法主要處理傳統的機器學習模型, 不能直接應用于處理深度模型。

Zhang等人[80]提出了專門針對深度模型公平性的測試方法ADF, 基于梯度計算和聚類來搜索模型輸入空間中的個體偏見樣本, 其總體框架如圖14所示。實驗證明, 基于梯度的指導, 生成偏見樣本的有效性和計算效率得到了極大的提高?;诖? Zhang等人[81]基于梯度設計了白盒公平測試框架EIDIG, 采用先驗信息來加速迭代優化的收斂。但是, 它仍然存在梯度消失而導致局部優化的問題。Zheng等人[82]將模型決策偏見歸因為偏見神經元, 并提出了針對DNN公平的測試框架NeuronFair, 在更短的時間內生成更多樣化的測試樣本。

圖14 ADF的總體框架[80]

Figure 14 The framework of ADF[80]

5.1.2 群體公平測試

與個體公平性不同, 群體公平是指模型具有相同的決策概率選擇敏感屬性的群體。

Galhotra等人[83]提出了一種面向群體公平性的軟件測試方法Themis, 它用將公平性分數來衡量軟件的公平性, 并通過計算模型輸入空間中個別偏見樣本的頻率來衡量軟件的偏見程度。Sun等人[84]提出了一種基于因果關系的神經網絡修復技術CARE, 通過調整給定神經網絡的參數, 以修復神經網絡獲得決策公平性。

5.1.3 小結

針對深度模型的公平性測試處于起步階段, 如何更全面地定義偏見, 更細粒度地定量描述偏見并以此系統地測試深度模型, 將成為今后公平性測試的主要研究方向。

5.2 隱私性測試

隱私是深度模型保存私人數據信息的能力。在模型部署前需要檢查使用敏感數據計算的程序是否保護了用戶隱私。

較早提出的方法主要討論如何確保模型的隱私性。Bichsel等人[85]提出了DP-Finder, 引入了一種有效且精確的采樣方法來估計樣本泄露隱私的可能性, 并將搜索任務描述為優化目標, 使他們能系統地搜索到大量泄露隱私的樣本。

為了檢測違反差分隱私的行為, Ding等人[86]為差分隱私算法生成違反樣本, 多次運行候選算法, 并使用統計測試來檢測違反差分隱私的情況。Zhang等人[87]提出了首個用于自動化差分隱私的框架DPCheck, 無需程序員注釋, 就能測試算法中的隱私泄露問題。他們在2020年美國人口普查信息保護系統上證明了方法的有效性?;陟o態程序分析, Wang等人[88]提出了CheckDP對模型的差分隱私機制進行評估。該方法可以在70s內判斷模型是否違反了差分隱私機制, 并給出證明或生成反例。Bichsel等人[89]訓練分類器對差分隱私進行近似最優攻擊, 以發現模型在違反差分隱私方面的情況, 提出了DP-Sniper。實驗證明, 他們的方法在有效性和高效性方面具有很大的提升。Farina等人[90]設計了一種關系符號執行方法, 支持概率耦合的推理, 可用于構建差分隱私的證據。

對模型隱私的測試方法正受到越來越多的關注, 如何通過測試使模型具有更高的隱私保護能力, 也是學者們關注的關鍵問題。

6 深度模型可靠性測試的應用

深度模型已廣泛應用于不同領域。本節在三個典型的應用領域介紹這種特定領域的測試方法: 自動駕駛、語音識別和自然語言處理。

6.1 自動駕駛

自動駕駛顯示出改革現代交通的巨大潛力, 其安全性備受公眾關注。因此, 該領域成為測試的重點方向。

Pei等人[16]通過基于梯度的差分測試生成測試樣本, 來發現模型中的隱藏缺陷。Tian等人[35]用多種圖像變換來產生可能在現實攝像頭中出現的隱藏噪聲, 以此對自動駕駛場景中的不確定輸入進行模型缺陷的檢測。Zhang等人[91]基于對抗性生成網絡[92]生成測試樣本, 提出了一種基于無監督的自動一致性測試框架DeepRoad, 支持雪天和雨天的天氣狀況。Zhou等人[93]提出了DeepBillboard, 其流程如圖15所示。它能針對廣告牌生成可打印的對抗性測試樣本, 能最大化自動駕駛汽車駕駛時轉向角錯誤的可能性、程度和持續時間, 在不同的視角、距離和照明的駕駛條件下都能工作。Riccio等人[94]引入了行為邊界的概念, 即讓深度學習系統開始誤分類的輸入, 并設計了DeepJanus, 以基于搜索的方式為深度學習系統生成測試樣本。在自動駕駛汽車車道保持系統上的實驗證明了其有效性。

Figure 15 The generation of perturbations in DeepBillboard[93]

自動駕駛場景中深度模型的測試需要大量測試樣本, Birchler等人[95]對這個場景中的測試樣本進行排序, 盡可能早地揭示模型中存在的缺陷。他們利用靜態特性區分安全和不安全的場景, 提出了自動駕駛場景的測試樣本排序方法SDC-Prioritizer, 基于遺傳算法對模型進行高效測試。

6.2 語音識別

目前也有相關學者在語音場景下對深度模型進行測試, 以證明其安全性和公平性。

Asyrofi等人[96]提出了一種利用現有的文本到語音系統來自動生成自動語音識別(Automated Speech Recognition, ASR)系統的測試樣本的方法CrossASR, 如圖16所示。作為一種黑盒方法, CrossASR通過失敗概率預測, 為任何ASR系統生成使其誤判可能性最大的測試樣本。在此基礎上, 他們還提出了CrossASR++[97], 它發現更多使模型出錯的測試樣本。Du等人提出了DeepCruiser[40]和DeepStellar[41], 利用狀態覆蓋率指標生成測試樣本, 在實際ASR系統的RNN模型中取得了更高的覆蓋率, 發現了更多系統缺陷。

6.3 自然語言處理

在自然語言處理方面, Sun等人[98]在他們的工具“MT4MT”中使用自定義變形關系來測試機器翻譯系統的翻譯一致性。他們認為輸入的改變不應影響翻譯后內容的結構, 以此評估機器翻譯系統的公平性和語義一致性。此外, Sun等人[99]將變異測試和變形測試相結合, 提出了TransRepair, 對機器翻譯系統谷歌翻譯和Transformer進行測試, 并修復了它們將近20%的錯誤。

圖16 CrossASR++框架圖[97]

Figure 16 The framework of CrossASR++[97]

6.4 小結

當前面向深度學習的測試方法研究主要集中在監督學習上, 特別是分類問題。在無監督學習和強化學習相關的應用領域, 深度模型的可靠性亟待系統性的測試。

目前研究中的測試任務主要集中在圖像分類上。在許多其他領域和任務, 如多智能體游戲場景, 仍然存在許多開放測試的研究機會。

7 深度模型測試的數據集、在線模型庫和常用工具包

近年來用于深度模型測試的模型庫和工具包不斷涌現, 為系統性地測試深度模型提供了便利。本節列舉了可用于深度模型測試的數據集, 并介紹了現有可測試的在線模型庫和常用測試工具包, 便于研究者進行后續研究。

7.1 數據集

根據不同的應用場景和任務, 數據集可以分為圖像分類、語音識別、自然語言處理和模型公平決策這四類。本節中我們將分別對這些數據集進行簡單介紹, 總結如表5所示。

7.1.1 圖像分類

MNIST數據集[32]是美國國家標準與技術研究院收集整理的大型手寫數字數據庫。它包含了6萬張訓練圖片和1萬張測試圖片, 每張圖片都是28×28像素的灰度圖, 各自對應0到9這十個數字類標。

Fashion-MNIST數據集[100]由10個類別的70,000個時尚產品的28×28灰度圖像組成, 每個類別有7000張圖像。訓練集有6萬張圖像, 測試集有1萬張圖像。Fashion-MNIST與MNIST具有相同的圖像大小、數據格式以及訓練和測試分割的結構。

CIFAR-10[101]由5萬張32×32彩色圖像組成。這些圖像標有10個不同的類標: 飛機、汽車、鳥、貓、鹿、狗、青蛙、馬、船和卡車。每類有6000張圖像, 5000張用于訓練, 1000張用于測試。與它類似, CIFAR-100[101]數據集有100個類, 每個類包含600個圖像, 其中500張用于訓練, 100張用于測試。

ImageNet數據集[33]包含14197122個帶注釋的圖像。自2010年以來, 該數據集用于ImageNet大規模視覺識別挑戰賽(ILSVRC), 這是圖像分類和目標檢測的基準數據集。Tiny ImageNet[102]是ImageNet數據集的子集, 包含200個類別的10萬張彩色圖像, 尺寸為64×64。每類有500張訓練圖像、50張驗證圖像和50張測試圖像。

SVHN數據集[103]是一個數字分類基準數據集, 包含60萬張32×32 RGB打印的數字(從0到9)圖像, 由門牌圖片中裁剪得出。裁剪后的圖像以感興趣的數字為中心, 但保留了附近的數字和其他干擾物。SVHN有三組: 訓練集、測試集和一個額外的包含53萬張圖像的集, 這些圖像難度較低, 可用于幫助訓練過程。

CelebA數據集[104]包含來自10177位名人的202599張大小為178×218的人臉圖像, 每張都用40個二進制標簽進行注釋, 指示面部屬性, 如頭發顏色、性別和年齡。

LFW數據集[105]包含從網絡收集的13233張人臉圖像。該數據集由5749個身份組成, 其中1680人有兩張或更多張圖片。

MS COCO數據集[106]是一個大規模的對象檢測、分割、關鍵點檢測和字幕數據集, 由32.8萬張圖像組成。

表5 深度學習模型測試中的常用數據集

KITTI數據集[107]是用于移動機器人和自動駕駛的最受歡迎的數據集之一。它包括使用各種傳感器模式記錄的6個交通場景, 包括高分辨率RGB、灰度立體相機和3D激光掃描儀。

7.1.2 語音識別

VCTK語料庫[108]包括110位具有各種口音的英語使用者的語音數據。每個發言者讀出大約400個句子, 這些句子是從報紙、彩虹段落和用于語音重音檔案的引出段落中選出的。每位說話者閱讀一組不同的報紙句子, 其中每組句子都是使用貪婪算法選擇的, 該算法旨在最大化上下文和語音覆蓋范圍。

LibriSpeech語料庫[109]包含大約1000h的有聲讀物。訓練數據分為100h、360h和500h集的3個分區, 而開發和測試數據分別分為“干凈”和“其他”類別, 具體取決于自動語音識別系統的表現是否具有挑戰性。每個開發和測試集的音頻長度都在5h左右。該語料庫還提供了從Project Gutenberg書籍中摘錄的n-gram語言模型和相應文本。

VoxCeleb[110]是一個大型語音識別數據集。它包含來自YouTube視頻的1251位名人約10萬段語音。這些名人有不同的口音、職業和年齡。數據基本上是性別平衡的(男性占55%), 訓練集和測試集之間沒有重疊。數據集中包括子集Voxceleb1和Voxceleb2。其中VoxCeleb1包含超過10萬個針對1251個名人的話語, 這些話語是從上傳到YouTube的視頻短片中提取的。其中發音人數1251人、視頻數量21245條、音頻數量145265條。Voxceleb2音頻總內容時長達2000h以上, 其中發音人數包括訓練集5994人和測試集118人; 音頻數量包括訓練集1092009條和測試集36237條。

7.1.3 自然語言處理

SNLI數據集[111]由57萬個手動標記為蘊含、矛盾和中性的句子對組成。注釋者判斷句子之間的關系, 因為它們描述了相同的事件。每一對都被標記為“entailment”、“neutral”、“contradiction”或“-”, 其中“-”表示無法達成一致。

MultiNLI數據集[112]有43.3萬個句子對。它的大小和收集方式與SNLI非常相似。MultiNLI提供十種不同類型(面對面、電話、9/11、旅行、信件、牛津大學出版社、批評、逐字、政府和小說)的書面和口語英語數據。

bAbI數據集[113]是由20個不同任務組成的文本QA基準。每項任務旨在測試不同的推理技能, 例如演繹、歸納和共指解析, 其中一些任務需要關系推理。每個樣本由一個問題、一個答案和一組事實組成。該數據集有兩個不同大小的版本, bAbI-1k和bAbI-10k, 后者包含1萬個訓練樣本。

7.1.4 模型公平決策

Adult數據集[114]含有48842個實例, 包括職業、種族、性別、國籍在內的14個特征, 可以用于預測一個人的年收入是否超過5萬美元。

German Credit數據集[115]是根據個人的銀行貸款信息和申請客戶貸款逾期發生情況來預測貸款違約傾向的數據集, 數據集包含24個維度的1000條數據, 具體包括年齡、工作類型、婚姻狀況、性別等50個特征。

Boston房價數據集[116]包含美國人口普查局收集的美國馬薩諸塞州波士頓住房價格的有關信息, 只含有506條數據。每條數據包含房屋以及房屋周圍的詳細信息。其中包含城鎮犯罪率, 一氧化氮濃度, 住宅平均房間數, 到中心區域的加權距離以及自住房平均房價等14個特征。

MEPS數據集[117]是唯一衡量美國人如何使用和支付醫療保健、健康保險和自付費用的全國性數據來源。其內容包括健康狀況、醫療服務使用、收費、保險范圍和護理滿意度。

COMPAS數據集[118]收集了超過7000名在佛羅里達州被捕罪犯及其被告再犯的風險。它是美國各地使用的幾種風險評估算法之一, 可用于預測暴力犯罪的熱點地區, 確定囚犯可能需要的監管類型。目前美國已經有5個州靠COMPAS來進行刑事司法判決, 其他轄區也已經有其他的風險評估程序就位。

Bank Marketing數據集[119]描述了葡萄牙銀行營銷活動結果, 主要基于直接電話, 向銀行客戶提供定期存款。該數據集包含11162條數據, 50個特征, 包括年齡、職業、婚姻狀況、賬戶余額等。

IMDb電影評論數據集[120]是一個二元情感分析數據集, 由來自互聯網電影數據庫(IMDb)的50000條評論組成, 標記為正面或負面。每部電影包含的評論不超過30條。數據集包含額外的未標記數據。

7.2 模型庫

預訓練模型庫的發展解決了訓練成本問題, 拓寬了深度學習模型的應用領域。本節整理了主流的在線模型庫, 以便未來的應用和安全性測試。

7.2.1 Caffe Model Zoo

Caffe是一個考慮了表達、運行速度和模塊化的深度學習框架。在Caffe Model Zoo③https://github.com/BVLC/caffe/wiki/Model-Zoo中, 集成了由許多研究人員和工程師使用各種架構和數據為不同的任務制作的Caffe模型, 這些預訓練模型可以應用于多種任務和研究中, 從簡單回歸到大規模視覺分類, 再到語音和機器人應用。

7.2.2 ONNX Model Zoo

開放神經網絡交換(Open Neural Network Exchange, ONNX)是一種用于表示機器學習模型的開放標準格式。ONNX定義了一組通用運算符、機器學習和深度學習模型的構建塊, 以及一種通用文件格式, 使AI開發人員能夠使用具有各種框架、工具、運行時和編譯器的模型。ONNX Model Zoo④https://github.com/onnx/models是由社區成員貢獻的ONNX格式的預訓練的、最先進的集成模型庫。模型任務涵蓋了圖像分類、目標檢測、機器翻譯等十種多領域任務。

7.2.3 BigML model market

BigML⑤https://bigml.com/是一個可消耗、可編程且可擴展的機器學習平臺, 可輕松解決分類、回歸、時間序列預報、聚類分析、異常檢測、關聯發現和主題建模任務, 并將它們自動化。BigML促進了跨行業的無限預測應用, 包括航空航天、汽車、能源、娛樂、金融服務、食品、醫療保健、物聯網、制藥、運輸、電信等等。

7.2.4 Amazon SageMaker

Amazon SageMaker⑥https://aws.amazon.com/cn/sagemaker/是由亞馬遜提供的機器學習服務平臺, 通過整合專門為機器學習構建的廣泛功能集, 幫助數據科學家和開發人員快速準備、構建、訓練和部署高質量的機器學習模型。SageMaker消除了機器學習過程中每個步驟的繁重工作, 讓開發高質量模型變得更加輕松。SageMaker在單個工具集中提供了用于機器學習的所有組件, 因此模型將可以通過更少的工作量和更低的成本更快地投入生產。

7.3 常用工具包

得益于眾多深度學習框架和集成模型庫的快速發展, 深度學習模型被廣泛應用于安全攸關的領域, 測試工具也逐步被開發和完善。本節整理了現有的常用測試工具包。

7.3.1 Themis

Galhotra等人[83]提出了Themis⑦https://github.com/LASER-UMASS/Themis, 一個開源的、用于檢測因果偏見的公平性測試工具。它可以通過生成有效的測試套件來測量歧視是否存在。在給定描述有效系統輸入的模式時, Themis會自動生成判別測試。其應用場景包括金融貸款、醫療診斷和治療、促銷行為、刑事司法系統等。

7.3.2 mltest

測試工具mltest⑧https://github.com/Thenerdstation/mltest, 是一個為基于Tensorflow的機器學習系統編寫單元測試的測試框架。它可以通過極少的設置, 實現包括變量變化、變量恒定、對數范圍檢查、輸入依賴、NaN和Inf張量檢查等多種常見的機器學習問題進行綜合測試。遺憾的是, Tensorflow2.0的發布, 破壞了該測試工具的大部分功能。

7.3.3 torchtest

torchtest⑨https://github.com/suriyadeepan/torchtest受mltest啟發, 與mltest功能類似, 是為基于pytorch的機器學習系統編寫單元測試的測試框架。

總體而言, 與傳統軟件測試不同, 深度學習測試中現有的工具支持發展仍處于初期且尚不成熟。系統且全面的測試工具開發, 存在巨大的發展前景。

8 未來研究方向

目前深度模型的可靠性測試領域的研究工作還有很大的發展空間, 如何更高效地對深度模型進行系統性的測試也成為安全領域相關研究人員的關注點之一。本節根據目前國內外的研究現狀, 基于上述對測試任務的介紹, 對深度模型測試的未來發展方向進行探討。如何構建模型缺陷的多尺度、自適應、可拓展的安全測試框架, 實現在多粒度、多層級上監視、評估極端情況的威脅程度與范圍, 是安全可靠人工智能研究中的一個關鍵問題。

8.1 多領域和多任務

目前不同深度學習類別和任務的測試存在明顯的不平衡。在未來的研究工作中, 測試研究應不僅集中于監督學習的分類問題上, 對于日益流行的強化學習和遷移學習的測試方法, 既有挑戰, 也有研究機遇。

此外, 當前測試主要圍繞卷積神經網絡的圖像分類任務展開。在未來的工作中, 研究重心應轉移到已有研究甚少的語音識別、自然語言處理等運用循環神經網絡等時序分類任務中。設計面向多種場景領域和任務的測試, 也將是未來非常重要的研究方向。

8.2 測試模型組件

目前的研究主要集中于進行數據測試, 但僅從數據安全性考量深度學習模型整體安全性是片面的。研究者應考慮到, 模型安全性的復合效應(如, 高分類精度、強魯棒性等)是由不同行為組件組合而成, 對于組件的數據、訓練程序甚至深度學習框架的測試也是保障測試全面性的解決途徑。此外, 在測試過程中, 回歸測試、錯誤成因分析和錯誤種類劃分也應有研究價值。

8.3 測試可解釋性

對于測試的可解釋性, 現有的方法主要依賴于手動評估。未來的研究中, 應盡可能降低人工成本, 實現自動判斷深度學習模型的邏輯或預測結果是否與人類可理解的語義相同。我們認為研究可解釋性的自動評估或可解釋性違規的檢測是十分有必要的, 這在一定程度上保證了測試是否可信。同時, 測試屬性的可視化在測試中可以幫助開發人員理解錯誤, 并幫助錯誤定位和進一步修復。

8.4 測試代價

在深度模型測試中, 測試代價通常很高, 嚴重阻礙了測試實際部署模型的可能性。在未來的研究中, 在龐大的測試輸入搜索空間以及重復預測過程中降低時間與空間成本十分值得研究。降低成本的一個可能的研究方向是將深度學習模型表示精簡表示為某種中間狀態, 使其更易于測試。此外, 應用傳統的成本降低技術, 如測試優先級或測試樣本數目最小化, 以減少測試用量, 同時保持測試的正確性也將是未來縮短測試成本的解決途徑。

9 總結

近年來, 從圖像識別到自然語言處理, 從社交網絡到語音識別深度學習模型在多種領域中得到廣泛應用。目前面向深度模型的安全性測試已在自動駕駛和自然語言處理方面等多個實際場景中得到了應用, 然而, 測試技術仍處于初級階段, 許多關鍵的科學問題亟待解決。此外, 對于測試方法尚缺少涵蓋多角度、全面完整的中文綜述工作。本文概括了面向深度模型的可靠性測試方法, 根據模型任務性能、安全性、公平性和隱私性這四個不同的測試目標, 對現有方法進行了全面的歸納總結, 同時介紹了應用場景和常用數據集、模型庫和工具包, 并分析了深度模型可靠性測試未來研究方向, 為設計系統、高效、可信的深度模型測試提供參考。

[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]., 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]., 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。

本課題得到國家自然科學基金(No. 62072406)、信息系統安全技術重點實驗室基金(No. 61421110502)、國家重點研發計劃基金資助項目(No. 2018AAA0100801)、國家自然科學基金項目-聯合重點(No. U21B2001)、浙江省重點研發計劃項目(No. 2022C01018)資助。

2022-04-06;

2022-06-22;

2023-09-26

陳若曦 于2020年在浙江工業大學電氣工程及其自動化專業獲得學士學位?,F在浙江工業大學控制工程專業攻讀博士學位。研究領域為人工智能安全。研究興趣包括: 對抗攻防、深度模型測試。Email: 2112003149@zjut.edu.cn.

金海波 于2020年在浙江工業大學通信工程專業獲得學士學位?,F在浙江工業大學控制科學與工程專業攻讀博士學位。研究領域為深度學習、人工智能安全。研究興趣包括: 對抗攻防、深度模型測試。Email: 2112003035@zjut.edu.cn.

陳晉音 于2009年在浙江工業大學控制科學與工程專業獲得博士學位?,F任浙江工業大學網絡空間安全研究院教授。研究領域為人工智能、數據挖掘、智能計算。研究興趣包括: 可信人工智能技術及其應用中的安全問題。Email: chenjinyin@zjut. edu.cn.

鄭海斌 分別于2017年和2022年在浙江工業大學電氣工程及其自動化專業和控制科學與工程專業獲得學士和博士學位?,F任浙江工業大學網絡安全研究院講師。研究領域為深度學習、人工智能安全。研究興趣包括: 對抗攻防、深度模型公平性。Email: haibinzheng320@gmail.com.

李曉豪 于2020年在常熟理工學院自動化專業獲得工學學士學位?,F在浙江工業大學控制科學與工程專業攻讀碩士研究生學位。研究領域為人工智能安全、網絡安全。研究興趣包括網絡攻防、深度學習等。Email: xiaohaoli0124@gmail.com.

猜你喜歡
覆蓋率測試方法深度
基于泊松對相關的偽隨機數發生器的統計測試方法
民政部等16部門:到2025年村級綜合服務設施覆蓋率超80%
我國全面實施種業振興行動 農作物良種覆蓋率超過96%
深度理解一元一次方程
基于云計算的軟件自動化測試方法
DLD-100C型雷達測試方法和應用
深度觀察
深度觀察
深度觀察
基于噴丸隨機模型的表面覆蓋率計算方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合