【論文轉(zhuǎn)述】DeepGini: Prioritizing Massive Tests to Enhance the Robustness of Deep Neural Networks

DeepGini: Prioritizing Massive Tests to Enhance the Robustness of Deep Neural Networks

image-20200928211534475

論文:https://arxiv.org/abs/1903.00661

細(xì)節(jié): https://github.com/deepgini/deepgini.

摘要

給定輸入定義正確輸出的測(cè)試oracle在自動(dòng)化測(cè)試中通常是不可用的腌零。為了獲得oracle信息,基于DNN的系統(tǒng)的測(cè)試任務(wù)通常需要花費(fèi)大量的人力來標(biāo)記測(cè)試數(shù)據(jù)饰躲,這大大降低了質(zhì)量保證的過程嘹裂。

為了緩解這個(gè)問題寄狼,作者提出了DeepGini,一種基于DNN統(tǒng)計(jì)觀點(diǎn)設(shè)計(jì)的測(cè)試優(yōu)先化技術(shù)泊愧。這樣的統(tǒng)計(jì)視角允許我們將測(cè)量誤分類概率的問題簡(jiǎn)化為測(cè)量集合雜質(zhì)的問題伊磺,這允許我們快速識(shí)別可能誤分類的測(cè)試。

介紹

深度學(xué)習(xí)的能力盡管很高删咱,但可靠和質(zhì)量方面仍存在重大問題屑埋。DNN軟件測(cè)試與傳統(tǒng)軟件測(cè)試完全不同,因?yàn)镈NN是基于數(shù)據(jù)驅(qū)動(dòng)所構(gòu)建的痰滋,因此摘能,有效的測(cè)試數(shù)據(jù)+oracle信息,對(duì)于發(fā)掘DNN軟件的不當(dāng)表現(xiàn)至關(guān)重要敲街。不幸的是团搞,類似于傳統(tǒng)軟件的測(cè)試技術(shù),DNN測(cè)試也面臨著自動(dòng)化測(cè)試技術(shù)oracle通常不可用的問題逻恐。

特別的昏名,在測(cè)試基于DNN的系統(tǒng)中,測(cè)試者通常關(guān)注于造成系統(tǒng)表現(xiàn)錯(cuò)誤的測(cè)試,因?yàn)檫@些錯(cuò)誤可以帶來對(duì)于程序不同問題的洞察。這一事實(shí)很自然的促使我們?nèi)ヌ岢鲆环N技術(shù)俱济,來幫助區(qū)分測(cè)試的優(yōu)先級(jí)辖源,從而可以在測(cè)試之前標(biāo)記和分析導(dǎo)致錯(cuò)誤的測(cè)試。從而,我們可以從人工的努力中獲得最大的效益奈偏。

以往的兩類覆蓋技術(shù):1. 總覆蓋率:傾向于喜歡覆蓋了更多程序元素的用例 2. 覆蓋附加:傾向于喜歡能覆蓋更多以前沒有的元素的用例

但是這類基于覆蓋的技術(shù)并沒有那么有效:

  • 首先,這類標(biāo)準(zhǔn)是為了衡量測(cè)試充分性,但實(shí)際上,我們尚不清楚如何用它來提高DNN的質(zhì)量。
  • 一些覆蓋標(biāo)準(zhǔn)無法區(qū)分不同測(cè)試的故障檢測(cè)能力。因而無法使用覆蓋-總優(yōu)先級(jí)方法,來為測(cè)試用例進(jìn)行有效的優(yōu)先級(jí)排序痊项。
  • 第三塞弊,對(duì)于現(xiàn)有的大多數(shù)神經(jīng)元覆蓋準(zhǔn)則饰抒,只有一個(gè)測(cè)試集中的幾個(gè)測(cè)試能夠達(dá)到該集合的做大覆蓋率枣宫。例如翅娶,top-k神經(jīng)元覆蓋率蜕提,我們只需1%的測(cè)試就可以達(dá)到最大覆蓋率它浅。在這種情況下,我們對(duì)于測(cè)試進(jìn)行的優(yōu)先級(jí)排序恨胚,也只能進(jìn)行1%就停止俄烁。
  • 通常覆蓋-附加方法的時(shí)間復(fù)雜度過高O(mn^2)辰企,其中m是元素個(gè)數(shù)(神經(jīng)元個(gè)數(shù)),n是測(cè)試用例數(shù)。這兩個(gè)值通常都比較龐大昔园,這也就導(dǎo)致了模型過于龐大荤西。

