• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    神經(jīng)網(wǎng)絡(luò)驗(yàn)證和測(cè)試技術(shù)研究綜述

    2021-11-26 07:21:36董超群司品超劉錢超
    關(guān)鍵詞:方法模型

    李 舵,董超群,司品超,何 曼,劉錢超

    1.戰(zhàn)略支援部隊(duì)信息工程大學(xué),鄭州450001

    2.江南計(jì)算技術(shù)研究所 軟件測(cè)評(píng)中心,江蘇 無(wú)錫214083

    隨著大數(shù)據(jù)的產(chǎn)生和算力的提升,以神經(jīng)網(wǎng)絡(luò)(Neural Network,NN)為代表的人工智能技術(shù)發(fā)展迅猛,并在圖像處理、文本分析、語(yǔ)音識(shí)別、自動(dòng)駕駛等領(lǐng)域取得了突破性的進(jìn)展。將人工智能技術(shù)集成到軟件中,或是開發(fā)基于人工智能技術(shù)的軟件應(yīng)用正逐漸成為潮流和趨勢(shì)。人工智能軟件一般開發(fā)樣式為:首先根據(jù)任務(wù)構(gòu)建模型,然后利用大量訓(xùn)練數(shù)據(jù)訓(xùn)練模型,接著在測(cè)試數(shù)據(jù)集上檢驗(yàn)?zāi)P偷男阅?,最后投入使用。這類軟件和傳統(tǒng)軟件相比,在實(shí)現(xiàn)機(jī)理和編碼樣式上有著本質(zhì)的不同,導(dǎo)致如何有效保證人工智能軟件的質(zhì)量成為一個(gè)難題。此外,人工智能技術(shù)在應(yīng)用過(guò)程中也暴露了一些問題,引發(fā)人們對(duì)人工智能技術(shù)安全性、可靠性和可解釋性等方面的擔(dān)憂。

    神經(jīng)網(wǎng)絡(luò)是人工智能領(lǐng)域的重要研究方向。神經(jīng)網(wǎng)絡(luò)是一種通過(guò)模仿動(dòng)物神經(jīng)網(wǎng)絡(luò)特征進(jìn)行信息處理的算法數(shù)學(xué)模型,主要由輸入層、隱藏層、輸出層構(gòu)成,每層由若干個(gè)神經(jīng)元組成,上一層的神經(jīng)元通過(guò)權(quán)重與下一層的神經(jīng)元相連,整個(gè)網(wǎng)絡(luò)通過(guò)數(shù)據(jù)集訓(xùn)練,不斷更新權(quán)重等參數(shù),最終在一些具體任務(wù)上獲得較好的性能。典型的神經(jīng)網(wǎng)絡(luò)有卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks,RNN),其中CNN 廣泛應(yīng)用在圖像處理領(lǐng)域,而RNN 因其能夠較好地處理時(shí)間序列上的數(shù)據(jù)而廣泛應(yīng)用于語(yǔ)音、文本處理等領(lǐng)域。近些年來(lái),為了獲得更好的性能,神經(jīng)網(wǎng)絡(luò)朝著深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks,DNN)和深度學(xué)習(xí)(Deep Learning,DL)的方向發(fā)展。然而,隨著神經(jīng)網(wǎng)絡(luò)層數(shù)的增加,模型愈加復(fù)雜,可解釋性越差,神經(jīng)網(wǎng)絡(luò)模型越接近于“黑盒”,其潛在的威脅和隱患就越難以發(fā)現(xiàn)。隨著神經(jīng)網(wǎng)絡(luò)技術(shù)部署在自動(dòng)駕駛系統(tǒng)、疾病預(yù)防與檢測(cè)系統(tǒng)、惡意軟件檢測(cè)系統(tǒng)等安全攸關(guān)領(lǐng)域,對(duì)神經(jīng)網(wǎng)絡(luò)技術(shù)進(jìn)行全面的檢驗(yàn),及時(shí)發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)技術(shù)存在的缺陷和隱患,進(jìn)而保證神經(jīng)網(wǎng)絡(luò)技術(shù)應(yīng)用的質(zhì)量就顯得更為重要。目前,針對(duì)神經(jīng)網(wǎng)絡(luò)的驗(yàn)證和測(cè)試的研究越來(lái)越多,這些研究圍繞如何有效驗(yàn)證神經(jīng)網(wǎng)絡(luò)屬性、如何有效測(cè)試和發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)存在的缺陷等問題進(jìn)行積極探索,并取得了一定的進(jìn)展。

    已有一些研究人員對(duì)機(jī)器學(xué)習(xí)或神經(jīng)網(wǎng)絡(luò)相關(guān)領(lǐng)域的測(cè)試評(píng)估工作進(jìn)行了總結(jié)。文獻(xiàn)[1-3]主要分析了機(jī)器學(xué)習(xí)系統(tǒng)測(cè)試現(xiàn)狀和面臨的風(fēng)險(xiǎn)挑戰(zhàn)。Huang 等人[4]從評(píng)估深度神經(jīng)網(wǎng)絡(luò)系統(tǒng)可信性、安全性出發(fā),分別從驗(yàn)證、測(cè)試、可對(duì)抗攻擊和防御、解釋性技術(shù)等方面介紹了針對(duì)DNN 系統(tǒng)驗(yàn)證測(cè)試的進(jìn)展。王贊等人[5]圍繞測(cè)試度量指標(biāo)、測(cè)試輸入生成、測(cè)試預(yù)言、測(cè)試應(yīng)用和評(píng)測(cè)數(shù)據(jù)集五方面對(duì)深度神經(jīng)網(wǎng)絡(luò)測(cè)試近年來(lái)的研究成果進(jìn)行了系統(tǒng)而深入的梳理,并對(duì)神經(jīng)網(wǎng)絡(luò)測(cè)試未來(lái)的發(fā)展進(jìn)行了展望。此外,曾春燕等人[6]從自解釋模型、特定模型解釋、不可知模型解釋和因果可解釋性四方面對(duì)DL模型可解釋性方法進(jìn)行了總結(jié)分析。

    圍繞神經(jīng)網(wǎng)絡(luò)的驗(yàn)證和測(cè)試技術(shù),對(duì)已有的研究成果進(jìn)行細(xì)致的梳理總結(jié),從驗(yàn)證技術(shù)、基于覆蓋的測(cè)試技術(shù)、基于對(duì)抗樣本的測(cè)試技術(shù)、融合傳統(tǒng)測(cè)試技術(shù)等多個(gè)角度剖析神經(jīng)網(wǎng)絡(luò)驗(yàn)證和測(cè)試技術(shù)研究現(xiàn)狀,為相關(guān)領(lǐng)域研究人員提供參考。文章組織結(jié)構(gòu)如圖1所示。本文與上述相關(guān)綜述文獻(xiàn)有相似之處,但有以下三點(diǎn)不同:(1)側(cè)重從技術(shù)角度出發(fā),分析當(dāng)前神經(jīng)網(wǎng)絡(luò)驗(yàn)證和測(cè)試的主要技術(shù)。(2)對(duì)現(xiàn)有技術(shù)進(jìn)行了較為詳細(xì)的歸納和分類,條理清晰。(3)既指出已有研究成果的貢獻(xiàn),又指出當(dāng)前工作存在的不足,從正反兩方面闡述神經(jīng)網(wǎng)絡(luò)測(cè)試的研究進(jìn)展,供讀者思考和參考。

    圖1 文章組織結(jié)構(gòu)Fig.1 Organization structure of this paper

    1 神經(jīng)網(wǎng)絡(luò)驗(yàn)證和測(cè)試

    本章對(duì)神經(jīng)網(wǎng)絡(luò)驗(yàn)證和測(cè)試中的一些基本概念進(jìn)行介紹。

    1.1 神經(jīng)網(wǎng)絡(luò)

    一個(gè)神經(jīng)網(wǎng)絡(luò)可以表示為一個(gè)元組N=(L,C,Φ)。其中,L={Lk|k∈{1,2,…,K}} 代表一系列網(wǎng)絡(luò)層,C=L×L代表層與層之間的連接,Φ={Φk|k∈{2,3,…,K}}代表一系列函數(shù)。對(duì)于一個(gè)神經(jīng)網(wǎng)絡(luò)N,L1代表輸入層,LK代表輸出層,其余代表隱藏層。網(wǎng)絡(luò)層Lk包含Nk個(gè)神經(jīng)元,Lk層第m個(gè)神經(jīng)元可表示為nk,m,值為uk,m。每一個(gè)神經(jīng)元前一個(gè)網(wǎng)絡(luò)層中的每個(gè)神經(jīng)元相連,并存在如下關(guān)系:

    其中,wk-1,i,m代表第k-1 層中的神經(jīng)元和nk,m的連接權(quán)重,bk,m為偏置。由于存在非線性激活函數(shù),比如ReLU,則神經(jīng)元激活值vk,m計(jì)算過(guò)程為:

    如果將每一層計(jì)算過(guò)程用Φk表示,則對(duì)于輸入x,整個(gè)神經(jīng)網(wǎng)絡(luò)從輸入到輸出可表示為f的函數(shù):

    將神經(jīng)網(wǎng)絡(luò)符號(hào)化表示,可以是函數(shù)表示或編碼表示,在此基礎(chǔ)上進(jìn)行推理和證明,一般是進(jìn)行神經(jīng)網(wǎng)絡(luò)驗(yàn)證的必要準(zhǔn)備。

    1.2 神經(jīng)網(wǎng)絡(luò)驗(yàn)證技術(shù)和測(cè)試技術(shù)

    神經(jīng)網(wǎng)絡(luò)驗(yàn)證技術(shù)是通過(guò)一定手段確定一個(gè)屬性(例如,給定輸入的局部魯棒性)是否在神經(jīng)網(wǎng)絡(luò)上成立,如果成立,則能夠提供嚴(yán)格的數(shù)學(xué)證明,如果不成立,則要提供證明或是提出反例。很多場(chǎng)景下,由于神經(jīng)網(wǎng)絡(luò)的高度復(fù)雜性,推導(dǎo)和準(zhǔn)確計(jì)算出給定輸入的輸出值難以實(shí)現(xiàn),這時(shí)候?yàn)榱撕?jiǎn)化計(jì)算,一般會(huì)引入一個(gè)誤差,從而確保計(jì)算過(guò)程能順利進(jìn)行,前提條件是保證誤差最終能夠收斂。驗(yàn)證問題通常具有很高的復(fù)雜度,神經(jīng)網(wǎng)絡(luò)的高維度和非線性,使得神經(jīng)網(wǎng)絡(luò)的驗(yàn)證是NP難的[7]。神經(jīng)網(wǎng)絡(luò)驗(yàn)證一般在小規(guī)模網(wǎng)絡(luò)上進(jìn)行,對(duì)大規(guī)模網(wǎng)絡(luò)進(jìn)行驗(yàn)證會(huì)面臨計(jì)算復(fù)雜度高、時(shí)間開銷大的問題。

    神經(jīng)網(wǎng)絡(luò)測(cè)試技術(shù)是通過(guò)一定方式生成測(cè)試用例,通過(guò)觀察輸出結(jié)果與預(yù)期結(jié)果之間的關(guān)系來(lái)檢查和發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)的缺陷,從而對(duì)神經(jīng)網(wǎng)絡(luò)某方面的屬性或能力做出判斷。相比驗(yàn)證技術(shù),測(cè)試技術(shù)不需要提供嚴(yán)格的數(shù)學(xué)證明,計(jì)算成本相對(duì)較低,但在結(jié)果的可信度上不如驗(yàn)證技術(shù)。測(cè)試技術(shù)一般需要以一定的測(cè)試指標(biāo)為指導(dǎo),傳統(tǒng)軟件測(cè)試通常以覆蓋率為指標(biāo)指導(dǎo)測(cè)試用例生成,如代碼覆蓋、路徑覆蓋、MC/DC 等。由于神經(jīng)網(wǎng)絡(luò)沒有明確的控制流和數(shù)據(jù)流,這些指標(biāo)在神經(jīng)網(wǎng)絡(luò)測(cè)試中并不適用。因此,神經(jīng)網(wǎng)絡(luò)測(cè)試技術(shù)主要根據(jù)神經(jīng)網(wǎng)絡(luò)的特點(diǎn),圍繞指導(dǎo)測(cè)試用例生成、檢測(cè)神經(jīng)網(wǎng)絡(luò)潛在缺陷、解決測(cè)試預(yù)言等問題展開研究。

    1.3 神經(jīng)網(wǎng)絡(luò)驗(yàn)證和測(cè)試目的和方法

    神經(jīng)網(wǎng)絡(luò)的驗(yàn)證和測(cè)試主要為了發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)潛在威脅或缺陷,客觀評(píng)價(jià)神經(jīng)網(wǎng)絡(luò)的一些屬性,從而更好地保證神經(jīng)網(wǎng)絡(luò)技術(shù)應(yīng)用的質(zhì)量。

    魯棒性是神經(jīng)網(wǎng)絡(luò)的一個(gè)重要屬性,神經(jīng)網(wǎng)絡(luò)的魯棒性是指神經(jīng)網(wǎng)絡(luò)在各種輸入攝動(dòng)下表現(xiàn)出的穩(wěn)定程度。神經(jīng)網(wǎng)絡(luò)魯棒性可以分為全局魯棒性和局部魯棒性,局部魯棒性描述刻畫了神經(jīng)網(wǎng)絡(luò)在一定輸入范圍、區(qū)域內(nèi)的魯棒性,全局魯棒性則要考慮在所有輸入下的魯棒性。安全性是神經(jīng)網(wǎng)絡(luò)另外一個(gè)重要屬性,安全性從神經(jīng)網(wǎng)絡(luò)自身脆弱性和易受的外部攻擊出發(fā),衡量神經(jīng)網(wǎng)絡(luò)的抵抗內(nèi)部和外部風(fēng)險(xiǎn)的能力。在某種程度上,安全性和魯棒性有相似之處。對(duì)抗樣本的存在使得神經(jīng)網(wǎng)絡(luò)安全性面臨挑戰(zhàn),對(duì)抗樣本是指通過(guò)蓄意構(gòu)造細(xì)微的擾動(dòng),生成新的樣本,來(lái)欺騙神經(jīng)網(wǎng)絡(luò),對(duì)抗樣本問題廣泛存在于各種神經(jīng)網(wǎng)絡(luò)中,成為威脅神經(jīng)網(wǎng)絡(luò)技術(shù)應(yīng)用的一個(gè)隱患。

    在驗(yàn)證方面,Lipschitz屬性常被用來(lái)衡量神經(jīng)網(wǎng)絡(luò)魯棒性。Lipschitz的定義為:給定神經(jīng)網(wǎng)絡(luò)及其函數(shù)f,輸入?yún)^(qū)域η?[0,1]n,對(duì)任意x1,x2∈η,在P范數(shù)下,如果存在一個(gè)常量L,使得恒成立,則稱L是Lipschitz 常量。Lipschitz 連續(xù)性一般用于刻畫神經(jīng)網(wǎng)絡(luò)全局魯棒性。此外,一些研究則從神經(jīng)網(wǎng)絡(luò)輸出可達(dá)性、區(qū)間屬性等角度對(duì)神經(jīng)網(wǎng)絡(luò)屬性進(jìn)行分析和驗(yàn)證。在測(cè)試方面,針對(duì)如何生成有效的測(cè)試用例,一些學(xué)者從覆蓋指標(biāo)出發(fā),提出了適用于神經(jīng)網(wǎng)絡(luò)的覆蓋指標(biāo);或者從對(duì)抗樣本角度入手,通過(guò)生成對(duì)抗樣本檢驗(yàn)神經(jīng)網(wǎng)絡(luò)的魯棒性和安全性;還有一些學(xué)者將傳統(tǒng)測(cè)試技術(shù)應(yīng)用到神經(jīng)網(wǎng)絡(luò)測(cè)試中,用于解決測(cè)試預(yù)言問題、檢測(cè)代碼缺陷等。

    2 驗(yàn)證技術(shù)

    針對(duì)神經(jīng)網(wǎng)絡(luò)樣本驗(yàn)證技術(shù)的分類,Huang 等人[4]將DNN驗(yàn)證技術(shù)分為約束求解、基于搜索的方法、全局優(yōu)化和過(guò)度逼近四種方法,具有一定合理性,但是不夠全面,分類界限較為模糊。從是否能夠準(zhǔn)確計(jì)算結(jié)果出發(fā),將驗(yàn)證技術(shù)分為精確求解和近似求解兩大類,每一類又進(jìn)一步細(xì)化,對(duì)目前驗(yàn)證技術(shù)進(jìn)行詳細(xì)介紹。

    2.1 精確求解

    精確求解,就是對(duì)神經(jīng)網(wǎng)絡(luò)的屬性進(jìn)行全面、準(zhǔn)確的驗(yàn)證,能夠得出準(zhǔn)確的結(jié)果。神經(jīng)網(wǎng)絡(luò)驗(yàn)證問題是一個(gè)NP 完全問題,因此精確求解會(huì)面臨組合爆炸的問題??紤]到約束求解器在求解大規(guī)模組合問題上的成功應(yīng)用,一些學(xué)者嘗試將神經(jīng)網(wǎng)絡(luò)的驗(yàn)證問題轉(zhuǎn)換為約束問題,然后通過(guò)約束求解器進(jìn)行求解,并且取得了不錯(cuò)的效果。神經(jīng)網(wǎng)絡(luò)驗(yàn)證常用的求解器有可滿足性模理論(Satisfiability Modulo Theories,SMT)求解器、可滿足性(Satisfiability,SAT)求解器、混合整數(shù)線性規(guī)劃(Mixed Integer Linear Programming,MILP)求解器等。

    2.1.1 SMT

    Huang 等人[8]基于SMT 求解器提出了用于驗(yàn)證前饋神經(jīng)網(wǎng)絡(luò)(Feedforward Neural Network,F(xiàn)NN)安全性的自動(dòng)化框架DLV(Deep Learning Verification)。該框架能夠保證神經(jīng)網(wǎng)絡(luò)如果存在錯(cuò)誤分類的行為,那么一定能夠被發(fā)現(xiàn)。該方法將輸入視為空間中一點(diǎn),并指定鄰域作為搜索范圍,通過(guò)定義一系列的圖像操作,來(lái)對(duì)輸入圖像的鄰域進(jìn)行全面的搜索。在此過(guò)程中,利用SMT 求解器來(lái)實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)進(jìn)行逐層傳播分析算法,檢測(cè)神經(jīng)網(wǎng)絡(luò)分類器存在的不安全行為。作者在MNIST、CIFAR-10、ImageNet 等數(shù)據(jù)集和相應(yīng)的網(wǎng)絡(luò)上進(jìn)行了實(shí)驗(yàn),發(fā)現(xiàn)該方法能夠檢測(cè)出比FGSM(Fast Gradient Sign Method)、JSMA(Jacobian Saliency Map Algorithm)等對(duì)抗樣本算法擾動(dòng)更小的對(duì)抗樣本,證明了其檢驗(yàn)神經(jīng)網(wǎng)絡(luò)魯棒性的有效性。

    Katz 等人[9]提出了用于驗(yàn)證包含線性函數(shù)和ReLU激活函數(shù)的神經(jīng)網(wǎng)絡(luò)特性的框架Reluplex。Reluplex是一種利用SMT 求解器對(duì)驗(yàn)證問題進(jìn)行按需拆分的方法。從賦值開始,Reluplex 始終保持對(duì)所有變量的賦值,即使這些變量違反了某些約束。它利用單純形法對(duì)約束中的線性約束進(jìn)行求解,如果不存在解,則意味著反例搜索失敗。如果存在解,會(huì)出現(xiàn)兩種情況:一種情況是這個(gè)解滿足ReLU約束,生成一個(gè)反例;否則,將不滿足的ReLU 約束分為兩種情況進(jìn)一步考慮。這是一種利用遞歸思想求解的方法,將問題不斷分解來(lái)尋找可滿足的解。作者在一個(gè)包含300個(gè)ReLU節(jié)點(diǎn)的網(wǎng)絡(luò)上進(jìn)行實(shí)驗(yàn),證明該方法的有效性。

    Ehlers[10]也提出了利用SMT 求解器驗(yàn)證神經(jīng)網(wǎng)絡(luò)的方法Planet。該方法引入了一種神經(jīng)網(wǎng)絡(luò)的全局線性近似,作為一種邊界方法來(lái)過(guò)度逼近每個(gè)隱藏單元可能的值集。同時(shí)采用凸松弛的方法用線性約束去近似代替非線性約束,這樣就將約束問題轉(zhuǎn)化為線性規(guī)劃問題,并能夠保證提供比Reluplex 更緊的弛豫。此外,Planet 利用沖突分析來(lái)發(fā)現(xiàn)不能導(dǎo)致可滿足的分裂組合,從而允許它們對(duì)(子)問題進(jìn)行進(jìn)一步的修剪。

    2.1.2 SAT

    二值化神經(jīng)網(wǎng)絡(luò)(Binarized Neural Network,BNN)的連接權(quán)重和激活值只有+1 和-1 兩種情況,比一般全精度網(wǎng)絡(luò)要簡(jiǎn)單得多,一些學(xué)者對(duì)其進(jìn)行布爾編碼,并將神經(jīng)網(wǎng)絡(luò)驗(yàn)證問題轉(zhuǎn)化為SAT問題進(jìn)行求解。

    Cheng 等人[11]將BNN 驗(yàn)證問題歸結(jié)為組合電路驗(yàn)證中的SAT問題,并利用SAT求解器進(jìn)行求解。首先對(duì)BNN 進(jìn)行編碼,主要將BNN 中的雙極域運(yùn)算替換為布爾運(yùn)算,然后為BNN驗(yàn)證問題構(gòu)造一個(gè)組合聯(lián)接器,并將組合聯(lián)接器編碼為相應(yīng)的SAT問題。此外,作者還提出利用XNOR進(jìn)行提取和利用因子分解技術(shù)對(duì)BNN驗(yàn)證進(jìn)行優(yōu)化。最后作者通過(guò)在MNIST、German Traffic Sign兩個(gè)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),證明了所提方法的有效性。

    Narodytska 等人[12-13]將BNN 進(jìn)行布爾編碼,從布爾可滿足性的角度來(lái)分析BNN 的屬性。作者將BNN 分為內(nèi)部塊和外部塊兩部分,首先對(duì)內(nèi)部塊和外部塊分別進(jìn)行布爾編碼,從而將神經(jīng)網(wǎng)絡(luò)編碼為布爾公式。然后將內(nèi)部塊和外部塊的每一層一步步從MILP 編碼、ILP編碼最后轉(zhuǎn)化為SAT 編碼。接著對(duì)神經(jīng)網(wǎng)絡(luò)屬性進(jìn)行編碼,結(jié)合神經(jīng)網(wǎng)絡(luò)編碼,最終可得到一個(gè)SAT 公式組。作者結(jié)合反例引導(dǎo)搜索的思想,利用SAT求解器對(duì)上述SAT 公式進(jìn)行求解。通過(guò)實(shí)驗(yàn)比較了ILP、純SAT和所提方法在檢測(cè)對(duì)抗魯棒性上的性能,結(jié)果表明作者所提方法在證明神經(jīng)網(wǎng)絡(luò)魯棒性方面要優(yōu)于其他兩種方法。

    2.1.3 MILP

    Lomuscio等人[14]將ReLU函數(shù)的約束編碼為MILP,結(jié)合線性規(guī)劃表示的輸出規(guī)范,輸出集的驗(yàn)證問題最終變成MILP 的可達(dá)性問題,并從結(jié)果可達(dá)性角度對(duì)神經(jīng)網(wǎng)絡(luò)的屬性做出判斷。對(duì)于神經(jīng)網(wǎng)絡(luò)第i層,MILP 編碼為:

    其中M是一個(gè)“足夠大”的常數(shù)。通過(guò)這種編碼,可以將可達(dá)性分析簡(jiǎn)化為求解一個(gè)定義在這些約束上的線性規(guī)劃問題。最后作者在MNIST數(shù)據(jù)集上驗(yàn)證了該方法的可行性。

    Bunel等人[15-16]將分支定界的思想引入到MILP問題的求解中。該方法將MILP 的輸入域不斷地拆分成子域,同時(shí)在子域上計(jì)算最小值的上下限,通過(guò)子域最小值的上下限來(lái)跟蹤計(jì)算全局最小值的界限。當(dāng)全局最小值的上界與下界相差小于一定標(biāo)量時(shí),就認(rèn)為收斂。在分支的過(guò)程中,還可以引入啟發(fā)式求解算法,加快求解。在實(shí)驗(yàn)中,作者將BlackBox、Reluplex、Planet、MIPplanet等方法和所提方法BaB、BaBSB 進(jìn)行對(duì)比,結(jié)果發(fā)現(xiàn)無(wú)論是小規(guī)模網(wǎng)絡(luò)還是大規(guī)模網(wǎng)絡(luò),所提方法在發(fā)現(xiàn)錯(cuò)誤的效率上都要優(yōu)于其他方法。

    但是,簡(jiǎn)單地使用MILP 來(lái)驗(yàn)證神經(jīng)網(wǎng)絡(luò)或計(jì)算輸出范圍的效率并不高,因此一些工作就研究如何加速求解過(guò)程。Cheng等人[17]利用啟發(fā)式算法加速M(fèi)ILP求解過(guò)程,同時(shí)嘗試?yán)貌⑿谢姆椒ㄟM(jìn)行加速。Dutta 等人[18]交替使用局部搜索和全局搜索來(lái)有效計(jì)算輸出范圍。其中在局部搜索階段,使用梯度下降法尋找局部最大值(或最小值),而在全局搜索階段,使用MILP對(duì)問題進(jìn)行編碼,以檢查局部最大值(或最小值)是否為全局輸出范圍。Tjeng 等人[19]提出了一種基于MILP 的方法驗(yàn)證分段線性神經(jīng)網(wǎng)絡(luò)的屬性。將非線性的公式和預(yù)求解算法相結(jié)合,最大限度減少M(fèi)ILP 問題中的二元變量的數(shù)量,改善數(shù)值條件,能夠比單純使用MILP快幾個(gè)數(shù)量級(jí)。

    精確求解驗(yàn)證將神經(jīng)網(wǎng)絡(luò)的屬性驗(yàn)證轉(zhuǎn)化為約束求解問題,并應(yīng)用求解器進(jìn)行求解。這種方法雖然能夠全面準(zhǔn)確驗(yàn)證神經(jīng)網(wǎng)絡(luò)的屬性,但是也存在計(jì)算復(fù)雜度高,難以推廣到大規(guī)模網(wǎng)絡(luò)上等問題。在神經(jīng)網(wǎng)絡(luò)規(guī)模越來(lái)越大的今天,采用精確求解的驗(yàn)證技術(shù)去驗(yàn)證神經(jīng)網(wǎng)絡(luò)具有很大的局限性。

    2.2 近似求解

    一些學(xué)者認(rèn)為,精確求解的方法將神經(jīng)網(wǎng)絡(luò)驗(yàn)證問題考慮得過(guò)于全面,導(dǎo)致問題復(fù)雜度過(guò)高,時(shí)間開銷過(guò)大,可以適當(dāng)?shù)貙Ⅱ?yàn)證問題簡(jiǎn)化,采用近似的方法進(jìn)行求解。近似求解驗(yàn)證技術(shù)主要可以分為抽象解釋、線性松弛、半定規(guī)劃或?qū)ε嫉确椒ā?/p>

    2.2.1 抽象解釋

    抽象解釋的方法是基于Cousot 等人[20]提出的程序分析構(gòu)造和逼近程序理論。該理論的基本思想是在處理復(fù)雜的計(jì)算問題或模型時(shí),通過(guò)對(duì)問題進(jìn)行近似抽象,取出其中的關(guān)鍵部分進(jìn)行分析,從而減少問題的復(fù)雜程度。神經(jīng)網(wǎng)絡(luò)的輸入輸出空間可以視為一個(gè)具體域C,因?yàn)镃空間過(guò)于龐大,難以直接計(jì)算,所以選擇一個(gè)相對(duì)簡(jiǎn)單的域A作為抽象域,它過(guò)度逼近C中變量的范圍和關(guān)系,那么神經(jīng)網(wǎng)絡(luò)在C上的一些屬性就可以在A上計(jì)算和研究。在抽象解釋中,選擇合適的抽象域很重要,它決定了抽象解釋的效率和精度。驗(yàn)證神經(jīng)網(wǎng)絡(luò)比較常用的抽象域有區(qū)間抽象域(Interval Domain)、Zonotope 抽象域(Zonotope Domain)和多面體抽象域(Polytope Domain)。

    Gehr 等人[21]利用抽象解釋的方法開發(fā)了端到端的驗(yàn)證工具AI2。AI2選擇Zonotope作為抽象域,并證明了該抽象域比區(qū)間抽象域精度更高。為了便于把神經(jīng)網(wǎng)絡(luò)驗(yàn)證問題轉(zhuǎn)換成抽象解釋的表示,作者首先將神經(jīng)網(wǎng)絡(luò)表示為條件仿射變換(Conditional Affine Transformations,CAT)的組合;然后通過(guò)定義一定的抽象轉(zhuǎn)換函數(shù)來(lái)捕獲全連接和卷積神經(jīng)網(wǎng)絡(luò)的行為;最后計(jì)算抽象輸出以檢查神經(jīng)網(wǎng)絡(luò)的行為。與此同時(shí),作者提出了一個(gè)有界powerset域,用于在精度和可擴(kuò)展性之間進(jìn)行權(quán)衡。通過(guò)在20個(gè)網(wǎng)絡(luò)上的實(shí)驗(yàn)評(píng)估表明,AI2不僅能夠有效證明神經(jīng)網(wǎng)絡(luò)的某些屬性(例如魯棒性),在速度和精度上也明顯優(yōu)于其他分析器。

    Singh等人[22]提出快速高效證明神經(jīng)網(wǎng)絡(luò)魯棒性的方法DeepZ。作者為ReLU、sigmod、tanh 等激活函數(shù)設(shè)計(jì)新的逐點(diǎn)Zontope 抽象轉(zhuǎn)換器,抽象轉(zhuǎn)換器能夠最小化Zonotope 到二維輸入輸出平面的投影,支持浮點(diǎn)運(yùn)算,并適用于前饋網(wǎng)絡(luò)、卷積網(wǎng)絡(luò)、殘差網(wǎng)絡(luò)等不同類型的網(wǎng)絡(luò)。作者通過(guò)實(shí)驗(yàn)證明了該方法能夠有效驗(yàn)證神經(jīng)網(wǎng)絡(luò)的局部魯棒性。

    此外,Singh 等人[23]為了解決驗(yàn)證神經(jīng)網(wǎng)絡(luò)可拓展性和精度方面的挑戰(zhàn),基于抽象解釋提出了DeepPoly。該方法將浮點(diǎn)Polytope 和Interval 相結(jié)合,并且針對(duì)激活函數(shù)和Maxpool 算子的特性而專門定制了抽象變換器,這些抽象轉(zhuǎn)換器能夠很好地處理前饋網(wǎng)絡(luò)和卷積網(wǎng)絡(luò),另外還支持浮點(diǎn)運(yùn)算,因此在可擴(kuò)展性和精度上都有所提高。Mirman等人[24]提出一種基于抽象解釋訓(xùn)練神經(jīng)網(wǎng)絡(luò)的方法。該方法使用定義在Zonotope 域的抽象轉(zhuǎn)換器,可用于計(jì)算微分和梯度下降,提高了神經(jīng)網(wǎng)絡(luò)魯棒性的可證明性。Li 等人[25]將一種新的符號(hào)傳播技術(shù)運(yùn)用到抽象解釋中,將神經(jīng)元的激活值以符號(hào)形式表示,在抽象域上對(duì)從輸入層到輸出層的傳播過(guò)程進(jìn)行分析。利用表達(dá)式象征性地表示每個(gè)神經(jīng)元激活如何由前幾層的神經(jīng)元激活值決定,這樣就比僅簡(jiǎn)單地使用抽象解釋獲得更高的精度。

    2.2.2 過(guò)度逼近

    Weng等人[26]分析了ReLU網(wǎng)絡(luò)的區(qū)間屬性和Lipschitz連續(xù)屬性,提出了兩種算法Fast-Lin和Fast-Lip。該方法采用逐層計(jì)算邊界的思路,其中Fast-Lin用于對(duì)神經(jīng)網(wǎng)絡(luò)中的ReLU 單元進(jìn)行線性逼近,F(xiàn)ast-Lip 采用梯度對(duì)Lipschitz常數(shù)進(jìn)行逼近。作者通過(guò)實(shí)驗(yàn)證明,在獲得相似精度的求解中,他們所提的算法比基于線性規(guī)劃的方法更快。

    Zhang等人[27]受到Weng工作的啟發(fā),提出了一種基于過(guò)度逼近的驗(yàn)證框架CROWN。對(duì)于ReLU、sigmod等激活函數(shù),采用線性或者二次函數(shù)進(jìn)行逼近,從而能夠有效地計(jì)算神經(jīng)網(wǎng)絡(luò)給定數(shù)據(jù)點(diǎn)的最小失真認(rèn)證下界。在時(shí)間復(fù)雜度上,與Reluplex等需要指數(shù)級(jí)時(shí)間的方法相比,該方法能夠在多項(xiàng)式時(shí)間內(nèi)求解,與此同時(shí),該方法比Fast-Lin和Fast-Lip有更好的性能表現(xiàn)。

    Boopathy 等人[28]提出了針對(duì)CNN 魯棒性的驗(yàn)證框架CNN-Cert。該框架將線性邊界技術(shù)應(yīng)用到非線性函數(shù)(例如非線性激活函數(shù)、殘差塊和池化操作等)的操作中。首先將每個(gè)非線性函數(shù)視作一個(gè)構(gòu)建塊,計(jì)算出每個(gè)構(gòu)建塊上界和下界;然后將計(jì)算出的上下邊界插入到網(wǎng)絡(luò)中并反向傳播到上一層。那么整個(gè)網(wǎng)絡(luò)就可以看作一個(gè)個(gè)級(jí)聯(lián)的構(gòu)建塊,網(wǎng)絡(luò)輸出的上限和下限以及輸入的上限和下限就有一定的線性關(guān)系。作者通過(guò)實(shí)驗(yàn)證明了該方法在時(shí)間和性能上優(yōu)于Fast-Lin和CROWN等方法。

    2.2.3 對(duì)偶或半定規(guī)劃

    Dvijotham等人[29]將神經(jīng)網(wǎng)絡(luò)驗(yàn)證問題轉(zhuǎn)為優(yōu)化問題,并利用問題的對(duì)偶進(jìn)行求解。主要思想是將神經(jīng)網(wǎng)絡(luò)在多種約束條件下的輸出表示為拉格朗日松弛,那么原來(lái)目標(biāo)函數(shù)和約束條件在每一層都是可分離的,因此支持獨(dú)立優(yōu)化每一層中的變量。通過(guò)構(gòu)造對(duì)偶優(yōu)化問題,采用梯度方法就可以獲得驗(yàn)證目標(biāo)的嚴(yán)格界限。Wong等人[30]認(rèn)為,直接考慮通過(guò)線性規(guī)劃方法對(duì)含ReLU的網(wǎng)絡(luò)進(jìn)行驗(yàn)證求解是不可行的,而從線性規(guī)劃的對(duì)偶問題出發(fā),任何可行對(duì)偶解都提供了原始解的有保證的下界。沿著這一思路出發(fā),在激活函數(shù)邊界計(jì)算中,通過(guò)對(duì)偶函數(shù)可以計(jì)算每一層輸出的上下界,并通過(guò)層層傳導(dǎo),最后可以計(jì)算整個(gè)輸出的邊界。

    Raghunathan 等人[31]針對(duì)神經(jīng)網(wǎng)絡(luò)魯棒性證明,提出了一種基于半定規(guī)劃的凸優(yōu)化松弛算法。這種方法使用線性規(guī)劃和二次約束代替優(yōu)化問題的非線性ReLU約束,將其轉(zhuǎn)化為二次約束二次規(guī)劃,并進(jìn)一步放寬到一個(gè)半定規(guī)劃。該方法能聯(lián)合解釋中間激活,并捕獲線性規(guī)劃松弛所不能捕獲的相互作用,比基于線性規(guī)劃松弛算法更加嚴(yán)謹(jǐn)。在Raghunathan工作基礎(chǔ)上,Richard等人[32]利用幾何技術(shù)來(lái)分析半定規(guī)劃的緊致性。將對(duì)抗性攻擊問題的最小二乘約束分解為一系列的投影問題,其中最后一個(gè)問題將一個(gè)點(diǎn)投影到一個(gè)非凸雙曲線上(高維雙曲線),那么當(dāng)且僅當(dāng)該投影位于雙曲線的長(zhǎng)軸上時(shí),半定松弛是緊致的。

    2.2.4 其他技術(shù)

    Lipschitz常量常用于評(píng)估神經(jīng)網(wǎng)絡(luò)模型的魯棒性,一些研究圍繞計(jì)算Lipschitz常量展開。

    Hein等人[33]認(rèn)為計(jì)算DL模型全局Lipschitz上限來(lái)評(píng)價(jià)模型的魯棒性過(guò)于粗糙,提出通過(guò)計(jì)算DL 模型的全局Lipschitz下界來(lái)評(píng)估模型的魯棒性,并提出了通過(guò)正則化優(yōu)化函數(shù)Cross-Lipschitz 來(lái)計(jì)算這個(gè)下限,但是該方法僅適用于連續(xù)可微的神經(jīng)網(wǎng)絡(luò)。受Hein工作的啟發(fā),Weng等人[34]基于極值理論,提出了新的魯棒性指標(biāo)CLEVER。該方法將極值理論應(yīng)用到ReLU 激活函數(shù)中,把DL 魯棒性分析轉(zhuǎn)換為局部Lipschitz 常數(shù)估計(jì)。雖然CLEVER能夠較好地反映DL的魯棒性,但也存在計(jì)算復(fù)雜度高的問題。Wu 等人[35]研究了DL 逐點(diǎn)穩(wěn)健性的兩個(gè)變體,即最大安全半徑問題和特征魯棒性問題,旨在量化單個(gè)特征在對(duì)抗性擾動(dòng)方面的魯棒性。在Lipschitz連續(xù)性假設(shè)下,可以將優(yōu)化問題轉(zhuǎn)化為兩人回合制游戲問題,并在游戲中引入博弈思想,那么最大安全半徑和特征魯棒性的上下界可以用兩人游戲的上下界代替。計(jì)算邊界過(guò)程中,采用蒙特卡洛算法計(jì)算兩人游戲的上界,利用A*算法和Alpha-Beta 剪枝算法計(jì)算兩人游戲的下界。

    此外,Ruan等人[36]專注于L0范數(shù),并研究量化DNN的全局魯棒性問題,將全局魯棒性定義為對(duì)測(cè)試數(shù)據(jù)集的最大安全半徑的期望。他們提出了一種迭代生成網(wǎng)絡(luò)魯棒性下限和上限的方法,該方法可以隨時(shí)返回中間結(jié)果,并采用逐漸嚴(yán)格約束的方式修改上下界限。此外,數(shù)值采用張量存儲(chǔ)的方式能夠支持并行化計(jì)算,加速求解。作者還證明了該方法可以在有限時(shí)間內(nèi)收斂到最優(yōu)值。

    此外,也有一些學(xué)者[37-38]嘗試將精確求解和近似求解的方法相結(jié)合,從而在精度和時(shí)間上獲得平衡。

    神經(jīng)網(wǎng)絡(luò)驗(yàn)證技術(shù)總結(jié)如表1所示。

    表1 神經(jīng)網(wǎng)絡(luò)驗(yàn)證技術(shù)總結(jié)Table 1 Summary of neural network verification technology

    驗(yàn)證技術(shù)能夠?qū)ι窠?jīng)網(wǎng)絡(luò)屬性進(jìn)行嚴(yán)格的證明,為神經(jīng)網(wǎng)絡(luò)技術(shù)應(yīng)用特別是在安全攸關(guān)領(lǐng)域的應(yīng)用提供了保證。精確求解驗(yàn)證將神經(jīng)網(wǎng)絡(luò)驗(yàn)證問題轉(zhuǎn)化為約束求解問題,利用求解器進(jìn)行求解,從而為神經(jīng)網(wǎng)絡(luò)提供全面嚴(yán)格的驗(yàn)證,具有精度高、可信度高的特點(diǎn),但是由于求解問題的復(fù)雜度往往很大,很難應(yīng)用到大規(guī)模網(wǎng)絡(luò)上。此外,精確求解在不同網(wǎng)絡(luò)之間的通用性也存在不足,像SAT求解僅適用于BNN網(wǎng)絡(luò),SMT則大多適用于前饋神經(jīng)網(wǎng)絡(luò)。近似求解驗(yàn)證,借助抽象模型、過(guò)度逼近、對(duì)偶等方法,在犧牲一定精度的前提下,將復(fù)雜問題進(jìn)行簡(jiǎn)化,實(shí)現(xiàn)對(duì)問題的快速求解。近似求解驗(yàn)證技術(shù)能夠應(yīng)用到大規(guī)模網(wǎng)絡(luò)上,并且對(duì)不同類型的網(wǎng)絡(luò)都有一定的適用性。精確求解和近似求解的精度和適用網(wǎng)絡(luò)規(guī)模的關(guān)系如圖2所示。此外,精確求解和近似求解相結(jié)合的方法,能夠平衡精度和時(shí)間兩者關(guān)系,并表現(xiàn)出較好的性能,是一個(gè)值得研究的方向。

    圖2 驗(yàn)證技術(shù)精度和網(wǎng)絡(luò)規(guī)模之間的關(guān)系Fig.2 Relationship between accuracy and network size of verification technology

    3 基于覆蓋的測(cè)試技術(shù)

    傳統(tǒng)軟件測(cè)試中,測(cè)試覆蓋率是衡量軟件測(cè)試充分性的一個(gè)重要指標(biāo),能夠幫助人們客觀認(rèn)識(shí)軟件質(zhì)量,改進(jìn)測(cè)試工作。比較典型的覆蓋指標(biāo)有代碼覆蓋、路徑覆蓋、MC/DC。由于在開發(fā)和編程樣式上與傳統(tǒng)軟件有著本質(zhì)的不同,這些覆蓋指標(biāo)很難直接用在基于神經(jīng)網(wǎng)絡(luò)開發(fā)的程序或軟件上,一些學(xué)者開始嘗試研究適用于神經(jīng)網(wǎng)絡(luò)的覆蓋指標(biāo)。

    基于覆蓋的測(cè)試技術(shù)一般流程如圖3 所示。首先以隨機(jī)測(cè)試輸入為測(cè)試用例,以一定的覆蓋指標(biāo)為指導(dǎo),在神經(jīng)網(wǎng)絡(luò)上測(cè)試這些用例,并獲得相關(guān)覆蓋報(bào)告;然后對(duì)測(cè)試用例進(jìn)行篩選,選擇具有高覆蓋率的測(cè)試用例作為最終測(cè)試用例;最后對(duì)未被篩選的測(cè)試用例,采用一定的策略提高它們的覆蓋率,并作為新的測(cè)試用例,進(jìn)入下一輪測(cè)試用例的測(cè)試和篩選中。其中提高測(cè)試用例覆蓋率的策略一般采用啟發(fā)式搜索算法。

    圖3 基于覆蓋的測(cè)試技術(shù)一般流程Fig.3 General flow of testing technology based on coverage

    3.1 神經(jīng)元覆蓋

    Pei等人[39]首次提出了神經(jīng)元覆蓋(Neuron Coverage,NC)指標(biāo),通過(guò)觀察和計(jì)算神經(jīng)網(wǎng)絡(luò)中各神經(jīng)元的激活情況來(lái)指導(dǎo)測(cè)試。設(shè)神經(jīng)元n的輸出值為V(n),同時(shí)設(shè)置一個(gè)閾值k,如果V(n)>k,則認(rèn)為該神經(jīng)元被激活;否則沒被激活。則有,其中N表示神經(jīng)網(wǎng)絡(luò)中激活神經(jīng)元的數(shù)量,Nall表示神經(jīng)網(wǎng)絡(luò)中神經(jīng)元總量。作者還提出了用于測(cè)試神經(jīng)網(wǎng)絡(luò)的白盒測(cè)試框架DeepXplore,以NC作為指標(biāo)指導(dǎo)測(cè)試輸入生成,結(jié)合差分測(cè)試的思想,最大程度檢測(cè)神經(jīng)網(wǎng)絡(luò)存在的異常行為。最后在MNIST、ImageNet、Driving、Contagio、Drebin等數(shù)據(jù)集和多種網(wǎng)絡(luò)上進(jìn)行了廣泛的實(shí)驗(yàn),結(jié)果證明了DeepXplore 在發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)異常行為方面的有效性。Tian等人[40]基于NC測(cè)試指標(biāo)提出了測(cè)試自動(dòng)駕駛車輛的碰撞檢測(cè)工具DeepTest。DeepTest 通過(guò)模擬現(xiàn)實(shí)世界中駕駛環(huán)境的變化,如下雨、起霧、光照條件,對(duì)圖像進(jìn)行變換,利用貪婪搜索的技術(shù)來(lái)生成神經(jīng)元覆蓋率最大化的測(cè)試輸入,以檢測(cè)神經(jīng)網(wǎng)絡(luò)在上述條件下的錯(cuò)誤行為。

    3.2 MC/DC變體

    Sun 等人[41]認(rèn)為神經(jīng)元覆蓋指標(biāo)過(guò)于粗糙,并不能有效測(cè)試DNN,受到MC/DC 覆蓋準(zhǔn)則的啟發(fā),提出了基于符號(hào)變化、值變化的四種覆蓋指標(biāo):符號(hào)-符號(hào)覆蓋(Sign-Sign Coverage,SSC)、值-符號(hào)覆蓋(Value-Sign Coverage,VSC)、符號(hào)-值覆蓋(Sign-Value Coverage,SVC)和值-值覆蓋(Value-Value Coverage,VVC)。通過(guò)上述四個(gè)覆蓋準(zhǔn)則引導(dǎo)測(cè)試輸入生成,捕獲DNN 中的錯(cuò)誤行為。同時(shí),測(cè)試用例的生成融合了符號(hào)方法和啟發(fā)式搜索算法,能夠達(dá)到加速測(cè)試用例生成的效果。最后通過(guò)MNIST、CIFAR-10、ImageNet 的實(shí)驗(yàn),證明了該方法在檢測(cè)神經(jīng)網(wǎng)絡(luò)缺陷上的有效性。

    3.3 拓展神經(jīng)元覆蓋

    Ma等人[42]拓展了NC思想,在DeepGauge中引入了三個(gè)新的神經(jīng)元級(jí)覆蓋指標(biāo)和兩個(gè)層級(jí)覆蓋指標(biāo)。神經(jīng)元級(jí)覆蓋指標(biāo)包括k多節(jié)神經(jīng)元覆蓋(k-Multisection Neuron Coverage,KMNC)、神經(jīng)元邊界覆蓋(Neuron Boundary Coverage,NBC)和強(qiáng)神經(jīng)元激活覆蓋(Strong Neuron Activation Coverage,SNAC);層級(jí)覆蓋包括Top-k神經(jīng)元覆蓋(Top-kNeuron Coverage,TKNC)和Top-k神經(jīng)元模式(Top-kNeuron Patterns,TKNP)。作者希望通過(guò)最大程度刻畫神經(jīng)元、網(wǎng)絡(luò)層等不同層面的狀態(tài)變化,來(lái)發(fā)現(xiàn)網(wǎng)絡(luò)存在的異常行為。最后在MNIST、ImageNet上進(jìn)行實(shí)驗(yàn),證明了這些覆蓋指標(biāo)能夠有效捕獲包括對(duì)抗樣本在內(nèi)的異常輸入,與DeepXplore 相比,能夠在更細(xì)粒度的層次上捕獲神經(jīng)網(wǎng)絡(luò)的異常行為。此外,Ma 等人[43]將組合測(cè)試的方法應(yīng)用到神經(jīng)網(wǎng)絡(luò)測(cè)試中,提出了指導(dǎo)測(cè)試輸入生成的方法DeepCT。引入t-路組合稀疏覆蓋(t-Way Combination Sparse Coverage,TWCSC)和t-路組合稠密覆蓋(t-Way Combination Dense Coverage,TWCDC)兩個(gè)指標(biāo),充分考慮同一層神經(jīng)元的各種狀態(tài)組合,來(lái)分析神經(jīng)網(wǎng)絡(luò)的局部魯棒性。作者通過(guò)實(shí)驗(yàn)證明,以這兩個(gè)指標(biāo)引導(dǎo)測(cè)試輸入生成,能夠在使用較少測(cè)試用例的情況下,獲得令人滿意的缺陷檢測(cè)能力。

    Lee等人[44]結(jié)合覆蓋指標(biāo)和自適應(yīng)的神經(jīng)元選擇策略提出了神經(jīng)網(wǎng)絡(luò)白盒測(cè)試框架Adapt。該框架采用NC和TKNC作為覆蓋指標(biāo),并定義了神經(jīng)元矩陣和29種神經(jīng)元特征,通過(guò)參數(shù)化神經(jīng)元選擇策略和學(xué)習(xí)方式獲得適當(dāng)參數(shù)。實(shí)驗(yàn)表明,該方法在提高覆蓋率和發(fā)現(xiàn)對(duì)抗輸入方面比現(xiàn)有的白盒和灰盒技術(shù)更有效。

    Xie等人[45]提出了一種覆蓋指標(biāo)引導(dǎo)的模糊測(cè)試框架DeepHunter。該框架將NC、KMNC、NBC、SNAC、TKNC這五種覆蓋指標(biāo)作為度量標(biāo)準(zhǔn),在測(cè)試輸入生成的過(guò)程中,采用變異測(cè)試方法,以四種種子選擇策略生成變異體,然后利用覆蓋指標(biāo)的反饋指導(dǎo)測(cè)試輸入生成,用于檢測(cè)神經(jīng)神經(jīng)網(wǎng)絡(luò)系統(tǒng)的潛在缺陷。實(shí)驗(yàn)結(jié)果證明,該框架在覆蓋范圍、缺陷檢測(cè)數(shù)量和多樣性方面要優(yōu)于同一時(shí)期的其他方法。

    3.4 意外覆蓋

    Kim等人[46]認(rèn)為現(xiàn)有的神經(jīng)元覆蓋指標(biāo)粒度較粗,并不能描述神經(jīng)網(wǎng)絡(luò)所表現(xiàn)出的細(xì)微行為,于是提出了神經(jīng)網(wǎng)絡(luò)充分性測(cè)試框架SADL(Surprise Adequacy for Deep Learning Systems)。在框架中,引入了意外充分性(Surprise Adequacy,SA)的概念,用于衡量輸入分布和訓(xùn)練數(shù)據(jù)的分布差距,并基于此提出了意外覆蓋(Surprise Coverage,SC)指標(biāo)。SADL 首先衡量單個(gè)測(cè)量輸入相對(duì)于訓(xùn)練數(shù)據(jù)的SA,然后利用單個(gè)測(cè)試輸入的意外程度去衡量整個(gè)測(cè)試輸入的SA,在此過(guò)程中采用核密度估計(jì)和基于歐式距離兩種方法計(jì)算SC。作者通過(guò)廣泛的實(shí)驗(yàn)證明了SADL 能夠準(zhǔn)確地捕獲異常輸入,并指導(dǎo)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。

    3.5 路徑覆蓋

    Wang等人[47]認(rèn)為傳統(tǒng)測(cè)試中的控制流和數(shù)據(jù)流對(duì)神經(jīng)網(wǎng)絡(luò)來(lái)說(shuō)沒有實(shí)際意義,提出了一種基于路徑覆蓋的測(cè)試方法DeepPath。為了評(píng)估DNN 測(cè)試的充分性,對(duì)神經(jīng)元傳播路徑進(jìn)行了研究,并定義了l長(zhǎng)度強(qiáng)激活路徑覆蓋(l-length Strong Activated Path coverage,l-SAP)、l長(zhǎng)度輸出激活路徑覆蓋(l-length Output Activated Path coverage,l-OAP)和l-長(zhǎng)度全狀態(tài)路徑覆蓋(l-length Full State Path coverage,l-FSP)三種覆蓋指標(biāo),用于指導(dǎo)測(cè)試輸入生成。最后在MNIST 上進(jìn)行實(shí)驗(yàn),證明了該方法能夠更好地識(shí)別對(duì)抗樣本和評(píng)估模型的魯棒性。

    此外,文獻(xiàn)[48-50]分別從神經(jīng)元激活概率和偏差、狀態(tài)級(jí)別和轉(zhuǎn)換級(jí)別、數(shù)據(jù)集定量投影等角度提出了覆蓋指標(biāo),用于測(cè)試神經(jīng)網(wǎng)絡(luò)的充分性?;诟采w的測(cè)試技術(shù)總結(jié)如表2所示。

    表2 基于覆蓋的測(cè)試技術(shù)總結(jié)Table 2 Summary of testing technology based on coverage

    以上覆蓋指標(biāo)都力圖從神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的某個(gè)角度刻畫神經(jīng)網(wǎng)絡(luò)的行為,指導(dǎo)神經(jīng)網(wǎng)絡(luò)測(cè)試。從覆蓋粒度層面來(lái)說(shuō),NC、SSC、DSC、SVC、DVC 等覆蓋指標(biāo)從單個(gè)神經(jīng)元符號(hào)或值出發(fā),描述神經(jīng)網(wǎng)絡(luò)可能的狀態(tài)和行為空間;KMNC、NBC、SNAC、SC 將單個(gè)神經(jīng)元的狀態(tài)刻畫進(jìn)一步細(xì)化,產(chǎn)生的狀態(tài)空間也就越大,能夠發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)更細(xì)微的行為差異;TWCSC、TWCDC 則考慮同一網(wǎng)絡(luò)層不同神經(jīng)元之間的狀態(tài)組合,l-SAP、l-OAP、l-FSP 考慮不同網(wǎng)絡(luò)層之間神經(jīng)元的傳播路徑;TKNC、TKNP 從網(wǎng)絡(luò)層級(jí)定義覆蓋指標(biāo),粒度較粗,但提供了神經(jīng)網(wǎng)絡(luò)行為的宏觀視角,可配合更細(xì)粒度的覆蓋指標(biāo)使用。通過(guò)整理總結(jié)文獻(xiàn)中的實(shí)驗(yàn)結(jié)果,對(duì)各個(gè)覆蓋指標(biāo)的有效性進(jìn)行了對(duì)比。圖4 給出了各種覆蓋指標(biāo)在檢測(cè)異常輸入上的能力對(duì)比,其中連線表示二者存在比較關(guān)系,箭頭指向在能力更強(qiáng)的覆蓋指標(biāo)??梢钥闯觯采w指標(biāo)的粒度越細(xì),分析神經(jīng)網(wǎng)絡(luò)行為的能力就越強(qiáng),越容易發(fā)現(xiàn)細(xì)微擾動(dòng)的異常輸入。

    圖4 各種覆蓋指標(biāo)有效性對(duì)比Fig.4 Comparison of effectiveness of various coverage indicators

    目前,針對(duì)神經(jīng)網(wǎng)絡(luò)的測(cè)試技術(shù)尚處于探索階段,一些學(xué)者認(rèn)為,上述方法雖然在發(fā)現(xiàn)異常輸入和指導(dǎo)測(cè)試用例生成上起到一定的作用,但是覆蓋指標(biāo)和神經(jīng)網(wǎng)絡(luò)安全性、魯棒性的相關(guān)性非常有限,因此出現(xiàn)了一些質(zhì)疑的文章[50-54]。Yan 等人[54]認(rèn)為目前的神經(jīng)網(wǎng)絡(luò)覆蓋標(biāo)準(zhǔn)和模型質(zhì)量沒有很強(qiáng)的相關(guān)性,同時(shí)在指導(dǎo)測(cè)試輸入生成上和生成對(duì)抗樣本的方法具有相似性,一些覆蓋標(biāo)準(zhǔn)僅需數(shù)十個(gè)測(cè)試用例就可以達(dá)到100%的覆蓋,難以獲得更多關(guān)于缺陷的信息。作者通過(guò)對(duì)DeepXplore、DeepGauge、DeepHunter、SADL 等方法展開實(shí)驗(yàn),證明了這些覆蓋指標(biāo)與模型魯棒性之間沒有很強(qiáng)的相關(guān)性。

    4 基于對(duì)抗樣本的測(cè)試技術(shù)

    Szegedy等人[55]發(fā)現(xiàn),通過(guò)圖片添加細(xì)微的、人眼不易識(shí)別的擾動(dòng),能夠使神經(jīng)網(wǎng)絡(luò)圖像分類識(shí)別錯(cuò)誤。對(duì)抗樣本的概念由此產(chǎn)生,并逐漸成為研究的熱點(diǎn)問題,許多學(xué)者將對(duì)抗樣本問題歸結(jié)于神經(jīng)網(wǎng)絡(luò)分類器的魯棒性存在問題,并研究各種生成對(duì)抗樣本算法,用于評(píng)估神經(jīng)網(wǎng)絡(luò)模型的魯棒性。對(duì)抗樣本算法依據(jù)生成方式可以分為白盒方式和黑盒方試,依據(jù)攻擊是否定向可以分為有目標(biāo)攻擊和無(wú)目標(biāo)攻擊。本文將從白盒和黑盒的角度對(duì)基于對(duì)抗樣本的測(cè)試技術(shù)進(jìn)行介紹。

    基于對(duì)抗樣本的測(cè)試技術(shù)的一般流程如圖5所示:對(duì)初始測(cè)試輸入,分別采用白盒方式和黑盒方式的對(duì)抗樣本算法生成對(duì)抗性測(cè)試輸入,然后將初始測(cè)試輸入、對(duì)抗性測(cè)試輸入交給神經(jīng)網(wǎng)絡(luò)進(jìn)行測(cè)試,根據(jù)測(cè)試結(jié)果對(duì)神經(jīng)網(wǎng)絡(luò)模型魯棒性進(jìn)行評(píng)估。

    圖5 基于對(duì)抗樣本的測(cè)試技術(shù)一般流程Fig.5 General flow of testing technology based on adversarial samples

    4.1 白盒方式

    白盒方式生成對(duì)抗樣本技術(shù)主要圍繞神經(jīng)網(wǎng)絡(luò)的梯度展開攻擊,針對(duì)像素添加擾動(dòng)生成對(duì)抗樣本。白盒方式需要神經(jīng)網(wǎng)絡(luò)內(nèi)部結(jié)構(gòu)、參數(shù)的信息,在一些梯度隱藏或遮蓋、模型內(nèi)部參數(shù)不可知場(chǎng)景下往往會(huì)失效。

    GoodFellow 等人[56]提出了一種基于梯度攻擊的方法FGSM。FGSM可以表示為:

    其中,x為輸入圖片,y為圖片標(biāo)簽,?用于限制擾動(dòng)大小,J是損失函數(shù),θ是模型參數(shù)。該方法通過(guò)損失函數(shù)的梯度來(lái)決定圖片像素變化的方向,將所有像素等比例地放大或縮小,一步就可以生成對(duì)抗樣本。其中?越大,生成對(duì)抗樣本的成功率就越高,但也越容易被察覺。Kurakin等人[57]提出了基于FGSM 改進(jìn)的迭代算法I-FGSM。該方法通過(guò)小步迭代的方式逐步增大損失函數(shù),能夠生成比FGSM更有效的對(duì)抗樣本。

    Dong 等人[58]在FGSM 和I-FGSM 的基礎(chǔ)上提出了一種基于動(dòng)量迭代的方法MI-FGSM。動(dòng)量的方法能夠在損失函數(shù)的梯度上累計(jì)速度向量,從而達(dá)到加速梯度下降的目的。在擾動(dòng)中使用動(dòng)量的方法,能夠幫助穩(wěn)定擾動(dòng)更新方向和逃逸局部極值,提高對(duì)抗樣本的成功率。實(shí)驗(yàn)表明,MI-FGSM攻擊能力比FGSM和I-FGSM更強(qiáng)大,同時(shí)擁有更好的遷移性。

    Papernot等人[59]提出了一種基于神經(jīng)網(wǎng)絡(luò)前向?qū)?shù)的方法JSMA。首先依據(jù)前向?qū)?shù),給輸入的每個(gè)維度分配一個(gè)顯著值,顯著值能夠體現(xiàn)該維度對(duì)輸出概率的靈敏度,進(jìn)而整張圖像就可以生成一張雅可比顯著圖;然后通過(guò)雅可比顯著圖來(lái)捕捉神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)最敏感的特征,從而有選擇性地對(duì)圖像的某些像素進(jìn)行修改。JSMA對(duì)顯著像素點(diǎn)的尋找采用貪婪搜索,通常生成對(duì)抗樣本時(shí)間比FGSM要長(zhǎng),但是擾動(dòng)相對(duì)較小。

    Moosavidezfooli 等人[60]提出了一種迭代算法Deep-Fool,用于生成最小化范數(shù)擾動(dòng)的對(duì)抗樣本。DeepFool從分類超平面的角度分析如何將一張圖像分類錯(cuò)誤,這種情況下,圖像到分類超平面的距離就是代價(jià)最小的地方,然后通過(guò)迭代方法生成擾動(dòng),每一步將分類邊界內(nèi)的像素修改到邊界外,直至分類器分類錯(cuò)誤為止。通過(guò)在8個(gè)分類器和3個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)證明了該方法可以高效地生成對(duì)抗樣本,并作為模型魯棒性的評(píng)價(jià)指標(biāo)。

    Carlini 等人[61]提出了基于優(yōu)化的對(duì)抗樣本生成方法C&W,用于評(píng)估模型的魯棒性。該方法將發(fā)現(xiàn)一個(gè)對(duì)抗樣本歸結(jié)為一個(gè)約束優(yōu)化問題,即:

    通過(guò)引入一個(gè)新的優(yōu)化變量避免盒約束,并使用梯度下降法求解該優(yōu)化問題,作者分別提出了適用于L0、L2、L∞三種不同范數(shù)攻擊方式,能夠在較小擾動(dòng)下找到對(duì)抗樣本。在MINIST、CIFAR-10和ImageNet上的實(shí)驗(yàn)表明,該方法優(yōu)于同一時(shí)期的其他方法,且在不同網(wǎng)絡(luò)上具有很強(qiáng)的適用性,可以作為廣泛評(píng)價(jià)神經(jīng)網(wǎng)絡(luò)模型魯棒性的指標(biāo)。

    4.2 黑盒方式

    黑盒方式生成對(duì)抗樣本的技術(shù)不需要模型結(jié)構(gòu)、參數(shù)等信息,通用性更強(qiáng),但是在生成對(duì)抗樣本的質(zhì)量和效率上往往不如白盒方式。

    Papernot 等人[62]認(rèn)為,一般的白盒方式生成對(duì)抗樣本需要DNN結(jié)構(gòu)、參數(shù)等信息,這些信息在現(xiàn)實(shí)中很難直接獲得,不具有普遍適用性,因此提出了通過(guò)構(gòu)造替代模型來(lái)生成對(duì)抗樣本。首先根據(jù)常識(shí)選擇模型的大體結(jié)構(gòu),并偽造訓(xùn)練數(shù)據(jù);然后通過(guò)受攻擊模型獲取標(biāo)簽等信息,再偽造測(cè)試數(shù)據(jù);最后在替代模型上訓(xùn)練和測(cè)試數(shù)據(jù)集,獲取其中的參數(shù)。作者對(duì)Amazon和Google多個(gè)托管模型展開實(shí)驗(yàn),生成對(duì)抗樣本欺騙成功率分別為96.19%和88.94%,證明了該方法具有普遍適用性。

    Narodytska等人[63]采用一種損失函數(shù)梯度近似的方式來(lái)構(gòu)造對(duì)抗樣本,并基于貪婪局部搜索生成對(duì)抗樣本。在每一輪的迭代搜索過(guò)程中,該方法首先通過(guò)一個(gè)局部鄰域來(lái)重新定義當(dāng)前圖像,并根據(jù)網(wǎng)絡(luò)輸出優(yōu)化目標(biāo)函數(shù);然后采用局部搜索的方式,改變圖像中的幾個(gè)像素值,觀察輸出的變化,進(jìn)而生成當(dāng)前圖像損失函數(shù)梯度的近似;最后便可以利用近似梯度生成對(duì)抗樣本。作者通過(guò)在ImageNet 的實(shí)驗(yàn)證明,平均只需0.5%的像素?cái)_動(dòng)就可以達(dá)到欺騙成功的目的。

    Su 等人[64]提出了一種通過(guò)修改像素值生成對(duì)抗樣本的方法One-Pixel,通過(guò)在少數(shù)幾個(gè)像素上修改像素值,達(dá)到欺騙分類器的目的。該方法的關(guān)鍵在于找到整張圖片中對(duì)分類器做出判斷影響最大的幾個(gè)像素點(diǎn)。作者采用一種差分進(jìn)化算法來(lái)搜索這些像素點(diǎn),并對(duì)像素點(diǎn)做任意強(qiáng)度的修改,來(lái)生成對(duì)抗樣本。雖然該方法生成的對(duì)抗樣本不易被察覺,但是往往時(shí)間較長(zhǎng),且成功率不高。

    Zhang等人[65]提出了一種基于模糊測(cè)試的黑盒方法DeepSearch。該方法從正確分類圖像開始,采用一定策略將圖像中的像素值變異成可能導(dǎo)致對(duì)抗輸入的值,一旦發(fā)現(xiàn)對(duì)抗性輸入,就開始迭代優(yōu)化,以最小化圖像的范數(shù)擾動(dòng)。同時(shí)將分層分組的策略應(yīng)用到過(guò)程中,減少了查詢次數(shù),同時(shí)提高了模糊化和細(xì)化的效率。

    此外,還有一些學(xué)者研究了自然界中的對(duì)抗樣本[66-68],這里就不做過(guò)多介紹?;趯?duì)抗樣本的測(cè)試技術(shù)總結(jié)如表3所示。

    表3 基于對(duì)抗樣本的測(cè)試技術(shù)總結(jié)Table 3 Summary of testing technology based on adversarial samples

    隨著大量對(duì)抗樣本生成算法的提出,神經(jīng)網(wǎng)絡(luò)模型在對(duì)抗攻擊下的安全性成為熱點(diǎn)問題。一些學(xué)者將多種對(duì)抗樣本算法集成到工具中,用于評(píng)估神經(jīng)網(wǎng)絡(luò)在對(duì)抗攻擊下的安全性。

    Goodfellow 等人開發(fā)了針對(duì)機(jī)器學(xué)習(xí)模型進(jìn)行對(duì)抗攻擊的Python 庫(kù)CleverHans[69]。該庫(kù)集成了FGSM、C&W等數(shù)十種對(duì)抗樣本生成算法,支持JAX、PyTorch、TensorFlow三種機(jī)器學(xué)習(xí)框架,并能夠針對(duì)對(duì)抗樣本對(duì)機(jī)器學(xué)習(xí)模型進(jìn)行基準(zhǔn)測(cè)試。百度安全團(tuán)隊(duì)開發(fā)了對(duì)抗樣本工具箱AdvBox[70]。該工具箱集成了包括白盒和黑盒方式在內(nèi)的10 種對(duì)抗樣本生成算法,除了原生支持百度自身研發(fā)的學(xué)習(xí)框架PaddlePaddle,還支持PyTorch、Caffe、MxNet、Keras、TensorFlow 等框架,兼容性強(qiáng),能夠?yàn)槟P桶踩匝芯亢蛻?yīng)用提供重要支持。

    IBM 推出了對(duì)抗性魯棒工具箱ART(Adversarial Robustness Toolbox)[71]。該工具不僅能夠評(píng)估機(jī)器學(xué)習(xí)模型的魯棒性,同時(shí)還提供了多種防御措施,指導(dǎo)模型進(jìn)行重新訓(xùn)練,提高模型在對(duì)抗攻擊下的魯棒性。阿里巴巴聯(lián)合浙江大學(xué)研發(fā)了DL 模型安全分析平臺(tái)Deep-Sec[72]。該平臺(tái)集成了16 種對(duì)抗樣本攻擊方法和13 種防御方法,使研究人員既能夠多方面評(píng)估DL 模型的安全性,又可以評(píng)估攻擊和防御算法的有效性。

    此外,清華大學(xué)THUNLP 團(tuán)隊(duì)開發(fā)了文本對(duì)抗攻擊工具包OpenAttack[73]。該工具包支持多種對(duì)抗樣本生成算法,并覆蓋了字、詞、句等不同級(jí)別擾動(dòng)粒度的攻擊。該工具建立了針對(duì)文本對(duì)抗攻擊的評(píng)測(cè)指標(biāo),包括攻擊成功率、對(duì)抗樣本質(zhì)量、攻擊效率等8個(gè)不同指標(biāo),同時(shí)支持用戶自己設(shè)計(jì)評(píng)測(cè)指標(biāo),具有可用性強(qiáng)、覆蓋面廣、可拓展性強(qiáng)等特點(diǎn)。

    對(duì)抗樣本的廣泛存在說(shuō)明神經(jīng)網(wǎng)絡(luò)模型魯棒性和安全性面臨挑戰(zhàn),這給模型評(píng)估工作帶來(lái)了困難?;趯?duì)抗樣本的測(cè)試技術(shù),從攻擊者的角度入手,通過(guò)在圖像上構(gòu)造擾動(dòng)產(chǎn)生異常輸入作為測(cè)試輸入,然后觀察神經(jīng)網(wǎng)絡(luò)模型在各種測(cè)試輸入下的表現(xiàn),對(duì)模型的魯棒性、安全性做出判斷?;诎缀蟹绞降臏y(cè)試技術(shù)依賴神經(jīng)網(wǎng)絡(luò)模型的內(nèi)部信息,產(chǎn)生樣本擾動(dòng)較小,成功率高,但是通用性不強(qiáng),如果模型對(duì)梯度進(jìn)行遮蓋、隱藏,或者模型內(nèi)部信息不可知,那么攻擊方法很難奏效?;诤诤械臏y(cè)試技術(shù),通過(guò)構(gòu)造替代模型或是近似模擬模型梯度的方式生成對(duì)抗樣本,雖然產(chǎn)生的對(duì)抗樣本質(zhì)量較低,但是通用性較強(qiáng),危害性更大。結(jié)合白盒方式和黑盒方式的對(duì)抗樣本生成算法生成測(cè)試輸入,對(duì)模型魯棒性進(jìn)行全面的評(píng)價(jià),具有一定可行性,但是現(xiàn)有的對(duì)抗樣本生成算法還只是對(duì)抗樣本空間中的一小部分,該方法并不能評(píng)估模型在潛在對(duì)抗樣本下的魯棒性。

    5 融合傳統(tǒng)測(cè)試技術(shù)

    除上述測(cè)試技術(shù)外,一些學(xué)者將傳統(tǒng)測(cè)試技術(shù)應(yīng)用到神經(jīng)網(wǎng)絡(luò)測(cè)試中,比如模糊測(cè)試、蛻變測(cè)試、變異測(cè)試和符號(hào)執(zhí)行,用于檢測(cè)DNN內(nèi)部存在的缺陷,緩解測(cè)試預(yù)言或評(píng)估模型或數(shù)據(jù)集的質(zhì)量。

    5.1 模糊測(cè)試

    模糊測(cè)試是一種傳統(tǒng)測(cè)試技術(shù),它通過(guò)生成隨機(jī)數(shù)據(jù)作為測(cè)試輸入,以檢測(cè)程序崩潰、內(nèi)存泄漏等問題,并成功應(yīng)用于系統(tǒng)安全和漏洞檢測(cè)中。將模糊測(cè)試用于神經(jīng)網(wǎng)絡(luò)測(cè)試,可以有效檢測(cè)神經(jīng)網(wǎng)絡(luò)模型的內(nèi)部缺陷,確保模型應(yīng)用的安全。

    Guo等人[74]提出了用于指導(dǎo)DL系統(tǒng)暴露錯(cuò)誤行為的差分模糊測(cè)試框架DLFuzz。DLFuzz 通過(guò)不斷對(duì)輸入進(jìn)行細(xì)微的突變,來(lái)最大化神經(jīng)元覆蓋以及原始輸入和變異輸入之間的預(yù)測(cè)差異,同時(shí)定義了四種神經(jīng)元選擇策略來(lái)提高神經(jīng)元覆蓋率。在MNIST和ImageNet數(shù)據(jù)集上實(shí)驗(yàn)評(píng)估表明,與DeepXplore相比,DLFuzz能夠以20.11%的時(shí)間產(chǎn)生338.59%的對(duì)抗性輸入,測(cè)試輸入生成效率遠(yuǎn)高于DeepXplore。

    Odena 等人[75]開發(fā)了一種覆蓋引導(dǎo)模糊測(cè)試工具TensorFuzz。該工具包括輸入選擇器、變異器、目標(biāo)函數(shù)、覆蓋率分析器等模塊。在模糊測(cè)試過(guò)程中,突變算子以神經(jīng)元覆蓋指標(biāo)為指導(dǎo),同時(shí)利用基于屬性的測(cè)試技術(shù),對(duì)目標(biāo)進(jìn)行約束。通過(guò)最近鄰算法來(lái)計(jì)算覆蓋率,檢查覆蓋率是否更新,如果產(chǎn)生了新的覆蓋,則在輸入空間進(jìn)行隨機(jī)搜索,否則繼續(xù)執(zhí)行突變。通過(guò)在MNIST 數(shù)據(jù)集上的實(shí)驗(yàn)證明,在產(chǎn)生同等數(shù)量的突變情況下,TensorFuzz發(fā)現(xiàn)錯(cuò)誤的效率要遠(yuǎn)高于隨機(jī)測(cè)試。

    Zhang等人[76]提出了一種覆蓋引導(dǎo)對(duì)抗生成的模糊測(cè)試框架CAGFuzz。該框架借鑒了覆蓋引導(dǎo)灰盒模糊測(cè)試(Coverage-guided Grey-box Fuzzing,CGF)的思想,首先劃分?jǐn)?shù)據(jù)集并根據(jù)存儲(chǔ)時(shí)間設(shè)置優(yōu)先級(jí),作為模糊測(cè)試的初始輸入;然后利用對(duì)抗樣本生成器生成對(duì)抗樣本,通過(guò)深度特征約束和計(jì)算余弦相似度確定需要保留的樣本;最后使用神經(jīng)元覆蓋率指導(dǎo)生成過(guò)程,如果保留的對(duì)抗樣本出現(xiàn)了新的覆蓋,則將其納入測(cè)試集中。作者通過(guò)六種模型在三個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)證明了該方法在發(fā)現(xiàn)DNN潛在錯(cuò)誤方面的有效性。

    5.2 蛻變測(cè)試

    測(cè)試預(yù)言是測(cè)試工作的關(guān)鍵問題之一,蛻變關(guān)系是指在多個(gè)程序執(zhí)行過(guò)程中,程序輸入變化和輸出變化之間的關(guān)系。例如為了測(cè)試函數(shù)sinx的實(shí)現(xiàn),可以檢測(cè)當(dāng)輸入由x變?yōu)棣校瓁時(shí)輸出的變化,如果sinx不等于sin(π-x),則程序存在錯(cuò)誤。其中,sinx=sin(π-x)就構(gòu)成一組蛻變關(guān)系,它扮演著測(cè)試預(yù)言的角色,可以幫助檢測(cè)程序缺陷。

    Ding 等人[77]提出了一種基于蛻變測(cè)試的深度學(xué)習(xí)驗(yàn)證框架。框架分為系統(tǒng)、數(shù)據(jù)、數(shù)據(jù)項(xiàng)三個(gè)層次,針對(duì)這三個(gè)層次分別定義了系統(tǒng)級(jí)蛻變關(guān)系、數(shù)據(jù)集級(jí)蛻變關(guān)系和數(shù)據(jù)項(xiàng)級(jí)蛻變關(guān)系。通過(guò)蛻變測(cè)試檢查不同DNN 分類模型、不同數(shù)據(jù)集和不同數(shù)據(jù)項(xiàng)之間的分類精度,最終驗(yàn)證模型或數(shù)據(jù)集的質(zhì)量。

    Dwarakanath 等人[78]針對(duì)DNN 分類器提出了四種蛻變關(guān)系:(1)訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)輸入通道排列變化;(2)訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)運(yùn)算順序排列變化;(3)歸一化測(cè)試數(shù)據(jù);(4)縮放測(cè)試數(shù)據(jù)。作者利用這四種蛻變關(guān)系在多個(gè)網(wǎng)絡(luò)上進(jìn)行實(shí)驗(yàn),結(jié)果表明該方法能夠有效捕獲代碼實(shí)現(xiàn)上的缺陷,檢錯(cuò)率達(dá)到71%。Zhu 等人[79]針對(duì)人臉識(shí)別應(yīng)用提出了一種數(shù)據(jù)蛻變測(cè)試框架,并定義了四種蛻變關(guān)系:(1)帶上眼鏡;(2)化妝;(3)改變發(fā)型;(4)改變頭發(fā)顏色。最后,通過(guò)在四個(gè)人臉識(shí)別系統(tǒng)上對(duì)CelebA和PubFig人臉數(shù)據(jù)集的實(shí)驗(yàn)證明了該方法的有效性。

    Sharma 等人[80]提出了一種用于檢測(cè)數(shù)據(jù)集平衡性的測(cè)試方法TILE。作者設(shè)計(jì)了四種蛻變關(guān)系,該方法結(jié)合蛻變關(guān)系和等價(jià)模型檢驗(yàn),能夠有效檢測(cè)訓(xùn)練數(shù)據(jù)的平衡性。劉佳洛等人[81]針對(duì)DNN圖像分類程序提出了一種蛻變測(cè)試框架。根據(jù)數(shù)據(jù)集的幾何屬性以及模型特性構(gòu)造三種蛻變關(guān)系,結(jié)合變異測(cè)試在VGG 網(wǎng)絡(luò)和CIFAR-10 數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),驗(yàn)證該框架在檢測(cè)模型實(shí)現(xiàn)錯(cuò)誤方面的效率和有效性。

    5.3 變異測(cè)試和符號(hào)執(zhí)行

    在傳統(tǒng)軟件測(cè)試中,變異測(cè)試通過(guò)注入錯(cuò)誤來(lái)評(píng)估測(cè)試輸入揭示錯(cuò)誤的能力。其中檢測(cè)到的故障與所有注入故障的比率稱為突變分?jǐn)?shù),用以評(píng)估測(cè)試用例的質(zhì)量。神經(jīng)網(wǎng)絡(luò)的變異測(cè)試主要從代碼層面、數(shù)據(jù)層面、模型層面展開。

    Ma等人[82]將變異測(cè)試應(yīng)用到DL模型中,用于評(píng)估測(cè)試數(shù)據(jù)的質(zhì)量。定義了一組源碼級(jí)別的變異操作和模型級(jí)別的變異操作,分別將錯(cuò)誤注入到DL 源碼和模型中,通過(guò)分析注入故障的檢測(cè)程度來(lái)評(píng)估測(cè)試數(shù)據(jù)的質(zhì)量。作者在MINIST、CIFAR-10 數(shù)據(jù)集上對(duì)三個(gè)DL模型的實(shí)驗(yàn)證明了該測(cè)試框架的有效性。Shen 等人[83]提出了一種神經(jīng)網(wǎng)絡(luò)變異分析的方法MuNN,定義了五種針對(duì)神經(jīng)網(wǎng)絡(luò)模型的變異算子,通過(guò)計(jì)算突變分?jǐn)?shù)衡量測(cè)試數(shù)據(jù)的充分性。Jahangirova等人[84]對(duì)Ma和Shen提出的20 種變異算子進(jìn)行實(shí)證研究,指出了這些變異算法應(yīng)用時(shí)需要進(jìn)行適當(dāng)?shù)呐渲?,并重新定義了殺死變異,用于指導(dǎo)在DL模型上的變異測(cè)試。

    符號(hào)執(zhí)行是一種程序分析技術(shù),用于測(cè)試被測(cè)軟件是否違反某些屬性。動(dòng)態(tài)符號(hào)執(zhí)行(Concolic Testing)使用隨機(jī)測(cè)試輸入執(zhí)行被測(cè)程序,同時(shí)并行執(zhí)行符號(hào)執(zhí)行,以檢測(cè)程序的漏洞。

    Sun 等人[85]提出了一種基于符號(hào)執(zhí)行的DNN 測(cè)試和調(diào)試工具DeepConcolic。該工具由預(yù)處理、測(cè)試標(biāo)準(zhǔn)、符號(hào)執(zhí)行引擎、遺傳算法搜索引擎、測(cè)試套件、測(cè)試預(yù)言等模塊組成。首先預(yù)處理模塊根據(jù)測(cè)試標(biāo)準(zhǔn)對(duì)測(cè)試輸入數(shù)據(jù)格式化,以便符號(hào)執(zhí)行引擎和遺傳算法搜索引擎進(jìn)行操作;然后通過(guò)符號(hào)執(zhí)行引擎和遺傳算法搜索引擎生成測(cè)試用例,其中符號(hào)執(zhí)行引擎支持線性規(guī)劃和全局優(yōu)化兩種分析技術(shù);最后依據(jù)神經(jīng)元覆蓋和MC/DC變體生成測(cè)試用例的覆蓋率報(bào)告。此外,Gopinath 等人[86]將神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)化為命令式程序,然后利用符號(hào)分析的方法對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行分析和驗(yàn)證。Agarwal等人[87]將神經(jīng)網(wǎng)絡(luò)局部解釋構(gòu)建決策樹,然后應(yīng)用符號(hào)執(zhí)行來(lái)檢測(cè)DNN中的個(gè)體差異,進(jìn)而指導(dǎo)測(cè)試用例生成。

    融合傳統(tǒng)測(cè)試技術(shù)總結(jié)如表4所示。目前,神經(jīng)網(wǎng)絡(luò)測(cè)試在測(cè)試輸入生成、測(cè)試預(yù)言、測(cè)試充分性、缺陷檢測(cè)等方面面臨諸多挑戰(zhàn)。融合傳統(tǒng)測(cè)試技術(shù)將傳統(tǒng)測(cè)試技術(shù)在解決這類問題上的經(jīng)驗(yàn),應(yīng)用到神經(jīng)網(wǎng)絡(luò)測(cè)試中,這樣就可以沿著既有的技術(shù)路線,針對(duì)神經(jīng)網(wǎng)絡(luò)的特點(diǎn)展開測(cè)試,在取得不錯(cuò)測(cè)試效果的同時(shí),降低了測(cè)試成本。模糊測(cè)試能夠有效地指導(dǎo)測(cè)試輸入生成,檢測(cè)神經(jīng)網(wǎng)絡(luò)錯(cuò)誤行為;蛻變測(cè)試針對(duì)測(cè)試預(yù)言問題,通過(guò)構(gòu)建蛻變關(guān)系指導(dǎo)測(cè)試輸入生成,發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)內(nèi)部缺陷;變異測(cè)試通過(guò)對(duì)代碼、數(shù)據(jù)、模型進(jìn)行變異,能夠有效評(píng)估測(cè)試用例集的質(zhì)量;利用符號(hào)執(zhí)行分析技術(shù)分析神經(jīng)網(wǎng)絡(luò),能夠以更少的執(zhí)行次數(shù)發(fā)現(xiàn)錯(cuò)誤,同時(shí)以更高效率生成高質(zhì)量測(cè)試輸入。此外,將多種傳統(tǒng)測(cè)試技術(shù)相結(jié)合,例如蛻變測(cè)試+變異測(cè)試,用于指導(dǎo)測(cè)試用例生成,同時(shí)檢查測(cè)試用例的質(zhì)量,也是一條可行的途徑。

    表4 融合傳統(tǒng)測(cè)試技術(shù)總結(jié)Table 4 Summary of fusing traditional testing technology

    6 總結(jié)和展望

    針對(duì)神經(jīng)網(wǎng)絡(luò)驗(yàn)證和測(cè)試技術(shù),本文從驗(yàn)證技術(shù)、基于覆蓋的測(cè)試技術(shù)、基于對(duì)抗樣本的測(cè)試技術(shù)、融合傳統(tǒng)測(cè)試技術(shù)等方面對(duì)該領(lǐng)域內(nèi)的研究現(xiàn)狀進(jìn)行了梳理和總結(jié),對(duì)其中關(guān)鍵技術(shù)進(jìn)行了歸納和分類,并對(duì)一些技術(shù)的基本思想和實(shí)現(xiàn)進(jìn)行了簡(jiǎn)要介紹。

    雖然目前神經(jīng)網(wǎng)絡(luò)的驗(yàn)證和測(cè)試工作取得了一定的進(jìn)展,但是距全面檢測(cè)神經(jīng)網(wǎng)絡(luò)缺陷,有效保證神經(jīng)網(wǎng)絡(luò)應(yīng)用的質(zhì)量還有一段距離,神經(jīng)網(wǎng)絡(luò)驗(yàn)證和測(cè)試工作還面臨諸多挑戰(zhàn)。神經(jīng)網(wǎng)絡(luò)的驗(yàn)證和測(cè)試需要對(duì)以下內(nèi)容進(jìn)行研究:

    (1)適用大規(guī)模網(wǎng)絡(luò)的精確驗(yàn)證技術(shù)。神經(jīng)網(wǎng)絡(luò)朝著大規(guī)模的方向發(fā)展,大規(guī)模神經(jīng)網(wǎng)絡(luò)的驗(yàn)證需求將進(jìn)一步上升,隨著大規(guī)模神經(jīng)網(wǎng)絡(luò)應(yīng)用在一些安全攸關(guān)的領(lǐng)域,勢(shì)必要求更加精確、高效的驗(yàn)證技術(shù)。

    (2)有效的度量指標(biāo)。如何有效刻畫神經(jīng)網(wǎng)絡(luò)的屬性,如何客觀評(píng)價(jià)神經(jīng)網(wǎng)絡(luò),如何有效指導(dǎo)神經(jīng)網(wǎng)絡(luò)測(cè)試的有效進(jìn)行,這些都需要以科學(xué)、有效的度量指標(biāo)為牽引。

    (3)更具通用性的測(cè)試技術(shù)和方法。當(dāng)前測(cè)試技術(shù)多是針對(duì)神經(jīng)網(wǎng)絡(luò)在特定應(yīng)用領(lǐng)域的測(cè)試,往往缺乏普遍適用性,因此成本較高。研究更具通用性的測(cè)試技術(shù)和方法,能夠提高測(cè)試效率和降低測(cè)試成本。

    (4)合理規(guī)范的驗(yàn)證測(cè)試流程。傳統(tǒng)軟件測(cè)試有著較為成熟的流程和規(guī)范,測(cè)試工作更加科學(xué)、全面,而神經(jīng)網(wǎng)絡(luò)驗(yàn)證和測(cè)試工作缺乏合理規(guī)范的流程,在具體操作層面還存在主觀性和片面性。

    隨著神經(jīng)網(wǎng)絡(luò)技術(shù)的推廣和應(yīng)用,如何有效地驗(yàn)證和測(cè)試神經(jīng)網(wǎng)絡(luò)將成為一個(gè)亟待解決的問題。圍繞如何建立科學(xué)有效的測(cè)試度量指標(biāo)、如何設(shè)計(jì)更具可行性測(cè)試技術(shù)、如何規(guī)范測(cè)試流程等問題,還需要做進(jìn)一步深入的研究。

    猜你喜歡
    方法模型
    一半模型
    重要模型『一線三等角』
    重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
    學(xué)習(xí)方法
    可能是方法不對(duì)
    3D打印中的模型分割與打包
    用對(duì)方法才能瘦
    Coco薇(2016年2期)2016-03-22 02:42:52
    FLUKA幾何模型到CAD幾何模型轉(zhuǎn)換方法初步研究
    四大方法 教你不再“坐以待病”!
    Coco薇(2015年1期)2015-08-13 02:47:34
    賺錢方法
    99国产精品99久久久久| 久久久久久久久久久久大奶| 国产免费视频播放在线视频| 精品国产乱码久久久久久小说| 欧美日韩中文字幕国产精品一区二区三区 | 男女无遮挡免费网站观看| 妹子高潮喷水视频| 欧美大码av| 日本一区二区免费在线视频| 亚洲第一av免费看| 国产1区2区3区精品| 丁香六月欧美| 一级片'在线观看视频| 精品熟女少妇八av免费久了| cao死你这个sao货| 女性生殖器流出的白浆| 欧美激情 高清一区二区三区| 国产又爽黄色视频| 国产欧美日韩一区二区三区在线| 丝袜脚勾引网站| 亚洲成人手机| 国产精品亚洲av一区麻豆| 欧美在线黄色| 日韩一区二区三区影片| 精品国内亚洲2022精品成人 | 99热国产这里只有精品6| 精品久久久久久久毛片微露脸 | 美女脱内裤让男人舔精品视频| av天堂在线播放| 亚洲国产成人一精品久久久| 激情视频va一区二区三区| 国产精品99久久99久久久不卡| 国产一卡二卡三卡精品| 亚洲精品日韩在线中文字幕| 午夜福利在线观看吧| 一区二区三区精品91| 永久免费av网站大全| 亚洲一码二码三码区别大吗| 中文字幕人妻丝袜制服| 国产福利在线免费观看视频| 亚洲欧美精品自产自拍| 亚洲精品中文字幕一二三四区 | 亚洲国产精品成人久久小说| 一本综合久久免费| bbb黄色大片| 国产成人精品无人区| 80岁老熟妇乱子伦牲交| 欧美亚洲日本最大视频资源| 精品久久久精品久久久| 国产精品欧美亚洲77777| 男人操女人黄网站| 99国产综合亚洲精品| 国产av一区二区精品久久| 12—13女人毛片做爰片一| 午夜日韩欧美国产| 啦啦啦在线免费观看视频4| 成人国语在线视频| 在线av久久热| 桃花免费在线播放| 久久ye,这里只有精品| 国产高清国产精品国产三级| 中国国产av一级| 亚洲国产中文字幕在线视频| 老司机福利观看| 亚洲综合色网址| 欧美国产精品一级二级三级| 国产亚洲欧美精品永久| 亚洲第一欧美日韩一区二区三区 | 成年动漫av网址| 午夜福利视频在线观看免费| 99久久人妻综合| 欧美在线黄色| avwww免费| 国产xxxxx性猛交| 午夜福利视频在线观看免费| 久久精品aⅴ一区二区三区四区| 岛国毛片在线播放| 中文字幕人妻丝袜一区二区| 天天影视国产精品| 欧美+亚洲+日韩+国产| 亚洲一区中文字幕在线| 国产99久久九九免费精品| 欧美另类亚洲清纯唯美| 中文字幕人妻熟女乱码| 中亚洲国语对白在线视频| 日韩熟女老妇一区二区性免费视频| 欧美黑人精品巨大| 欧美+亚洲+日韩+国产| 国产亚洲av高清不卡| 老司机深夜福利视频在线观看 | 性高湖久久久久久久久免费观看| 国产精品九九99| 久久久国产精品麻豆| 最近最新中文字幕大全免费视频| 高清黄色对白视频在线免费看| 老司机影院毛片| 最近最新中文字幕大全免费视频| 久久中文字幕一级| 国产一区二区三区在线臀色熟女 | 午夜两性在线视频| 午夜两性在线视频| 亚洲国产欧美日韩在线播放| 黑人巨大精品欧美一区二区mp4| 亚洲成人手机| 国产成人av激情在线播放| 91麻豆av在线| 国产成人免费观看mmmm| 久久九九热精品免费| 日本a在线网址| 日韩熟女老妇一区二区性免费视频| 少妇被粗大的猛进出69影院| 亚洲av成人不卡在线观看播放网 | 欧美日韩中文字幕国产精品一区二区三区 | 成在线人永久免费视频| 免费高清在线观看日韩| 国产男女超爽视频在线观看| 男女之事视频高清在线观看| 久久天躁狠狠躁夜夜2o2o| 亚洲国产av新网站| 欧美另类亚洲清纯唯美| 久久影院123| 午夜福利视频精品| 亚洲va日本ⅴa欧美va伊人久久 | 午夜福利视频在线观看免费| 久久久精品免费免费高清| 国产精品久久久人人做人人爽| 人人妻,人人澡人人爽秒播| 自线自在国产av| 久久精品国产a三级三级三级| 免费黄频网站在线观看国产| 日本欧美视频一区| 在线永久观看黄色视频| 亚洲男人天堂网一区| 国产精品.久久久| 国产亚洲精品久久久久5区| 欧美精品一区二区大全| 亚洲一区二区三区欧美精品| 美女大奶头黄色视频| 免费人妻精品一区二区三区视频| 最黄视频免费看| av片东京热男人的天堂| 可以免费在线观看a视频的电影网站| 熟女少妇亚洲综合色aaa.| 男女国产视频网站| 中文字幕最新亚洲高清| 丁香六月欧美| netflix在线观看网站| 国产成+人综合+亚洲专区| 亚洲五月色婷婷综合| 亚洲自偷自拍图片 自拍| 国产精品一二三区在线看| 黑人巨大精品欧美一区二区蜜桃| 日韩精品免费视频一区二区三区| 亚洲精品粉嫩美女一区| 亚洲精品日韩在线中文字幕| 精品国产乱码久久久久久小说| 熟女少妇亚洲综合色aaa.| 91大片在线观看| 91精品国产国语对白视频| 欧美性长视频在线观看| 久久久精品区二区三区| videos熟女内射| 在线永久观看黄色视频| 国产精品自产拍在线观看55亚洲 | 丰满少妇做爰视频| 两个人免费观看高清视频| 黄色 视频免费看| 国产精品麻豆人妻色哟哟久久| 久久天堂一区二区三区四区| 日韩熟女老妇一区二区性免费视频| 国产免费福利视频在线观看| 1024视频免费在线观看| 日本av免费视频播放| 女人精品久久久久毛片| 黑人猛操日本美女一级片| 亚洲成人手机| 岛国在线观看网站| 一区二区三区激情视频| 乱人伦中国视频| 欧美老熟妇乱子伦牲交| 国产成人精品在线电影| 日本a在线网址| 超色免费av| 最新在线观看一区二区三区| 欧美国产精品一级二级三级| 国产成人a∨麻豆精品| 一级a爱视频在线免费观看| 久久久久久久国产电影| 免费黄频网站在线观看国产| 久久精品熟女亚洲av麻豆精品| 日韩视频在线欧美| 欧美激情极品国产一区二区三区| 美女大奶头黄色视频| 亚洲美女黄色视频免费看| 国产区一区二久久| 正在播放国产对白刺激| 国产av国产精品国产| 777久久人妻少妇嫩草av网站| 999久久久精品免费观看国产| 亚洲 国产 在线| tube8黄色片| kizo精华| 国产亚洲欧美在线一区二区| 男女之事视频高清在线观看| 国产黄频视频在线观看| 日韩一卡2卡3卡4卡2021年| 色综合欧美亚洲国产小说| 亚洲国产精品一区三区| 天天躁日日躁夜夜躁夜夜| 亚洲欧美激情在线| 女人被躁到高潮嗷嗷叫费观| 国产主播在线观看一区二区| 一二三四社区在线视频社区8| 日韩熟女老妇一区二区性免费视频| 亚洲精品粉嫩美女一区| 日本a在线网址| 午夜老司机福利片| 久久久精品94久久精品| 王馨瑶露胸无遮挡在线观看| 岛国在线观看网站| 精品国产超薄肉色丝袜足j| av在线app专区| 国产一卡二卡三卡精品| 亚洲av日韩精品久久久久久密| 久久精品成人免费网站| 午夜老司机福利片| 高清在线国产一区| 亚洲欧美一区二区三区久久| 国产精品一二三区在线看| 久久久久久久国产电影| 少妇粗大呻吟视频| 丝袜在线中文字幕| 亚洲专区中文字幕在线| 丝袜在线中文字幕| 免费在线观看影片大全网站| 一区福利在线观看| 久久精品熟女亚洲av麻豆精品| 19禁男女啪啪无遮挡网站| 香蕉国产在线看| 久久午夜综合久久蜜桃| 不卡av一区二区三区| 另类精品久久| 亚洲精品久久成人aⅴ小说| 男女床上黄色一级片免费看| 久久精品亚洲av国产电影网| 国产精品免费大片| 精品国内亚洲2022精品成人 | 日韩欧美一区视频在线观看| a级毛片在线看网站| 成人手机av| 在线av久久热| 精品一区在线观看国产| 欧美性长视频在线观看| 精品少妇一区二区三区视频日本电影| 一边摸一边做爽爽视频免费| 亚洲专区中文字幕在线| videos熟女内射| 俄罗斯特黄特色一大片| av福利片在线| 精品一区二区三区av网在线观看 | 午夜福利免费观看在线| 精品免费久久久久久久清纯 | 老熟妇乱子伦视频在线观看 | 亚洲国产精品999| av超薄肉色丝袜交足视频| 一进一出抽搐动态| 国产人伦9x9x在线观看| 下体分泌物呈黄色| 人妻 亚洲 视频| 日韩人妻精品一区2区三区| 亚洲国产av影院在线观看| 国产日韩一区二区三区精品不卡| 老司机在亚洲福利影院| 国产野战对白在线观看| 成人免费观看视频高清| 汤姆久久久久久久影院中文字幕| 国产男人的电影天堂91| 亚洲国产精品成人久久小说| 999精品在线视频| av在线app专区| 精品国产乱码久久久久久男人| 一本—道久久a久久精品蜜桃钙片| 热99国产精品久久久久久7| 韩国精品一区二区三区| 99re6热这里在线精品视频| a在线观看视频网站| 两个人看的免费小视频| 激情视频va一区二区三区| 国产成人精品在线电影| 欧美一级毛片孕妇| 夜夜骑夜夜射夜夜干| 国产亚洲av高清不卡| 在线观看人妻少妇| 午夜福利,免费看| 性色av乱码一区二区三区2| 精品熟女少妇八av免费久了| 日本撒尿小便嘘嘘汇集6| 亚洲av电影在线观看一区二区三区| 精品国产国语对白av| 黄网站色视频无遮挡免费观看| 丁香六月天网| 精品人妻熟女毛片av久久网站| 亚洲一卡2卡3卡4卡5卡精品中文| 欧美另类一区| 亚洲精品一卡2卡三卡4卡5卡 | 高清视频免费观看一区二区| 亚洲精华国产精华精| 国产精品免费大片| 国产精品免费视频内射| 欧美黑人精品巨大| 国产福利在线免费观看视频| 夜夜夜夜夜久久久久| 丝袜美足系列| 国产高清视频在线播放一区 | 午夜激情久久久久久久| 天天躁日日躁夜夜躁夜夜| 午夜视频精品福利| 国产精品国产av在线观看| 亚洲精品中文字幕一二三四区 | 麻豆国产av国片精品| 成人影院久久| 99国产综合亚洲精品| 亚洲性夜色夜夜综合| 老鸭窝网址在线观看| 成人国语在线视频| 热re99久久国产66热| 亚洲精品中文字幕在线视频| 欧美变态另类bdsm刘玥| 大型av网站在线播放| 少妇的丰满在线观看| 老司机亚洲免费影院| 搡老岳熟女国产| 交换朋友夫妻互换小说| 国产97色在线日韩免费| 99国产精品一区二区三区| 国产成人系列免费观看| 性色av乱码一区二区三区2| 老司机午夜福利在线观看视频 | 电影成人av| 美女主播在线视频| 国产1区2区3区精品| 精品亚洲乱码少妇综合久久| 性色av乱码一区二区三区2| 免费在线观看黄色视频的| 久久热在线av| 又紧又爽又黄一区二区| 亚洲第一av免费看| 性色av乱码一区二区三区2| 国产一区二区在线观看av| 50天的宝宝边吃奶边哭怎么回事| 亚洲精品成人av观看孕妇| 国产91精品成人一区二区三区 | 人成视频在线观看免费观看| 美女扒开内裤让男人捅视频| 欧美日韩国产mv在线观看视频| 亚洲国产成人一精品久久久| 成人免费观看视频高清| 久久九九热精品免费| 黑人欧美特级aaaaaa片| 少妇 在线观看| 国产精品香港三级国产av潘金莲| 女人久久www免费人成看片| 久久精品久久久久久噜噜老黄| 美国免费a级毛片| 天天躁夜夜躁狠狠躁躁| 99国产精品免费福利视频| 嫁个100分男人电影在线观看| 自拍欧美九色日韩亚洲蝌蚪91| 欧美乱码精品一区二区三区| 飞空精品影院首页| 90打野战视频偷拍视频| 亚洲第一欧美日韩一区二区三区 | 免费高清在线观看日韩| 一进一出抽搐动态| 热re99久久国产66热| 欧美 日韩 精品 国产| 精品人妻熟女毛片av久久网站| 国产一区二区三区av在线| 国产精品一区二区免费欧美 | 亚洲人成电影观看| 国产成人啪精品午夜网站| 国产精品免费视频内射| 1024香蕉在线观看| 男人操女人黄网站| 国产成人精品久久二区二区免费| 极品少妇高潮喷水抽搐| 男女下面插进去视频免费观看| 亚洲国产精品一区三区| 少妇粗大呻吟视频| 国产男女超爽视频在线观看| 国产97色在线日韩免费| 夜夜骑夜夜射夜夜干| 国产在线观看jvid| 欧美精品人与动牲交sv欧美| 亚洲精品国产色婷婷电影| 亚洲欧美精品综合一区二区三区| 国产不卡av网站在线观看| 欧美日韩成人在线一区二区| 国产成人a∨麻豆精品| 久久国产精品男人的天堂亚洲| 亚洲欧美精品自产自拍| 欧美另类亚洲清纯唯美| 国产精品国产三级国产专区5o| 91成年电影在线观看| 亚洲国产av新网站| www日本在线高清视频| videos熟女内射| a级毛片在线看网站| 黄色a级毛片大全视频| 日本五十路高清| 青草久久国产| 午夜福利影视在线免费观看| 国产精品久久久av美女十八| 免费人妻精品一区二区三区视频| 男女高潮啪啪啪动态图| 黄网站色视频无遮挡免费观看| 欧美日本中文国产一区发布| 99热网站在线观看| 国产成+人综合+亚洲专区| 亚洲国产毛片av蜜桃av| 欧美在线一区亚洲| 搡老乐熟女国产| 每晚都被弄得嗷嗷叫到高潮| 亚洲人成77777在线视频| 自拍欧美九色日韩亚洲蝌蚪91| av免费在线观看网站| 欧美黑人欧美精品刺激| e午夜精品久久久久久久| 侵犯人妻中文字幕一二三四区| 国产精品国产三级国产专区5o| av天堂久久9| 无遮挡黄片免费观看| 久久性视频一级片| 搡老熟女国产l中国老女人| 国产真人三级小视频在线观看| 亚洲欧美一区二区三区黑人| 免费久久久久久久精品成人欧美视频| 亚洲欧美日韩另类电影网站| 国产欧美日韩精品亚洲av| 日本一区二区免费在线视频| 亚洲欧洲日产国产| 欧美日韩av久久| www.自偷自拍.com| kizo精华| 久久精品久久久久久噜噜老黄| 真人做人爱边吃奶动态| 国产野战对白在线观看| 日韩人妻精品一区2区三区| 久久人人爽av亚洲精品天堂| 自线自在国产av| 国产免费福利视频在线观看| 亚洲精品国产色婷婷电影| 老熟妇仑乱视频hdxx| 中文字幕人妻丝袜制服| 亚洲色图综合在线观看| 80岁老熟妇乱子伦牲交| 精品熟女少妇八av免费久了| 欧美精品啪啪一区二区三区 | 美女午夜性视频免费| 后天国语完整版免费观看| 超碰成人久久| 女人久久www免费人成看片| 久久热在线av| 精品亚洲成a人片在线观看| 久久精品亚洲av国产电影网| 欧美性长视频在线观看| 十八禁网站免费在线| 自拍欧美九色日韩亚洲蝌蚪91| 黄色 视频免费看| 欧美精品人与动牲交sv欧美| 精品少妇内射三级| 精品乱码久久久久久99久播| 日韩中文字幕视频在线看片| 久久久久久人人人人人| 又紧又爽又黄一区二区| 性高湖久久久久久久久免费观看| 成人国产av品久久久| 性少妇av在线| a 毛片基地| 国产一区二区激情短视频 | 天天躁夜夜躁狠狠躁躁| 国产成人精品久久二区二区91| av国产精品久久久久影院| 亚洲视频免费观看视频| 国产精品亚洲av一区麻豆| 黑人巨大精品欧美一区二区蜜桃| 亚洲美女黄色视频免费看| 曰老女人黄片| 叶爱在线成人免费视频播放| 久久99热这里只频精品6学生| 人人妻,人人澡人人爽秒播| 91国产中文字幕| 曰老女人黄片| 最近中文字幕2019免费版| 黄色怎么调成土黄色| 国产一卡二卡三卡精品| 欧美国产精品一级二级三级| 蜜桃国产av成人99| 1024视频免费在线观看| 日韩免费高清中文字幕av| 捣出白浆h1v1| 久久久精品94久久精品| 国产在线一区二区三区精| 69精品国产乱码久久久| 麻豆乱淫一区二区| 电影成人av| 欧美激情久久久久久爽电影 | 精品国产国语对白av| 亚洲中文av在线| 久久影院123| 少妇被粗大的猛进出69影院| 成年女人毛片免费观看观看9 | videos熟女内射| 欧美精品一区二区免费开放| 亚洲va日本ⅴa欧美va伊人久久 | 亚洲黑人精品在线| 国产成人精品久久二区二区免费| 蜜桃在线观看..| 一本—道久久a久久精品蜜桃钙片| 国产无遮挡羞羞视频在线观看| 不卡av一区二区三区| 国产成人精品无人区| 成人影院久久| 欧美精品高潮呻吟av久久| 精品熟女少妇八av免费久了| 亚洲欧美精品综合一区二区三区| 黑丝袜美女国产一区| 黄色a级毛片大全视频| 男女无遮挡免费网站观看| 国产欧美日韩综合在线一区二区| 国产精品免费视频内射| 欧美激情高清一区二区三区| 日日夜夜操网爽| 午夜福利乱码中文字幕| 99久久精品国产亚洲精品| 在线观看www视频免费| 久久99一区二区三区| 中文字幕高清在线视频| 午夜久久久在线观看| 亚洲国产成人一精品久久久| 亚洲精品自拍成人| 在线 av 中文字幕| 国产精品自产拍在线观看55亚洲 | 久久久久久免费高清国产稀缺| 最近最新中文字幕大全免费视频| 91精品伊人久久大香线蕉| 另类亚洲欧美激情| 久久久久国产一级毛片高清牌| 久久久久久人人人人人| 亚洲人成电影观看| av电影中文网址| 成人亚洲精品一区在线观看| 日本av手机在线免费观看| 国产一卡二卡三卡精品| 久久久国产一区二区| 国产亚洲av片在线观看秒播厂| 久久精品久久久久久噜噜老黄| 妹子高潮喷水视频| 亚洲精华国产精华精| 老司机影院成人| 国产有黄有色有爽视频| 国产成人精品久久二区二区免费| 十八禁网站免费在线| av天堂久久9| 久久久精品免费免费高清| 大码成人一级视频| 新久久久久国产一级毛片| 人人妻人人澡人人看| 亚洲国产欧美日韩在线播放| 免费人妻精品一区二区三区视频| 下体分泌物呈黄色| 十八禁人妻一区二区| 性色av一级| 久久性视频一级片| 嫩草影视91久久| 亚洲精品乱久久久久久| 精品人妻一区二区三区麻豆| 国产成人av教育| 国产在线一区二区三区精| 日本撒尿小便嘘嘘汇集6| 久久久久久人人人人人| 别揉我奶头~嗯~啊~动态视频 | 久久久久久久久久久久大奶| 欧美日韩精品网址| 老鸭窝网址在线观看| 少妇 在线观看| 欧美日韩成人在线一区二区| 欧美亚洲日本最大视频资源| 国产熟女午夜一区二区三区| 老熟妇仑乱视频hdxx| 亚洲国产av新网站| 日本五十路高清| 一本色道久久久久久精品综合| 亚洲一码二码三码区别大吗| 在线观看舔阴道视频| 欧美激情高清一区二区三区| 老司机亚洲免费影院| 欧美精品人与动牲交sv欧美| 精品少妇一区二区三区视频日本电影| 黄片大片在线免费观看| 999久久久国产精品视频| 男女国产视频网站| 精品亚洲成国产av| 高清av免费在线| 亚洲第一青青草原| 精品一区二区三区av网在线观看 | 侵犯人妻中文字幕一二三四区| 欧美成狂野欧美在线观看| 三上悠亚av全集在线观看| 亚洲伊人久久精品综合| 午夜视频精品福利| 亚洲av男天堂| 搡老岳熟女国产| av天堂久久9| 19禁男女啪啪无遮挡网站|