李延銘,李長(zhǎng)升,余佳奇,袁野,王國(guó)仁
北京理工大學(xué)計(jì)算機(jī)學(xué)院,北京 100081
隨著機(jī)器學(xué)習(xí)尤其是深度學(xué)習(xí)在計(jì)算機(jī)視覺和自然語(yǔ)言處理等任務(wù)中大放異彩,企業(yè)界開始嘗試通過(guò)機(jī)器學(xué)習(xí)或深度學(xué)習(xí)為用戶提供相關(guān)的智能服務(wù)。機(jī)器學(xué)習(xí)模型在自動(dòng)駕駛、語(yǔ)音識(shí)別、圖像分類和醫(yī)療圖像分析(黎英和宋佩華,2022)等領(lǐng)域已得到廣泛應(yīng)用。眾所周知,訓(xùn)練深度學(xué)習(xí)模型需要大量訓(xùn)練數(shù)據(jù)(Strubell等,2019),而收集這些訓(xùn)練數(shù)據(jù)需要耗費(fèi)大量時(shí)間成本和經(jīng)濟(jì)成本,設(shè)計(jì)深度學(xué)習(xí)模型或架構(gòu)需要額外的專家知識(shí)(Brown等,2020)。因此,擁有高性能的深度學(xué)習(xí)模型通常視為擁有昂貴的知識(shí)產(chǎn)權(quán)?;诖耍虡I(yè)公司通過(guò)向用戶開放API(application programming interface)接口來(lái)提供服務(wù),即用戶向模型提交查詢數(shù)據(jù),獲得該模型的預(yù)測(cè)結(jié)果,而公司通過(guò)收取查詢費(fèi)用實(shí)現(xiàn)收益。在整個(gè)過(guò)程中深度學(xué)習(xí)模型對(duì)用戶來(lái)說(shuō)是黑盒模型,但是模型的預(yù)測(cè)結(jié)果中攜帶了模型的部分信息,使得攻擊者可以利用這些信息實(shí)現(xiàn)對(duì)該模型功能的竊取(Tramèr等,2016)。
當(dāng)前,模型功能竊取攻擊的主流框架如圖1所示。以圖像分類器為例,攻擊者首先通過(guò)提交查詢圖像到目標(biāo)模型(即要攻擊的模型)獲得預(yù)測(cè)結(jié)果;隨后利用查詢圖像和預(yù)測(cè)結(jié)果訓(xùn)練一個(gè)克隆模型。通過(guò)此方式使克隆模型獲得與目標(biāo)模型相似的功能。該方法與知識(shí)蒸餾技術(shù)(Hinton等,2015)十分相似,克隆模型類似于知識(shí)蒸餾中的學(xué)生模型(Fang等,2020),優(yōu)化目標(biāo)是在面對(duì)相同數(shù)據(jù)時(shí)使克隆模型的行為能盡量與目標(biāo)模型(對(duì)應(yīng)知識(shí)蒸餾中的教師網(wǎng)絡(luò))一致。與知識(shí)蒸餾不同的是,由于目標(biāo)模型對(duì)攻擊者來(lái)說(shuō)是一個(gè)黑盒模型,因此訓(xùn)練數(shù)據(jù)、內(nèi)部結(jié)構(gòu)和優(yōu)化器設(shè)計(jì)等信息對(duì)攻擊者來(lái)說(shuō)都是不可知的。對(duì)攻擊者來(lái)說(shuō),假設(shè)可知的信息僅有其提交的查詢數(shù)據(jù)和該查詢數(shù)據(jù)經(jīng)過(guò)目標(biāo)模型返回的預(yù)測(cè)結(jié)果。不同查詢數(shù)據(jù)集常常導(dǎo)致克隆模型獲得的性能差異較大。目前已經(jīng)提出了很多模型功能竊取方法。Knockoff(Orekondy等,2019)是模型竊取攻擊方法中的一個(gè)經(jīng)典工作,目的是利用一些公開數(shù)據(jù)集對(duì)目標(biāo)模型發(fā)起查詢請(qǐng)求進(jìn)而構(gòu)造數(shù)據(jù)對(duì)集合D={(x1,y2),…,(xn,yn)}訓(xùn)練克隆模型,其中xi和yi分別為圖像數(shù)據(jù)及目標(biāo)模型對(duì)該圖像的預(yù)測(cè)結(jié)果。此外,學(xué)者相繼提出了一些無(wú)數(shù)據(jù)的模型竊取方法。DFME(data-free model extraction)(Truong等,2021)在沒有任何真實(shí)數(shù)據(jù)的情況下,利用零階梯度估計(jì)(Chen等,2017)訓(xùn)練生成模型生成數(shù)據(jù),且利用數(shù)據(jù)對(duì)集合D訓(xùn)練克隆模型。然而由于缺乏真實(shí)圖像數(shù)據(jù)的介入,這類方法生成的數(shù)據(jù)在人眼看來(lái)是不可分辨的,不包含有效的語(yǔ)義信息,使得目標(biāo)模型輸出的物理意義不明確,從而造成對(duì)克隆模型的訓(xùn)練缺乏有效的指導(dǎo)。
圖1 模型功能竊取攻擊實(shí)例Fig.1 An example for the model stealing attack
本文從加強(qiáng)目標(biāo)模型輸出的物理意義出發(fā),通過(guò)真實(shí)數(shù)據(jù)感知的方式,提出一種新的模型竊取攻擊方法,實(shí)現(xiàn)對(duì)圖像分類器的有效功能竊取。針對(duì)上述方法在生成數(shù)據(jù)時(shí)缺乏語(yǔ)義信息問(wèn)題,引入真實(shí)數(shù)據(jù),使生成器在生成圖像時(shí)不僅要考慮滿足模型功能竊取任務(wù)的需要,而且要考慮生成圖像的真實(shí)性,進(jìn)而加強(qiáng)目標(biāo)模型輸出結(jié)果對(duì)克隆模型訓(xùn)練指導(dǎo)的有效性。具體來(lái)講,引入公開的真實(shí)數(shù)據(jù)對(duì)生成對(duì)抗網(wǎng)絡(luò)(generative adversarial network,GAN)(Goodfellow等,2014)的學(xué)習(xí)進(jìn)行約束,通過(guò)令Discriminator分類器區(qū)分?jǐn)?shù)據(jù)是來(lái)自真實(shí)數(shù)據(jù)集還是生成數(shù)據(jù),在如此博弈方式下使生成器生成的數(shù)據(jù)集與真實(shí)數(shù)據(jù)集分布相似,從而克服數(shù)據(jù)不可辨和語(yǔ)義信息缺失問(wèn)題,加強(qiáng)了目標(biāo)模型輸出結(jié)果的物理意義。此外,提出一種新的目標(biāo)函數(shù)對(duì)克隆模型進(jìn)行優(yōu)化學(xué)習(xí),該目標(biāo)函數(shù)除了對(duì)兩個(gè)模型預(yù)測(cè)結(jié)果做一致性約束外,引入對(duì)比學(xué)習(xí)(Hadsell等,2006)思想,在考慮兩個(gè)模型對(duì)同一圖像數(shù)據(jù)分類結(jié)果一致性的同時(shí),將不同圖像預(yù)測(cè)結(jié)果的差異性也考慮進(jìn)來(lái)。在兩個(gè)公開圖像數(shù)據(jù)集的分類模型上,本文方法在竊取效果和查詢代價(jià)上都取得了很好效果。本文主要貢獻(xiàn)如下:1)首次從生成數(shù)據(jù)的真實(shí)性出發(fā),利用生成對(duì)抗網(wǎng)絡(luò)生成圖像數(shù)據(jù),使生成圖像的分布與真實(shí)圖像的分布相似,提高模型輸出的物理意義,加強(qiáng)目標(biāo)模型的有效指導(dǎo);2)提出一種新的目標(biāo)函數(shù),基于一致性輸出和對(duì)比學(xué)習(xí)思想,對(duì)目標(biāo)模型和克隆模型的輸出進(jìn)行約束,達(dá)到訓(xùn)練有效克隆模型的目的;3)實(shí)驗(yàn)結(jié)果表明,本文方法在對(duì)圖像分類器模型進(jìn)行功能竊取時(shí),能夠取得良好效果,并且在一定程度上降低了對(duì)目標(biāo)模型的查詢代價(jià)。
模型竊取攻擊是人工智能安全中的核心問(wèn)題之一,目的是推斷目標(biāo)黑盒模型的隱私信息,包括內(nèi)部結(jié)構(gòu)(Oh等,2019)、參數(shù)(Wang和Gong,2018)和預(yù)測(cè)功能(Correia-Silva等,2018)等。本文主要研究模型的功能竊取。由于此場(chǎng)景下目標(biāo)模型為黑盒模型,其內(nèi)部結(jié)構(gòu)信息、模型參數(shù)和訓(xùn)練數(shù)據(jù)等對(duì)攻擊者來(lái)說(shuō)均是不可知的,因此攻擊方法常常通過(guò)分析目標(biāo)模型的輸入與輸出的映射關(guān)系,訓(xùn)練一個(gè)與目標(biāo)模型功能相似的克隆模型。經(jīng)典方法包括基于查詢數(shù)據(jù)設(shè)計(jì)的方法(Gong等,2021)和基于損失函數(shù)設(shè)計(jì)的方法(Truong等,2021)。
根據(jù)攻擊者使用的訓(xùn)練數(shù)據(jù)不同,目前的模型功能竊取攻擊大致分為3類(Kariyappa等,2021),分別是部分訓(xùn)練數(shù)據(jù)已知、有可用的替代數(shù)據(jù)集以及利用生成模型生成數(shù)據(jù)的方法。
在部分訓(xùn)練數(shù)據(jù)已知情況下,已知數(shù)據(jù)的數(shù)據(jù)規(guī)模較小,僅使用這些數(shù)據(jù)無(wú)法訓(xùn)練出令人滿意的克隆模型,攻擊者會(huì)利用這些已知的訓(xùn)練數(shù)據(jù)生成訓(xùn)練樣本來(lái)增大數(shù)據(jù)量。JBDA(Jacobian based dataset augmentation)(Papernot等,2017)是此類工作中的經(jīng)典方法,其利用雅可比矩陣來(lái)表示模型對(duì)輸入數(shù)據(jù)的敏感程度,并且在雅可比矩陣的基礎(chǔ)上指導(dǎo)對(duì)抗樣本的生成,最后利用這些對(duì)抗樣本和已知的訓(xùn)練數(shù)據(jù)訓(xùn)練克隆模型。
在攻擊者有可用的替代數(shù)據(jù)集情況下,攻擊者利用該數(shù)據(jù)集訪問(wèn)目標(biāo)模型,并將目標(biāo)模型對(duì)該數(shù)據(jù)集的預(yù)測(cè)結(jié)果當(dāng)作對(duì)應(yīng)數(shù)據(jù)的標(biāo)簽(或軟標(biāo)簽),然后訓(xùn)練克隆模型。Knockoff(Orekondy等,2019) 就是在這一情景下提出的。當(dāng)有合適的替代數(shù)據(jù)集時(shí),該竊取方法會(huì)取得較好的效果。然而對(duì)于攻擊者來(lái)說(shuō),目標(biāo)模型所對(duì)應(yīng)訓(xùn)練數(shù)據(jù)的信息是未知的,因此在實(shí)際場(chǎng)景中攻擊者很難選擇一個(gè)合適的替代數(shù)據(jù)集。
在利用生成模型生成訓(xùn)練數(shù)據(jù)的方法中,攻擊者沒有任何可用的真實(shí)數(shù)據(jù)信息,其用于對(duì)目標(biāo)模型發(fā)起查詢的數(shù)據(jù)均是通過(guò)生成模型生成的。由于沒有真實(shí)數(shù)據(jù),相較于前兩種情況,這種情況下模型功能竊取的任務(wù)更加困難。MAZE(data-free model stealing attack using zeroth-order gradient estimation) (Kariyappa等,2021)和DFME(data-free model extraction)(Truong等,2021)是兩個(gè)經(jīng)典的生成模型的方法,其思想是利用零階梯度估計(jì)的方法(Duchi等,2012)對(duì)黑盒模型的梯度進(jìn)行近似,以對(duì)抗博弈的思想更新生成器的參數(shù)和克隆模型的學(xué)習(xí)。盡管這類方法取得了良好效果,但是由于生成器的訓(xùn)練需要與目標(biāo)模型進(jìn)行額外的交互,因此具有較高的查詢復(fù)雜度。
生成對(duì)抗網(wǎng)絡(luò)(GAN)(Goodfellow等,2014)是目前最受歡迎的生成模型之一。與傳統(tǒng)生成模型不同,該方法通過(guò)一種對(duì)抗訓(xùn)練的策略來(lái)規(guī)避對(duì)數(shù)據(jù)概率分布的直接求解。GAN網(wǎng)絡(luò)由生成器(generator)和判別器(discriminator)兩部分組成。生成器的訓(xùn)練目標(biāo)是生成盡量真實(shí)的數(shù)據(jù)來(lái)迷惑判別器;而判別器的目標(biāo)是能夠區(qū)分哪些樣本是真實(shí)的,哪些樣本是生成器生成的,通過(guò)如此方式使生成器生成的數(shù)據(jù)與真實(shí)數(shù)據(jù)具有相似的分布。隨著GAN網(wǎng)絡(luò)的廣泛流行,提出了越來(lái)越多的擴(kuò)展性工作。例如,針對(duì)復(fù)雜圖像數(shù)據(jù)生成的DCGAN(deep convolutional generative adversarial network)(Radford等,2016)和用來(lái)做風(fēng)格遷移任務(wù)的StyleGAN(Karras等,2019)。也有人開始嘗試?yán)肎AN提升取證技術(shù)的效果(何沛松 等,2022)。在模型功能竊取方法中,一些工作開始嘗試借鑒GAN的思想在無(wú)數(shù)據(jù)情況下通過(guò)生成模型生成數(shù)據(jù)來(lái)對(duì)目標(biāo)模型進(jìn)行查詢。例如DFME和MAZE雖然沒有顯式引入類似于GAN中的判別器,但目標(biāo)模型和克隆模型本身起到了判別器的作用。
對(duì)比學(xué)習(xí)(Hadsell等,2006)是比較流行的一種自監(jiān)督學(xué)習(xí)方法,核心思想是在縮小正樣本對(duì)之間距離的同時(shí)拉大負(fù)樣本對(duì)之間的距離,已廣泛應(yīng)用于各領(lǐng)域,例如表示學(xué)習(xí)。目前,對(duì)比學(xué)習(xí)的方法有許多。MoCo(momentum contrast for unsupervised visual representation learning)(He等,2020)通過(guò)設(shè)計(jì)動(dòng)態(tài)隊(duì)列和非對(duì)稱更新的編碼器網(wǎng)絡(luò)在對(duì)比學(xué)習(xí)的指導(dǎo)下學(xué)習(xí)數(shù)據(jù)的表征,使得在ImageNet(Deng等,2009)上經(jīng)過(guò)無(wú)監(jiān)督預(yù)訓(xùn)練的模型可以很好地泛化到一些下游任務(wù)。SimCLR(simple framework for contrastive learning of visual representations)(Chen等,2020)使用較大的batch增大對(duì)比學(xué)習(xí)中負(fù)樣本對(duì)的數(shù)量,同樣達(dá)到了提升表示學(xué)習(xí)效果的目的。本文將對(duì)比學(xué)習(xí)的思想引入模型功能竊取攻擊。
模型功能竊取的目標(biāo)是訓(xùn)練一個(gè)與目標(biāo)模型在功能上相近的克隆模型。本文研究的要竊取的目標(biāo)模型為圖像分類器,因此克隆模型的訓(xùn)練目標(biāo)是近似目標(biāo)模型的分類效果。
先前基于生成模型的方法在生成數(shù)據(jù)過(guò)程中缺少真實(shí)數(shù)據(jù)介入,使生成器生成的數(shù)據(jù)在人眼看來(lái)是不可分辨的,不包含有效的語(yǔ)義信息,導(dǎo)致目標(biāo)模型輸出的物理意義不明確,降低了目標(biāo)模型指導(dǎo)克隆模型的有效性。
本文從加強(qiáng)目標(biāo)模型輸出具有物理意義的角度出發(fā),提出一種新的模型竊取攻擊方法,實(shí)現(xiàn)對(duì)圖像分類器的有效功能竊取。本文方法的核心思想是利用生成對(duì)抗網(wǎng)絡(luò)(GAN)生成圖像數(shù)據(jù),使生成數(shù)據(jù)與真實(shí)數(shù)據(jù)集的分布相似,從而加強(qiáng)數(shù)據(jù)的真實(shí)性。本文方法的架構(gòu)如圖2所示,首先利用公開數(shù)據(jù)集對(duì)GAN網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練,使其提取真實(shí)數(shù)據(jù)的先驗(yàn)知識(shí),然后通過(guò)最小化目標(biāo)模型和克隆模型輸出結(jié)果的差異性和GAN網(wǎng)絡(luò)本身的損失函數(shù)微調(diào)GAN網(wǎng)絡(luò)的參數(shù)。在GAN網(wǎng)絡(luò)訓(xùn)練好之后,使用訓(xùn)練好的生成器生成樣本數(shù)據(jù),用該生成數(shù)據(jù)作為查詢數(shù)據(jù)分別送入目標(biāo)模型和克隆模型,通過(guò)對(duì)兩個(gè)模型輸出結(jié)果的一致性進(jìn)行約束來(lái)訓(xùn)練克隆模型。在優(yōu)化克隆模型時(shí),與之前方法不同的是本文提出了一種新的損失函數(shù),不僅考慮兩個(gè)模型對(duì)同一幅圖像分類結(jié)果的一致性,同時(shí)通過(guò)引入對(duì)比學(xué)習(xí)的思想將不同圖像預(yù)測(cè)結(jié)果的差異性也考慮進(jìn)來(lái)。
圖2 基于真實(shí)數(shù)據(jù)感知的模型竊取攻擊架構(gòu)Fig.2 The framework of model stealing attacks based on real data awareness
從數(shù)據(jù)視角出發(fā),本文方法結(jié)合了基于替代數(shù)據(jù)集和無(wú)數(shù)據(jù)兩種模型竊取方法的優(yōu)點(diǎn),利用GAN模型與目標(biāo)模型的交互,使生成圖像在接近公開數(shù)據(jù)集真實(shí)圖像分布的同時(shí),又受到目標(biāo)模型反饋信息的影響,從而在一定程度上能夠緩解對(duì)公開數(shù)據(jù)集的過(guò)分依賴;同時(shí),由于公開數(shù)據(jù)集的引入,生成模型可以事先提取到真實(shí)數(shù)據(jù)的先驗(yàn)知識(shí),并且在與目標(biāo)模型進(jìn)行交互時(shí),公開數(shù)據(jù)集在一定程度上約束了生成模型的梯度更新方向,使生成圖像更加真實(shí),進(jìn)而加強(qiáng)了目標(biāo)模型預(yù)測(cè)結(jié)果的物理意義。
GAN網(wǎng)絡(luò)在整個(gè)方法框架中的任務(wù)是產(chǎn)生模型竊取攻擊任務(wù)依托的數(shù)據(jù)??紤]到之前方法對(duì)生成器的更新僅依靠目標(biāo)模型和克隆模型反饋的信息,并且生成器的參數(shù)均是隨機(jī)初始化的,不攜帶任何先驗(yàn)信息,因此對(duì)生成器訓(xùn)練需要目標(biāo)模型進(jìn)行大量的查詢交互,這導(dǎo)致高額的查詢代價(jià)。同時(shí)由于缺少真實(shí)圖像數(shù)據(jù)的監(jiān)督,生成器生成的圖像不攜帶任何語(yǔ)義信息,導(dǎo)致目標(biāo)模型的預(yù)測(cè)結(jié)果對(duì)克隆模型的指導(dǎo)缺少有效性。
為了使生成器能夠快速擬合真實(shí)數(shù)據(jù)的分布,降低其與目標(biāo)模型的交互查詢次數(shù),同時(shí)為了使克隆模型能夠快速學(xué)到目標(biāo)模型的功能,本文利用公開數(shù)據(jù)集對(duì)GAN網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練,使生成器能夠?qū)W習(xí)真實(shí)數(shù)據(jù)的先驗(yàn)信息,其損失函數(shù)定義為
(1)
式中,G,D,z,x分別是生成器、判別器、隨機(jī)噪聲和圖像數(shù)據(jù),E表示數(shù)學(xué)期望。在預(yù)訓(xùn)練結(jié)束后,用生成器生成模型功能竊取需要的數(shù)據(jù),并通過(guò)零階優(yōu)化的方法,將近似的梯度信息傳遞給生成器,使生成器能夠生成對(duì)克隆模型來(lái)說(shuō)預(yù)測(cè)困難的圖像,這部分的損失函數(shù)利用l1范數(shù)對(duì)兩個(gè)模型預(yù)測(cè)結(jié)果的logits做約束,具體為
(2)
式中,N和P分別表示數(shù)據(jù)集的大小和預(yù)測(cè)輸出的維度(即類別數(shù)),C和T分別表示克隆模型和目標(biāo)模型。由于目標(biāo)模型是黑盒模型,本文假設(shè)得到的預(yù)測(cè)結(jié)果為分類概率,因此這里用log函數(shù)對(duì)其目標(biāo)模型的預(yù)測(cè)結(jié)果進(jìn)行操作,以近似其logits。
在使生成器生成對(duì)克隆模型來(lái)說(shuō)預(yù)測(cè)困難的圖像的同時(shí),本文同時(shí)使生成的圖像盡量保持真實(shí)性,因此定義GAN網(wǎng)絡(luò)在模型竊取時(shí)的損失函數(shù)為
LG=L1+λ1L2
(3)
式中,λ1為平衡兩個(gè)損失函數(shù)的超參數(shù)。
克隆模型的學(xué)習(xí)目標(biāo)是復(fù)制目標(biāo)模型的功能,因此在設(shè)計(jì)損失函數(shù)時(shí),一個(gè)很直觀的想法是最小化兩個(gè)模型輸出的差異。即
(4)
為了提升模型竊取的效果,本文還采用了對(duì)比學(xué)習(xí)的思想,將不同樣本之間的差異性刻畫出來(lái),如圖3所示。
圖3 對(duì)比學(xué)習(xí)的目標(biāo)Fig.3 The goal of the contrastive learning in our method
本文使用InfoNCE(van den Oord等,2019)作為對(duì)比學(xué)習(xí)的損失函數(shù)。即
(5)
(6)
因此,在訓(xùn)練克隆模型時(shí),定義總的損失函數(shù)為
LC=L3+λ2L4
(7)
式中,λ2是為了平衡兩個(gè)損失函數(shù)的超參數(shù)。
基于真實(shí)數(shù)據(jù)感知的模型功能竊取的整體算法流程為:
輸入:查詢代價(jià)Q,GAN迭代次數(shù)ngan,克隆模型迭代次數(shù)nc,學(xué)習(xí)率η,公開數(shù)據(jù)集X,目標(biāo)模型T,字典dict。
輸出:克隆模型C。
whileQ> 0 do:
fori= 1, …,ngando;
d_real=D(x);
計(jì)算Lgan并更新GAN;
fori= 1, …,ncdo;
計(jì)算Lc并更新克隆模型C;
將predict_t存入字典dict(字典用于計(jì)算對(duì)比學(xué)習(xí)損失函數(shù));
更新查詢代價(jià)Q;
end。
為了驗(yàn)證本文方法的有效性,在SVHN(street view house numbers)(Netzer等,2011)和CIFAR-10(Canadian Institute for Advanced Research-10)(Krizhevsky,2009)數(shù)據(jù)集上進(jìn)行驗(yàn)證。目標(biāo)模型和克隆模型的結(jié)構(gòu)設(shè)定參考DFME(Truong等,2021)的設(shè)置,分別采用ResNet-34-8x和ResNet-18-8x作為目標(biāo)模型和克隆模型的網(wǎng)絡(luò)結(jié)構(gòu)(He等,2016)。對(duì)于CIFAR-10,使用DFME訓(xùn)練好的目標(biāo)模型;對(duì)于SVHN,使用Adam優(yōu)化器對(duì)目標(biāo)模型進(jìn)行優(yōu)化,訓(xùn)練次數(shù)為150個(gè)epoch,學(xué)習(xí)率為0.001。當(dāng)訓(xùn)練完目標(biāo)模型后將其視為黑盒模型,即假設(shè)模型的內(nèi)部信息未知;對(duì)于克隆模型,使用Adam優(yōu)化器對(duì)其優(yōu)化,學(xué)習(xí)率設(shè)置為0.1。
針對(duì)GAN網(wǎng)絡(luò),本文采用DCGAN(deep convolutional generative adversarial network)的構(gòu)建方式。生成器由5個(gè)反卷積層構(gòu)成,中間層的激活函數(shù)采用ReLU函數(shù),最后一層采用Tanh函數(shù)。判別器的網(wǎng)絡(luò)結(jié)構(gòu)與生成器近似對(duì)稱,由5個(gè)卷積層組成,中間層的激活函數(shù)為L(zhǎng)eakyReLU,最后一層的激活函數(shù)為sigmoid。這一部分同樣用Adam優(yōu)化器進(jìn)行優(yōu)化,在預(yù)訓(xùn)練時(shí),GAN網(wǎng)絡(luò)生成器和判別器的學(xué)習(xí)率為0.000 1。在進(jìn)行模型竊取時(shí),對(duì)CIFAR-10分類模型,生成器和判別器的學(xué)習(xí)率均為5E-5;對(duì)SVHN分類模型,生成器和判別器的學(xué)習(xí)率均為0.000 01。整個(gè)實(shí)驗(yàn)中,batch size大小保持在256不變。在零階梯度估計(jì)中,仿照DFME的設(shè)置,每次隨機(jī)選取一個(gè)方向近似計(jì)算梯度。在訓(xùn)練克隆模型時(shí),GAN網(wǎng)絡(luò)與克隆模型的訓(xùn)練次數(shù)比重為1 ∶5。本文將算法中的ngan設(shè)置為1,nc設(shè)置為5,查詢的代價(jià)Q設(shè)置為20 M。
為了充分說(shuō)明本文方法的效果,分別從無(wú)數(shù)據(jù)的模型竊取方法和基于替代數(shù)據(jù)的模型竊取方法中選取基準(zhǔn)方法與本文方法進(jìn)行對(duì)比。無(wú)數(shù)據(jù)模型竊取的基準(zhǔn)方法包括DFME(Truong等,2021)和MAZE(Kariyappa等,2021);基于替代數(shù)據(jù)集的模型竊取方法包括Knockoff(Orekondy等,2019)。
在測(cè)試數(shù)據(jù)集上對(duì)本文方法和基準(zhǔn)方法進(jìn)行測(cè)試,實(shí)驗(yàn)結(jié)果如表1所示。針對(duì)CIFAR-10和SVHN分類模型,本文使用Caltech-101(Li等,2004)作為公開數(shù)據(jù)集。為了方便對(duì)比,本文參考Truong等人(2021)的設(shè)定,將查詢的代價(jià)設(shè)置為20 MB。括號(hào)中的數(shù)字表示使用目標(biāo)模型準(zhǔn)確率對(duì)克隆模型準(zhǔn)確率進(jìn)行歸一化的結(jié)果(用×表示),本文用這一指標(biāo)量化模型功能竊取的效果??梢钥吹剑趦蓚€(gè)不同的分類器模型上,本文方法相比于之前較先進(jìn)的方法在竊取效果上都取得了較大提高。并且本文方法在CIFAR-10上的竊取效果達(dá)到0.97×,相較于knockoff提升了3%。
表1 不同模型竊取算法的實(shí)驗(yàn)結(jié)果Table 1 The results of different model stealing algorithms
3.3.1 不同公開數(shù)據(jù)集對(duì)竊取效果的影響
為驗(yàn)證不同公開數(shù)據(jù)集對(duì)竊取效果的影響,針對(duì)SVHN目標(biāo)模型,分析引入不同的公開數(shù)據(jù)集對(duì)竊取效果的影響,包括Fashion-MNIST(Xiao等,2017)、CIFAR-10、MIT Indoor 67(Quattoni和 Torralba,2009)和Caltech-101。實(shí)驗(yàn)結(jié)果如圖4所示??梢园l(fā)現(xiàn),在引入不同的公開數(shù)據(jù)集時(shí),本文方法針對(duì)SVHN分類模型功能竊取的效果均超過(guò)DFME,并且在引入的公開數(shù)據(jù)集(如Fashion-MNIST)與SVHN數(shù)據(jù)集之間相似性較弱的情況下,本文方法的效果依舊良好,在一定程度上說(shuō)明了本文方法的有效性。
圖4 基于不同公開數(shù)據(jù)集的功能竊取效果Fig.4 The effectiveness of model functionality stealing based on different public datasets
3.3.2 GAN網(wǎng)絡(luò)的有效性驗(yàn)證
在模型功能竊取領(lǐng)域,基于替代數(shù)據(jù)集進(jìn)行模型竊取是一種經(jīng)典方法,在針對(duì)不同圖像分類器時(shí)表現(xiàn)較好,但對(duì)用作竊取依托的替代數(shù)據(jù)集有一定限制,要求用來(lái)查詢的圖像和目標(biāo)模型的訓(xùn)練數(shù)據(jù)域存在一定相關(guān)性,因此這種方法的攻擊效果與查詢圖像和目標(biāo)模型訓(xùn)練數(shù)據(jù)間的相似程度成正比。
本文利用GAN網(wǎng)絡(luò)一定程度上緩解了上述問(wèn)題,以CIFAR-10分類器模型為例,采用3個(gè)公開數(shù)據(jù)集進(jìn)行測(cè)試,在相同的設(shè)定下不使用GAN網(wǎng)絡(luò)進(jìn)行模型竊取,為了盡可能排除其他因素的干擾,實(shí)驗(yàn)均不采用對(duì)比學(xué)習(xí)的損失函數(shù),實(shí)驗(yàn)結(jié)果如圖5所示。
圖5 CIFAR-10模型在不同公開數(shù)據(jù)集上有無(wú)GAN網(wǎng)絡(luò)的實(shí)驗(yàn)效果Fig.5 The experimental results of our methods under using or not using GAN for CIFAR-10 target model
結(jié)果顯示,增加了GAN網(wǎng)絡(luò)的模型實(shí)驗(yàn)結(jié)果在不同數(shù)據(jù)集上均明顯優(yōu)于原模型。由于生成器的引入以及生成器與目標(biāo)模型的交互,該生成器生成的樣本會(huì)攜帶一些目標(biāo)模型的先驗(yàn)知識(shí),因此可以在一定程度上緩解對(duì)公開數(shù)據(jù)域與目標(biāo)模型訓(xùn)練數(shù)據(jù)域相似程度的依賴。當(dāng)使用Fashion-MNIST數(shù)據(jù)集對(duì)CIFAR-10分類器模型進(jìn)行功能竊取時(shí),克隆模型在CIFAR-10測(cè)試數(shù)據(jù)的表現(xiàn)為0.749。引入生成對(duì)抗網(wǎng)絡(luò)之后,克隆模型在CIFAR-10測(cè)試集上的表現(xiàn)上升到0.837??梢员砻?,本文提出的引入GAN網(wǎng)絡(luò)的方法,一定程度上提升了基于替代數(shù)據(jù)集模型竊取方法的效果。
3.3.3 對(duì)比學(xué)習(xí)損失函數(shù)的有效性驗(yàn)證
為驗(yàn)證基于對(duì)比學(xué)習(xí)損失函數(shù)的效果進(jìn)行消融實(shí)驗(yàn),結(jié)果如表2所示??梢钥闯?,基于對(duì)比學(xué)習(xí)的損失函數(shù)不僅對(duì)本文方法有效,在DFME和Knockoff方法上同樣會(huì)為克隆模型的學(xué)習(xí)帶來(lái)收益。同時(shí),在CIFAR-10的目標(biāo)模型上,本文對(duì)不同負(fù)樣本個(gè)數(shù)進(jìn)行實(shí)驗(yàn)分析,結(jié)果如圖6所示??梢钥闯觯诓煌考?jí)的負(fù)樣本數(shù)量下,本文方法的效果波動(dòng)范圍不大,驗(yàn)證了本文方法對(duì)負(fù)樣本個(gè)數(shù)不敏感。因此在實(shí)際場(chǎng)景中,負(fù)樣本的個(gè)數(shù)較為容易設(shè)置。
表2 對(duì)比學(xué)習(xí)損失函數(shù)測(cè)試結(jié)果Table 2 The test results of contrastive loss
圖6 不同負(fù)樣本數(shù)下的實(shí)驗(yàn)結(jié)果Fig.6 The experimental results on different numbers of negative samples
無(wú)數(shù)據(jù)的模型竊取方法雖然可以規(guī)避替代數(shù)據(jù)域與目標(biāo)模型訓(xùn)練數(shù)據(jù)域相似程度的限制,但是由于其生成器的訓(xùn)練需要與目標(biāo)模型進(jìn)行大量的交互,將會(huì)導(dǎo)致查詢代價(jià)大幅提高。
本文引入公開數(shù)據(jù)集,可以使生成器提取到真實(shí)數(shù)據(jù)的先驗(yàn)知識(shí),有真實(shí)數(shù)據(jù)監(jiān)督,生成器可以快速產(chǎn)生有利于模型功能竊取需要的數(shù)據(jù),圖7和表3展示了本文方法和DFME在CIFAR-10的目標(biāo)模型上的實(shí)驗(yàn)結(jié)果。本文方法的測(cè)試曲線在同一迭代次數(shù)時(shí)均高于DFME。以測(cè)試結(jié)果為85%為例,本文方法需要65個(gè)epoch達(dá)到此效果,DFME下的克隆模型則需要96個(gè)epoch。按照本文的實(shí)驗(yàn)設(shè)定計(jì)算,DFME算法在測(cè)試集上達(dá)到85%的準(zhǔn)確率,相比于本文方法需要額外提交大約2.6 M次請(qǐng)求。以測(cè)試結(jié)果為90%為例,本文方法下的克隆模型在測(cè)試集上達(dá)到此效果需要110個(gè)epoch,所需查詢次數(shù)約為9.4 M次,與DFME算法中20 M的查詢代價(jià)相比,本文方法能夠在很大程度上節(jié)省查詢的代價(jià)。
圖7 本文方法和DFME在CIFAR-10模型上的測(cè)試結(jié)果Fig.7 The test results of different methods on CIFAR-10 model
從正則項(xiàng)角度出發(fā),公開數(shù)據(jù)集在本文方法中的作用可以看成是對(duì)生成器的正則項(xiàng)約束。如圖8和圖9所示,與其他無(wú)真實(shí)數(shù)據(jù)監(jiān)督的模型功能竊取方法對(duì)比,DFME由于缺少真實(shí)數(shù)據(jù)監(jiān)督,生成的數(shù)據(jù)在人眼看起來(lái)沒有語(yǔ)義信息,同時(shí)僅靠零階梯度估計(jì)方法計(jì)算得到的梯度信息更新生成器,使每次生成器的更新帶有很大隨機(jī)性。本文方法在公開數(shù)據(jù)集的幫助下,生成器的更新伴隨著真實(shí)數(shù)據(jù)的指導(dǎo),利用真實(shí)數(shù)據(jù)約束生成器的更新,對(duì)生成器的解空間做了限制,因此本文方法能夠更快速地取得良好的功能竊取效果。
>表3 在CIFAR-10模型上不同查詢代價(jià)下的測(cè)試準(zhǔn)確率Table 3 The results of different budgets on CIFAR-10 model
圖8 不同代價(jià)下DFME方法生成的圖像Fig.8 The generated images of DFME on different budgets ((a) 1 M; (b) 5 M; (c) 10 M; (d) 20 M)
圖9 不同代價(jià)下本文方法生成的圖像Fig.9 The generated images of our method on different budgets ((a) 1 M; (b) 5 M; (c) 10 M; (d) 20 M)
本文針對(duì)模型功能竊取問(wèn)題展開研究,從數(shù)據(jù)真實(shí)性的角度出發(fā),引入公開數(shù)據(jù)集,利用GAN網(wǎng)絡(luò)改進(jìn)現(xiàn)有基于生成模型進(jìn)行模型功能竊取方法的缺陷,目的是使生成器生成的數(shù)據(jù)與真實(shí)數(shù)據(jù)的分布一致。同時(shí),為了提升克隆模型的學(xué)習(xí)效果,將對(duì)比學(xué)習(xí)的思想引入到模型功能竊取中。本文方法相比之前最先進(jìn)的方法在竊取效果上有了很大提升,由于公開數(shù)據(jù)集先驗(yàn)知識(shí)的引入,促進(jìn)了生成器的有效學(xué)習(xí),使生成器能夠快速滿足模型功能竊取任務(wù)的需要,有效降低了查詢代價(jià)。然而,本文方法對(duì)生成數(shù)據(jù)的真實(shí)性約束有一定局限,竊取效果一定程度上與真實(shí)數(shù)據(jù)集的選取有關(guān)。在下一步研究中,將嘗試通過(guò)遷移學(xué)習(xí)提升生成模型的泛化能力,進(jìn)而減弱對(duì)公開數(shù)據(jù)集的依賴。