為了克服以上問題勉躺,并有效的提高DNN的質(zhì)量糖赔,本文種,我們提出了DeepGini方法径缅,主要針對(duì)于圖像分類類的DNN搏明。DeepGini主要基于DNN的統(tǒng)計(jì)特性样傍,而非卷積覆蓋率炕檩。這種方法使得我們將誤分類問題簡(jiǎn)化為一個(gè)衡量測(cè)試集合雜質(zhì)的問題敲霍。

該測(cè)量基于的直覺是夫偶,如果一個(gè)DNN為每類輸出相同的概率時(shí)疾牲,測(cè)試會(huì)很容易被DNN錯(cuò)誤分類。因此召夹,當(dāng)DNN為每個(gè)類輸出相同的概率時(shí),該度量產(chǎn)生最大值赞警。

<0.5,0.5>對(duì)應(yīng)的度量值 大于 <0.9,0.1>對(duì)應(yīng)的度量值

這一方法有如下好處:

  • 利用該方法進(jìn)行度量比基于神經(jīng)元覆蓋率的度量要更有區(qū)分度惠况,因?yàn)闇y(cè)試用例通常都有著不同的輸出向量龙屉,但卻很可能擁有相同的覆蓋率
  • 該度量不用記錄中間信息來計(jì)算覆蓋率事哭。而只需要對(duì)測(cè)試進(jìn)行優(yōu)先排序,所以更為安全,易用结蟋。
  • DeepGini的時(shí)間復(fù)雜度于總覆蓋率類似尼夺,但遠(yuǎn)低于覆蓋附加方法竞端。同時(shí)和總覆蓋方法一樣可擴(kuò)展流部。
  • DeepGini在前的測(cè)試集,優(yōu)于該度量在后的測(cè)試集枝冀,也優(yōu)于使用覆蓋范圍度量在前的測(cè)試集舞丛。

該方法需要運(yùn)行所有測(cè)試來獲得輸出。但實(shí)際上運(yùn)行DNN的時(shí)間要遠(yuǎn)小于訓(xùn)練DNN果漾。

作者從兩個(gè)方面來論證的方法的有效性球切。

首先,計(jì)算了故障檢測(cè)的平均百分比值(APFD)绒障,這是評(píng)估優(yōu)先排序技術(shù)的標(biāo)準(zhǔn)方法吨凑。

其次,為了評(píng)估該技術(shù)能否有效提高DNN質(zhì)量户辱,將排序靠前的測(cè)試集重訓(xùn)練鸵钝,并對(duì)比準(zhǔn)確性。

貢獻(xiàn)如下:

  • 提出了一種有效且高效的方法焕妙,以排序DNN測(cè)試集蒋伦。
  • 證明該度量較大的測(cè)試集能更有效的提高DNN質(zhì)量。
  • 證明了基于神經(jīng)元覆蓋率的方法焚鹊,在測(cè)試優(yōu)先級(jí)和DNN優(yōu)化上的不足痕届。

方法

分類純度

image-20200929113101779

大致思想:右側(cè)比左側(cè)更容易被分類,左側(cè)更容易被混淆末患。

計(jì)算方法\Sigma x_i^2 前者為0.25+0.25=0.5研叫,后者為0.81+0.01=0.82

這種想法于基尼指數(shù)的含義十分接近。因此作者考慮引入基尼系數(shù)來進(jìn)行度量璧针。

DeepGini

定義:給定一個(gè)測(cè)試t和它在DNN下的輸出<p_{t,1},p_{t,2},...,p_{t,N}>\Sigma^N_{i=1}p_{t,i}=1)嚷炉,定義\xi(t)來度量t可能被錯(cuò)誤分類的概率。

\xi(t)=1-\Sigma^N_{i=1}p^2_{t,i}

之后作者證明了這一度量的極值也是最值探橱,在各分類概率相等時(shí)取到

