選自arXiv

機器之心編譯

作者:Kexin Pei等

參與:吳攀、李亞洲

對於自動駕駛系統等事關人身安全的深度學習應用,瞭解其在極端情況下的表現是非常重要的。近日,來自哥倫比亞大學和理海大學的幾位研究者提出了一種深度學習系統的自動白箱測試方法
DeepXplore,據稱該方法是首個系統性測試現實深度學習系統的白箱框架。機器之心對這項研究的論文進行了摘要編譯介紹。

論文鏈接:https://arxiv.org/abs/1705.06640

深度學習(DL)系統在自動駕駛汽車、惡意代碼檢測等安全性非常重要的領域有了越來越多的部署,系統在極端情況下的準確率和預測能力極爲重要。然而,對所有極端情況下含有數百萬個參數、數千個神經元的大規模深度學習系統進行系統性的測試極爲困難。已有的深度學習測試極爲依賴手動標記數據,也因此不能揭露模型對罕見輸入的不同錯誤行爲。

我們提出了 DeepXplore:首個系統性測試現實深度學習系統的白箱框架(whitebox
framework)。該框架解決兩個難題:(1)生成輸入,促發深度學習系統邏輯的不同部分;(2)在沒有手動涉入的情況下,識別深度學習系統的不正確行爲。首先,我們引入了神經元覆蓋率(neuron
coverage)來評估由一系列測試輸入練習的深度學習系統部位。然後,利用多個有類似功能的深度學習系統作爲交叉引證,因此避免了對錯誤行爲的手動檢查。我們表明了可以如何將在實現深度學習算法高神經元覆蓋率時找到觸發不同行爲的輸入的過程表示爲一個聯合優化問題,然後使用基於梯度的優化技術有效地解決。

DeepXplore 在 5
個流行的數據集上訓練的當前最佳的深度學習模型中找到了數千個不正確的極端行爲。對於所有這些被測試的深度學習模型,平均而言,DeepXplore
可以在一臺商品筆記本電腦上在 1 秒之內生成一個代表不正確行爲的測試輸入。由 DeepXplore 生成的輸入比已有的測試方法在神經元覆蓋率上平均高
33.2%。我們進一步表明由 DeepXplore 生成的測試輸入也可以被用於重新訓練對應的深度學習模型,以提升分類準確度或識別被污染的訓練數據。

圖 1:由 DeepXplore 找到的 Nvidia DAVE-2 自動駕駛汽車平臺上一個錯誤行爲的示例。圖 a:這個基於 DNN
的自動駕駛汽車正確決定左轉;圖 b:相反,這輛車決定右轉撞向護欄。b 圖的場景比 a 的更加灰暗。

1 引言

我們的主要貢獻是:

  • 我們引入了神經元覆蓋率作爲深度學習系統的首個白箱測試標準,以用於估計由測試輸入集探索的邏輯的量。

  • 我們給出了尋找相似深度學習系統之間的大量行爲差異的問題,同時最大化神經元覆蓋率可以被闡釋爲一個聯合優化問題。我們提出了一種基於梯度的算法來有效地解決這種問題。

  • 我們實現了所有這些技術,並將其作爲了 DeepXplore 的一部分,這是第一個白箱深度學習測試框架,揭示了 15 種當前最佳的深度學習模型的數千個不同的不正確的極端情況(比如,自動駕駛汽車撞到護欄,如圖 1 所示),這些模型總共有 132, 057 個神經元,在包含了 162 GB 數據的 5 個流行數據集上進行了訓練。

  • 我們展示了可以如何將 DeepXplore 生成的測試用於重新訓練對應的深度學習系統,以提升分類準確度或識別被污染的訓練數據。

2 深度學習背景知識

圖 2:一個簡單的 DNN 和由其每個神經元執行的計算

3 已有 DNN 測試的侷限性

  • 成本高昂的標記工作

  • 低程度的測試覆蓋率

圖 3:傳統程序和神經網絡程序流程的比較。灰色節點表示在處理輸入時參與的對應基本模塊或神經元

4 DeepXplore 概述

圖 4:DeepXplore 工作流程

圖 5:在兩個相似的 DNN 中,輸入誘導出不同的行爲

圖 6:從一個種子輸入開始的梯度上升,然後逐漸找到差異誘導測試輸入__

5 方法

在這一節,我們提供了對我們的算法的詳細技術描述。首先,我們定義和解釋了 DNN 的神經元覆蓋率(neuron
coverage)和梯度(gradient)的概念。接下來,我們描述了其測試問題可以被如何構建爲聯合優化問題(joint optimization
problem)。最後,我們提供了使用梯度的用於聯合優化的算法。

5.1 定義


5.2 DeepXplore 算法

算法 1:通過聯合優化測試輸入生成

6 實現

7 實驗設置


7.1 測試數據集和 DNN


7.2 特定領域的限制

8 結果

表 1:用於評估 DeepXplore 的 DNN 和數據集的細節

圖 7:奇數行展示了種子測試輸入,偶數行展示了由 DeepXplore 生成的差異誘導測試輸入。左邊 3 列展示了用於自動駕駛汽車的輸入,中間 3
行是用於 MNIST,右邊 3 行用於 ImageNet

圖 9:當訓練數據集使用了同樣數量的輸入(分別通過隨機選擇、對抗測試和 DeepXplore 生成)進行增強時,三種 LeNet DNN 的準確度的提升

討論、相關工作、結論和參考文獻(略)


點擊閱讀原文,查看全部嘉賓陣容並報名參與機器之心 GMIS 2017 ↓↓↓