利用每個(gè)測(cè)試所對(duì)應(yīng)的度量申屹,我們可以直接用快排來給它進(jìn)行排序绘证,以較低的時(shí)間效率來完成。

同時(shí)由于度量計(jì)算只需要輸出向量哗讥,因此該方法基本不會(huì)對(duì)原有的DNN進(jìn)行干涉

利用DeepGini增強(qiáng)DNN

DeepGini 的有效性背后的原則實(shí)際上是遵循主動(dòng)機(jī)器學(xué)習(xí)理論嚷那,該理論更喜歡決策邊界附近的測(cè)試。

因此杆煞,作者認(rèn)為DeepGini不僅提供了一種測(cè)試優(yōu)先級(jí)的辦法魏宽,同時(shí)還提供了一種在有限時(shí)間預(yù)算內(nèi)增強(qiáng)DNN穩(wěn)健性的技術(shù)。

實(shí)驗(yàn)設(shè)計(jì)

數(shù)據(jù)集和模型選擇

數(shù)據(jù)集:MNIST,CIFAR-10,Fashion,SVHN

模型:不同神經(jīng)元數(shù)量的模型决乎,以展現(xiàn)對(duì)于不同層次模型的效果

image-20200929140938095

對(duì)抗測(cè)試生成

除了對(duì)于數(shù)據(jù)集中的原始數(shù)據(jù)進(jìn)行優(yōu)先排序队询,本文還對(duì)對(duì)抗性測(cè)試進(jìn)行了一個(gè)優(yōu)先級(jí)排序。分別選擇了四種SOTA方法生成對(duì)抗測(cè)試數(shù)據(jù)构诚,F(xiàn)GSM,BIM,JSMA,CW.

Q: 按照基尼系數(shù)的含義蚌斩,良好分類的數(shù)據(jù)集,也能夠得到很高的分?jǐn)?shù)唤反。如何分辨:全都分錯(cuò)凳寺,錯(cuò)的徹底;不太對(duì)也錯(cuò)的不徹底彤侍;全都分對(duì)肠缨,對(duì)的徹底。

基線方法

通過將本文的度量與基于覆蓋的11種方法進(jìn)行對(duì)比盏阶。

主要基于四種模式晒奕,兩個(gè)方面來計(jì)算:

  1. 利用CTM或CAM來進(jìn)行測(cè)試優(yōu)先級(jí)排序
  2. 對(duì)原始數(shù)據(jù)集中的測(cè)試進(jìn)行優(yōu)先排序,或?qū)υ?對(duì)抗測(cè)試數(shù)據(jù)集進(jìn)行優(yōu)先級(jí)排序

研究問題

RQ1 有效性

DeepGini能否找到比基于神經(jīng)元覆蓋的方法更好的測(cè)試排序么名斟?

通過比較不同方法的APFD(平均錯(cuò)誤發(fā)現(xiàn)率)來論證脑慧。

  • APFD值不夠接近于1,并不意味著優(yōu)先級(jí)排序不夠有效砰盐。因?yàn)槔碚撋厦铺唬撝低ǔR?小得多。

對(duì)于一系列測(cè)試n個(gè)岩梳,其中有k個(gè)會(huì)被誤分類囊骤,設(shè)o_i表示第i個(gè)誤分類測(cè)試的下標(biāo)。APFD表示為:

APFD = 1 - \frac{\Sigma^k_{i=1}o_i}{kn}+\frac{1}{2n}

更準(zhǔn)確的來說冀值,假設(shè)APFD理論最大最小值為minmax也物,我們將APFD值歸一化排序后,值越接近1列疗,就說明排序方法越好滑蚯。

RQ2 效率

DeepGini是否比基于神經(jīng)元覆蓋的方法更有效?

通過記錄時(shí)間花銷來回答這一問題。排序方法通常都更耗時(shí)告材,因?yàn)闇y(cè)試集數(shù)量通常很大坤次。基于我們的分析创葡,一些優(yōu)化排序方法甚至要花費(fèi)數(shù)個(gè)小時(shí)浙踢,這在工業(yè)中是難以接受的。

RQ3 指導(dǎo)性

DeepGini是否能夠指導(dǎo)DNN的重訓(xùn)練以幫助提升其準(zhǔn)確性灿渴?

一般的DNN網(wǎng)絡(luò)通常準(zhǔn)確性都足夠強(qiáng),因此本文是通過引入對(duì)抗測(cè)試來回答該問題胰舆。對(duì)每個(gè)模型骚露,向測(cè)試集T中加入相同數(shù)量的對(duì)抗測(cè)試樣本,并構(gòu)造一個(gè)驗(yàn)證集V用于以下實(shí)驗(yàn)缚窿。

在對(duì)T進(jìn)行優(yōu)先級(jí)排序后棘幸,將前1%,2%,...,10%的測(cè)試數(shù)據(jù)代回訓(xùn)練集,并訓(xùn)練一個(gè)新的DNN倦零。(不加入更多是因?yàn)槲笮嗟臏y(cè)試數(shù)據(jù),無法再帶來模型明顯的變化扫茅。)然后利用驗(yàn)證集V蹋嵌,度量新DNN的準(zhǔn)確性。利用不同的度量葫隙,來判斷重訓(xùn)練的DNN的準(zhǔn)確率栽烂。基于實(shí)驗(yàn)結(jié)果恋脚,我們可以回答腺办,DeepGini能夠更有效的指導(dǎo)重訓(xùn)練。

結(jié)果分析

RQ1&RQ2 效率和有效性

與NAC,NBC,SNAC比較
image-20200929144050922

關(guān)于DeepGini的結(jié)論:速度快糟描,且APFD得分高怀喉。

關(guān)于覆蓋率的結(jié)論:0.5%的測(cè)試就足以達(dá)到這三類方法的覆蓋率上限了。

image-20200929144523959

以隨機(jī)分類為基線船响,有些覆蓋方法的效果甚至?xí)入S機(jī)還要差躬拢。而其中DeepGini能夠最快的達(dá)到最高的錯(cuò)誤檢出率。

與TKNC,LSC,DSC,KMNC對(duì)比
  1. 難以良好進(jìn)行排序:CTM無效灿意,CAM很快達(dá)到最大后估灿,也無效。
  2. 這幾種方法的效率普遍比DeepGini要慢20倍以上缤剧,再工業(yè)中基本都屬于無法接受的速度馅袁。

RQ3指導(dǎo)性

image-20200929145236351

其中KMNC的運(yùn)算速度過慢無法完成實(shí)驗(yàn)。對(duì)比其他方法荒辕,可以發(fā)現(xiàn)DeepGini在生成優(yōu)先級(jí)序列提高DNN準(zhǔn)確性方面更為有效汗销。

image-20200929145945051

表六:10%的優(yōu)先數(shù)據(jù)代回犹褒。基線效果大致在0.83-0.85弛针,DeepGini可以達(dá)到0.9以上叠骑。

討論

image-20200929150534912

額外的提了安全性,和可擴(kuò)展性削茁。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末宙枷,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子茧跋,更是在濱河造成了極大的恐慌慰丛,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瘾杭,死亡現(xiàn)場(chǎng)離奇詭異诅病,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)粥烁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門贤笆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人讨阻,你說我怎么就攤上這事芥永。” “怎么了变勇?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵恤左,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我搀绣,道長(zhǎng)飞袋,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任链患,我火速辦了婚禮巧鸭,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘麻捻。我一直安慰自己纲仍,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布贸毕。 她就那樣靜靜地躺著郑叠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪明棍。 梳的紋絲不亂的頭發(fā)上乡革,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼沸版。 笑死嘁傀,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的视粮。 我是一名探鬼主播细办,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼蕾殴!你這毒婦竟也來了笑撞?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤区宇,失蹤者是張志新(化名)和其女友劉穎娃殖,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體议谷,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年堕虹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了卧晓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡赴捞,死狀恐怖逼裆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情赦政,我是刑警寧澤胜宇,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站恢着,受9級(jí)特大地震影響桐愉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜掰派,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一从诲、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧靡羡,春花似錦系洛、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至趟薄,卻和暖如春绽诚,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工憔购, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留宫峦,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓玫鸟,卻偏偏與公主長(zhǎng)得像导绷,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子屎飘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359