導(dǎo) 讀
大家好,今天介紹的是暑期我在微軟實(shí)習(xí)期間主要做的工作,關(guān)于自然語(yǔ)言模型對(duì)抗訓(xùn)練的問(wèn)題,也就是使用更好的對(duì)抗訓(xùn)練的方式增強(qiáng)transformer-based的模型在自然語(yǔ)言理解領(lǐng)域的效果" />
訂閱
糾錯(cuò)
加入自媒體

FreeLB—適用于自然語(yǔ)言理解的對(duì)抗學(xué)習(xí)

導(dǎo) 讀

大家好,今天介紹的是暑期我在微軟實(shí)習(xí)期間主要做的工作,關(guān)于自然語(yǔ)言模型對(duì)抗訓(xùn)練的問(wèn)題,也就是使用更好的對(duì)抗訓(xùn)練的方式增強(qiáng)transformer-based的模型在自然語(yǔ)言理解領(lǐng)域的效果。這項(xiàng)工作由我和我的幾位mentor,導(dǎo)師以及manager一起完成的。

這次分享共包括一下幾個(gè)部分:

對(duì)抗訓(xùn)練的介紹

關(guān)于transformer-based模型的對(duì)抗訓(xùn)練

結(jié)論

▌對(duì)抗訓(xùn)練的介紹

1、圖片分類器的對(duì)抗訓(xùn)練

對(duì)輸入的樣本做微小的改動(dòng)很容易讓機(jī)器學(xué)習(xí)模型出現(xiàn)誤判,這種操作稱為對(duì)抗性攻擊,這對(duì)實(shí)際應(yīng)用模型帶來(lái)了極大的風(fēng)險(xiǎn)。一般情況下我們通過(guò)在輸入中加入對(duì)抗樣本,使得樣本能夠正視這種微小的改動(dòng),從而增加模型的魯棒性。

對(duì)抗訓(xùn)練最初用于圖像識(shí)別領(lǐng)域,然后演變到自然語(yǔ)言處理的對(duì)抗訓(xùn)練,我們也是基于前人的理論上對(duì)自然語(yǔ)言中的對(duì)抗訓(xùn)練進(jìn)行了改進(jìn)。

FreeLB—適用于自然語(yǔ)言理解的對(duì)抗學(xué)習(xí)

最初的對(duì)抗樣本概念是基于圖像領(lǐng)域,就是我們對(duì)一張自然的圖片加一個(gè)人眼不可見(jiàn)(微。┑臄_動(dòng),這種擾動(dòng)不改變圖像本身的類別,但是神經(jīng)網(wǎng)絡(luò)模型卻把他識(shí)別為一個(gè)完全不同的類別。比如圖片中本來(lái)是一個(gè)“pig”,通過(guò)加入一個(gè)微小的擾動(dòng),模型卻識(shí)別為"airliner"。這種對(duì)抗樣本對(duì)于普通的神經(jīng)網(wǎng)絡(luò)來(lái)說(shuō)幾乎是普遍存在的,或者說(shuō)對(duì)任意的圖片我們都能找到對(duì)抗樣本使得神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)出現(xiàn)錯(cuò)誤,利用這種操作我們幾乎能使模型在訓(xùn)練集上的準(zhǔn)確率降為0;在自然語(yǔ)言中也存在對(duì)抗樣本,但是構(gòu)造對(duì)抗樣本比圖像領(lǐng)域要復(fù)雜一些,根據(jù)Ribeiro在文章中提出的,根據(jù)一些詞變換的規(guī)則(Semantically Equivalent Adversarial Rules)來(lái)生成對(duì)抗樣本,比如把"What is" 改成縮寫形式"What's",或者在語(yǔ)句結(jié)束時(shí)多加一個(gè)問(wèn)號(hào)"?",就能使得基于神經(jīng)網(wǎng)絡(luò)的自然語(yǔ)言模型在某些情況下給出一個(gè)錯(cuò)誤的分類。

FreeLB—適用于自然語(yǔ)言理解的對(duì)抗學(xué)習(xí)

為了提升使圖像分類器對(duì)抗攻擊的魯棒性,可以使用對(duì)抗樣本訓(xùn)練模型。具體的做法是在訓(xùn)練的過(guò)程中,動(dòng)態(tài)生成對(duì)抗樣本,同時(shí)優(yōu)化模型使得在對(duì)抗樣本上的損失函數(shù)盡可能小。這個(gè)優(yōu)化問(wèn)題是一個(gè)min-max問(wèn)題,max部分要找到一個(gè)圖像上的擾動(dòng)使其盡可能增大損失函數(shù),盡可能讓模型錯(cuò)分類,同時(shí)要求它的模(||||F)盡可能的小,就是盡可能的肉眼不可見(jiàn),不改變?cè)瓐D像實(shí)際的類別。優(yōu)化問(wèn)題可以通過(guò)映射梯度下降(Projected Gradient Descent)的方式來(lái)求解。首先對(duì)δ進(jìn)行梯度上升,并保證||δ||F小于一定的值,通過(guò)K步操作后,然后再進(jìn)行一次梯度下降。這種加入對(duì)抗樣本的訓(xùn)練方式可以提高分類器的魯棒性,但同時(shí)分類器在原數(shù)據(jù)集的干凈測(cè)試集上分類的準(zhǔn)確率也會(huì)下降,這個(gè)是副作用。提升魯棒性的原因在于分類器在使用包含對(duì)抗樣本訓(xùn)練后泛化性能明顯提升。這種泛化性排除了數(shù)據(jù)集的bias,所以在測(cè)試集上的準(zhǔn)確率有所下降,但模型捕捉的特征也更接近于人的認(rèn)知。如果把訓(xùn)練過(guò)程中梯度下降過(guò)程的可視化圖片中,可以看出,對(duì)普通模型的預(yù)測(cè)影響最大的圖像特征基本上是隨機(jī)的,和輸入的圖片中物體的實(shí)際輪廓關(guān)系不大,但是經(jīng)過(guò)對(duì)抗訓(xùn)練的模型會(huì)捕捉到圖片中鳥或者飛機(jī)的邊緣,使得分類器和人的感知非常接近,這也就說(shuō)明了對(duì)抗訓(xùn)練的模型是魯棒的。

FreeLB—適用于自然語(yǔ)言理解的對(duì)抗學(xué)習(xí)

但是,近期來(lái)自JHU和Google的一篇文章中提出一種對(duì)抗訓(xùn)練方法,能夠提升模型在干凈樣本測(cè)試集上的準(zhǔn)確率。和前文所述Madry等人的訓(xùn)練方法不同,其損失函數(shù)同時(shí)包含了干凈樣本和對(duì)抗樣本,并且對(duì)干凈樣本和對(duì)抗樣本分別使用兩組不同的Batch Normalization。作者們通過(guò)對(duì)比干凈樣本和對(duì)抗樣本的BatchNormalization的參數(shù),發(fā)現(xiàn)二者概率分布不同,所以在訓(xùn)練過(guò)程中對(duì)干凈樣本和對(duì)抗樣本分別采用了不同的BatchNormalization。預(yù)測(cè)時(shí),只使用干凈樣本對(duì)應(yīng)的BatchNormalization參數(shù),最終在ImageNet數(shù)據(jù)集上將Efficient Net的TOP1的準(zhǔn)確率最高提升了0.7個(gè)百分點(diǎn),并且在數(shù)據(jù)越大的情況下提升越明顯。這給我們提供了一個(gè)使用對(duì)抗訓(xùn)練來(lái)提升模型準(zhǔn)確率的一種方式。

2.  常用的自然語(yǔ)言對(duì)抗訓(xùn)練

自然語(yǔ)言中生成對(duì)抗的句子是有一定難度的,一般最常用的方法,是把句子中的一些詞替換成他的近義詞。對(duì)擾動(dòng)也采用一種梯度上升的方式,具體做法是通過(guò)替換后的embedding向量和原句子的embedding向量求得差向量后,再求與梯度向量求夾角,夾角越小說(shuō)明對(duì)損失函數(shù)的增加越多。一般情況下都是通過(guò)這種方式結(jié)合近義詞替換的約束來(lái)構(gòu)造一些對(duì)抗樣本,但是這種近義詞替換與上下文關(guān)系密切,所以有時(shí)候也存在一些不合理的情況。

FreeLB—適用于自然語(yǔ)言理解的對(duì)抗學(xué)習(xí)

比如圖片中“He has a natural giftfor writing scripts.”中的gift,在此句中是”天賦”的意思,第二句中的“talent”也有天賦的意思,但是第三句中的“present”雖然和“gift”也是近義詞,都有“禮物”的意思,但是在上下文中確實(shí)不合理的。采用這種詞替換的方式時(shí)還需要結(jié)合其他約束方式來(lái)過(guò)濾掉那些不合理的對(duì)抗樣本,比如使用back-translationscores,但是這種方式需要使用額外的機(jī)器翻譯模型,在每次生成對(duì)抗樣本時(shí)檢測(cè)一次,這種方式的效率非常低;另一種方式就是找一些通用的語(yǔ)言規(guī)則,比如縮寫(what is 替換成 what's),名詞換成指示代詞(noun>this/that/it)等語(yǔ)義等價(jià)對(duì)抗規(guī)則(semanticallyequivalent adversarial rules,簡(jiǎn)稱SEARs)方式來(lái)生成對(duì)抗樣本。

FreeLB—適用于自然語(yǔ)言理解的對(duì)抗學(xué)習(xí)

這種語(yǔ)義等價(jià)對(duì)抗規(guī)則產(chǎn)生的對(duì)抗樣本基本上保留了原義,但不是一種非常有效的攻擊方式,從實(shí)驗(yàn)中我們可以看到SEARs在數(shù)據(jù)集Visual QA和SentimentAnalysis上產(chǎn)生對(duì)抗樣本的準(zhǔn)確率最低只降到10.9%,這點(diǎn)跟之前提到的圖像對(duì)抗攻擊不同,在圖像上對(duì)沒(méi)有經(jīng)過(guò)對(duì)抗訓(xùn)練的模型準(zhǔn)確率能夠降底到0。實(shí)驗(yàn)證明SEARs對(duì)抗訓(xùn)練在數(shù)據(jù)集上的準(zhǔn)確率表現(xiàn)也一般,而且也只能有限降低抵抗對(duì)抗樣本的敏感性。

FreeLB—適用于自然語(yǔ)言理解的對(duì)抗學(xué)習(xí)

Back-translationscores 不能保證一定能生成有效的對(duì)抗樣本,但確實(shí)提升模型的識(shí)別性能。在ACL paper【5】中在機(jī)器翻譯的過(guò)程中生成了一些對(duì)抗樣本,模型通過(guò)Back-translation Score過(guò)濾掉了一些不合理的對(duì)抗樣本,提升了模型的準(zhǔn)確率。

由于在每一步梯度上升的過(guò)程中,需要對(duì)每種可能的詞替換計(jì)算Back-translation Score ,這種模型的消耗巨大,運(yùn)行時(shí)間長(zhǎng),所以也不是最優(yōu)的方式。

FreeLB—適用于自然語(yǔ)言理解的對(duì)抗學(xué)習(xí)

另一種比較簡(jiǎn)單粗暴的方式就是直接在詞的embedding上加入對(duì)抗擾動(dòng),雖然有時(shí)加入擾動(dòng)不一定能夠真正對(duì)應(yīng)到詞的embedding,但是以提升對(duì)抗訓(xùn)練模型的性能為目的,而不關(guān)心生成的對(duì)抗樣本的質(zhì)量,那這種方式也是可以采取的。圖中r是生成的對(duì)抗擾動(dòng),v是原來(lái)輸入詞的embedding向量,模型采用LSTM,把r加入到這個(gè)圖模型中,加入的擾動(dòng)不影響整個(gè)模型的訓(xùn)練,仍然可以用梯度下降求出embedding中更新參數(shù)的梯度,這種方式早在2017年被Goodfellow【6】用來(lái)增強(qiáng)語(yǔ)言模型的性能,當(dāng)時(shí)通過(guò)對(duì)抗訓(xùn)練把錯(cuò)誤率從7.33%降低到6.21%。后來(lái)又提出了一種半監(jiān)督的訓(xùn)練方式,在原來(lái)數(shù)據(jù)集中增加了一些沒(méi)有標(biāo)簽的數(shù)據(jù),通過(guò)最小化無(wú)標(biāo)簽數(shù)據(jù)的KL散度,最小化鄰域內(nèi)最大的KL散度。通過(guò)增加無(wú)標(biāo)簽的數(shù)據(jù)之后,錯(cuò)誤率由6.21%降低到5.91%。在embedding中加入對(duì)抗擾動(dòng)是目前一種比較有效的方式,我們的工作中也是采用了這種方式引入的對(duì)抗擾動(dòng)。

▌關(guān)于transformer-based模型的對(duì)抗訓(xùn)練

前面介紹的都是現(xiàn)有的一些對(duì)抗訓(xùn)練的方法,接下來(lái)介紹一下我們的方法,以及一些相關(guān)的方法。

首先介紹一下我們?cè)O(shè)計(jì)模型的思路

我們只是在fine-tuning的階段做了對(duì)抗訓(xùn)練任務(wù),沒(méi)有在Bert等類似的預(yù)訓(xùn)練階段加入對(duì)抗訓(xùn)練,主要是預(yù)訓(xùn)練本身就需要較大的計(jì)算量,而對(duì)抗訓(xùn)練會(huì)額外增加一些計(jì)算量,所以在大量的數(shù)據(jù)集上我們沒(méi)有在預(yù)訓(xùn)練的階段做對(duì)抗訓(xùn)練;我們也是在詞的 embedding上加入了一些擾動(dòng);我們保持了Bert和RoBERTA預(yù)訓(xùn)練模型的超參數(shù),只改變我們加入了對(duì)抗訓(xùn)練部分的超參數(shù)。

FreeLB—適用于自然語(yǔ)言理解的對(duì)抗學(xué)習(xí)

普通訓(xùn)練模型RoBERTA為baseline,對(duì)抗訓(xùn)練的baseline實(shí)驗(yàn)是在加入了擾動(dòng)后的embedding數(shù)據(jù)后采用K-PGD進(jìn)行對(duì)抗訓(xùn)練,與RoBERTA模型相比,K-PGD不會(huì)降低RoBERTA的性能,并且在大部分?jǐn)?shù)據(jù)集中有所提升。

1.  標(biāo)準(zhǔn)的對(duì)抗訓(xùn)練:映射式梯度下降(Projected Gradient Descent)

FreeLB—適用于自然語(yǔ)言理解的對(duì)抗學(xué)習(xí)

KPGD的一般流程如下,如果輸入詞向量大小是n× d,那么我們加入的擾動(dòng)delta 也是n×d,并且||δ||F小于epsilon,在K-步的梯度計(jì)算過(guò)程中首先要初始化δ0,然后計(jì)算K步增加的梯度,通過(guò)gadv/||gadv||F模,乘以單步的學(xué)習(xí)率,加上前一步的δ值,最后得到的δ都會(huì)映射到約束范圍內(nèi)(如果超過(guò)ε則取ε值),這種normalization的操作是加快模型收斂的速度,因?yàn)槟P陀?xùn)練趨近最優(yōu)值附近時(shí)梯度比較小,通過(guò)這種標(biāo)準(zhǔn)化操作可以增加有效的步長(zhǎng),收斂更快。

FreeLB—適用于自然語(yǔ)言理解的對(duì)抗學(xué)習(xí)

K-PGD優(yōu)點(diǎn)和缺點(diǎn):

非常簡(jiǎn)單并且有效的方法。比較低效,因?yàn)樾枰鯧倍的后向傳播過(guò)程。

梯度更新時(shí)對(duì)輸入的embedding求的梯度,在這個(gè)過(guò)程中也可以得到所有神經(jīng)網(wǎng)絡(luò)參數(shù)的梯度,并不需要額外的計(jì)算量。在FreeAT和YOPO兩篇也是利用用梯度上升過(guò)程獲取參數(shù)的梯度,來(lái)減少總的前向-后向傳播的次數(shù)。

2.  PGD的變種:FreeAT和YOPO

FreeLB—適用于自然語(yǔ)言理解的對(duì)抗學(xué)習(xí)

利用之前對(duì)輸入求梯度進(jìn)行梯度上升的過(guò)程中可以獲得參數(shù)θ的梯度,所以FreeAT中對(duì)輸入每做一次梯度上升時(shí),同時(shí)對(duì)參數(shù)θ做一次梯度下降操作。在K-PGD中比如K=2,那么需要經(jīng)過(guò)3步(梯度上升之后)才更新一次參數(shù),但FreeAT每一步迭代生成對(duì)抗樣本時(shí),參數(shù)θ也同時(shí)更新,總的對(duì)抗訓(xùn)練步驟和普通模型訓(xùn)練時(shí)一致,消耗時(shí)間也近似,但是比KPGD縮短了很多。

FreeLB—適用于自然語(yǔ)言理解的對(duì)抗學(xué)習(xí)

但FreeAT也有副作用,就是會(huì)在同一個(gè)樣本附近更新多次參數(shù),PGD的隨機(jī)性有助于模型的泛化能力。參數(shù)在一個(gè)batch的樣本上梯度下降m次得到結(jié)果稱為batch replay,參數(shù)更新次數(shù)越多,模型準(zhǔn)確率隨之下降的越多。柱狀圖是模型普通訓(xùn)練方式(natural trained)的準(zhǔn)確率和訓(xùn)練次數(shù)的關(guān)系,根據(jù)這個(gè)關(guān)系在FreeAT中設(shè)置replay =8,訓(xùn)練時(shí)間比普通模型多5min,準(zhǔn)確率保持與PGD差不多,但是魯棒性有所提升。

但是freeAT中也存在一些問(wèn)題,我們看到δt更新的公式中,δt是θt-1的函數(shù),就是每次更新時(shí)仍然使用了上一步驟中的參數(shù),參數(shù)存在滯后性,所以產(chǎn)生的對(duì)抗效果不夠強(qiáng)。

FreeLB—適用于自然語(yǔ)言理解的對(duì)抗學(xué)習(xí)

YOPO模型中每進(jìn)行一次前向-后向傳播后,固定損失函數(shù)關(guān)于第一層輸出的梯度,然后用梯度乘以第一層對(duì)抗樣本參數(shù)的雅克比矩陣來(lái)更新梯度,這一操作被稱為innter steps ,這個(gè)過(guò)程重復(fù)n步,這種方式也能增加對(duì)抗樣本的額強(qiáng)度,減少了整個(gè)前向-后向傳播次數(shù)。比如之前使用K-PGD得到了一些對(duì)抗樣本,而使用YOPO僅用K/2步就可以得到相同強(qiáng)度的對(duì)抗樣本。

YOPO外層循環(huán)更新參數(shù)的梯度時(shí)會(huì)疊加上inner step中生成對(duì)抗樣本時(shí)每一步的梯度(gθ(1),gθ(2)),一般是這些梯度的平均值。這種做法有點(diǎn)類似于通過(guò)增大batch size的方式來(lái)加快模型的收斂。YOPO訓(xùn)練速度比其他對(duì)抗訓(xùn)練方式要快很多,準(zhǔn)確率相比FreeAT也有提升,同時(shí)也提升了模型的魯棒性(防御攻擊能力)。最后文章并未指出通用的規(guī)則來(lái)表示具體減少的循環(huán)次數(shù),只是發(fā)現(xiàn)用了更少的循環(huán)次數(shù),得到了更好的結(jié)果。

FreeLB—適用于自然語(yǔ)言理解的對(duì)抗學(xué)習(xí)

我們也同時(shí)存在疑問(wèn):文章中的inner step是必須存在的嗎?

文中所說(shuō)的第一層是卷積操作,而卷積的操作是一個(gè)線性操作,所以第一層的梯度是一個(gè)常數(shù),這樣inner step中傳遞的梯度與對(duì)抗樣本無(wú)關(guān),雖然考慮了projection的梯度上升過(guò)程,比如循環(huán)了2次,那么只是相當(dāng)于是用了兩倍的步長(zhǎng)更新參數(shù),inner step沒(méi)有起到明顯的作用。但是文章提出的對(duì)抗訓(xùn)練思想還是很有借鑒意義的。

FreeLB—適用于自然語(yǔ)言理解的對(duì)抗學(xué)習(xí)

3.  我們的模型FreeLB

FreeLB—適用于自然語(yǔ)言理解的對(duì)抗學(xué)習(xí)

在我們的實(shí)驗(yàn)中,就借鑒了YOPO的對(duì)抗訓(xùn)練方式,但我們摒棄了YOPO提倡的inner step步驟。這樣,我們的模型只在K步梯度上升的過(guò)程中積累梯度,并在之后用積累的梯度進(jìn)行參數(shù)更新。這與并行優(yōu)化非常類似,如左圖所示,并行優(yōu)化會(huì)將3個(gè)圖片分別放在了3個(gè)GPU上進(jìn)行訓(xùn)練,同時(shí)各自計(jì)算梯度,然后計(jì)算三個(gè)圖片的平均梯度,這樣batch size相當(dāng)于原來(lái)的的3倍,模型訓(xùn)練時(shí)的learning_rate也可以增加到原來(lái)的3倍,但總迭代次數(shù)可以減少到原來(lái)的1/3,并且往往能達(dá)到同樣的效果。自然語(yǔ)言理解任務(wù),尤其是GLUE上所需要的迭代次數(shù)一般較少,所以與之不同的是,我們沒(méi)有將總迭代次數(shù)(模型參數(shù)更新次數(shù))減少到原來(lái)的1/K,但這種方式相比于K-PGD仍然提高了梯度的利用率,并能夠進(jìn)一步提升模型性能。

4.  實(shí)驗(yàn)結(jié)果

FreeLB—適用于自然語(yǔ)言理解的對(duì)抗學(xué)習(xí)

我們將我們的方法與YOPO進(jìn)行對(duì)比。在實(shí)現(xiàn)YOPO時(shí),我們把第一層換成了非線性的,這樣在inner step中傳遞的梯度就不是一個(gè)常數(shù)。

我們嘗試了不同inner step的數(shù)量,YOPO-3-2 就是包含了2個(gè)inner step,YOPO-3-3就是包含了3個(gè)inner step。同時(shí),為保證等效步長(zhǎng)一致,在左圖中,我們還將每個(gè)inner step的長(zhǎng)度換成FreeLB-3的梯度上升步長(zhǎng)除以inner step數(shù)。而在右圖中每個(gè)inner step的步長(zhǎng)和FreeLB一致,這樣YOPO等效步長(zhǎng)更長(zhǎng)。根據(jù)實(shí)驗(yàn)結(jié)果,我們發(fā)現(xiàn)inner step過(guò)程沒(méi)有表現(xiàn)出期望的結(jié)果,有時(shí)增加inner step還會(huì)使結(jié)果變差。步長(zhǎng)大一些的時(shí)候(右圖)YOPO與FreeLB的差距會(huì)縮小,但仍然沒(méi)有變得更好。

FreeLB—適用于自然語(yǔ)言理解的對(duì)抗學(xué)習(xí)

之前提到我們把生成的對(duì)抗樣本加入到了模型的輸入中,相當(dāng)于增加了數(shù)據(jù)的batch size,目標(biāo)函數(shù)可以看成最大化對(duì)抗樣本的損失函數(shù)在某個(gè)鄰域內(nèi)的值,當(dāng)有K個(gè)對(duì)抗樣本時(shí),相當(dāng)于優(yōu)化了在原來(lái)輸入樣本附近的K個(gè)不同區(qū)域的最大loss值。最后對(duì)目標(biāo)函數(shù)求最小值來(lái)優(yōu)化求解模型的參數(shù),進(jìn)行預(yù)測(cè)。我們的方法確實(shí)有一定的提升,但是背后的原因目前還沒(méi)有去進(jìn)一步證明,有文章指出【8】,如果一個(gè)模型對(duì)T中不同的變換,比如對(duì)輸入進(jìn)行了T種變換但預(yù)測(cè)結(jié)果都是正確,那么這模型的泛化錯(cuò)誤率還比原來(lái)沒(méi)有變換的模型降到根號(hào)T倍(上限)。

FreeLB—適用于自然語(yǔ)言理解的對(duì)抗學(xué)習(xí)

實(shí)驗(yàn)中的算法會(huì)積累中間對(duì)抗樣本的梯度,在K步之后更新參數(shù),積累得到的對(duì)抗樣本的梯度都是使用當(dāng)前步驟下的參數(shù),避免了FreeAT中參數(shù)過(guò)期的問(wèn)題,所以實(shí)驗(yàn)結(jié)果性能優(yōu)于其他對(duì)抗訓(xùn)練的模型。并在GLUE很多數(shù)據(jù)集上都得到了好的結(jié)果。

FreeLB—適用于自然語(yǔ)言理解的對(duì)抗學(xué)習(xí)

Dropout的影響在圖片的抗訓(xùn)練領(lǐng)域里沒(méi)有得到廣泛關(guān)注,因?yàn)槟壳霸趫D像領(lǐng)域在大多情況下已經(jīng)不再使用Dropout了,但是在基于Transformer的語(yǔ)言模型里還是需要使用Dropout,即使是在fine tuning過(guò)程,我們?nèi)允褂昧薉ropout。為了增加對(duì)抗的強(qiáng)度,我們需要在每步梯度上升時(shí)固定Dropout Mask,這與FreeAT過(guò)期問(wèn)題相似,因?yàn)榫W(wǎng)絡(luò)每一層的結(jié)構(gòu)都不相同,得到的輸入梯度有很多的噪聲。從目標(biāo)函數(shù)的角度來(lái)看,我們想優(yōu)化對(duì)于不同dropout mask下?lián)p失函數(shù)的期望,損失函數(shù)在K-step里是所有樣本損失之和,所以需要在每一步里的dropout保持相同。

FreeLB—適用于自然語(yǔ)言理解的對(duì)抗學(xué)習(xí)

FreeLB—適用于自然語(yǔ)言理解的對(duì)抗學(xué)習(xí)

將我們的模型用于GLUE的其他數(shù)據(jù)集上也有一些得到了不同程度的提升,另外將freeLB用在BERT-base模型上,整體的score提升了1.1%,用在RoBERTa模型上能提升0.3%,另外有時(shí)候FreeLB單個(gè)模型,性能遠(yuǎn)遠(yuǎn)超過(guò)了一些集成的模型。

▌結(jié)論

對(duì)抗訓(xùn)練可以提升自然語(yǔ)言模型預(yù)測(cè)的性能,雖然我們只是把對(duì)抗訓(xùn)練過(guò)程用在fine-tuning階段內(nèi),也同樣提升了模型的準(zhǔn)確率。從大量實(shí)驗(yàn)中可以看出對(duì)抗訓(xùn)練在提升模型的泛化能力上潛力巨大。

未來(lái)希望能夠找到一種使得對(duì)抗訓(xùn)練,能夠運(yùn)用在語(yǔ)言模型預(yù)訓(xùn)練階段的高效對(duì)抗訓(xùn)練方法,預(yù)訓(xùn)練階段需要相當(dāng)大的計(jì)算量,目前認(rèn)為最簡(jiǎn)單的解決方式也是使用large-batch的訓(xùn)練方式。最后感謝我的導(dǎo)師和mentor們,也感謝一起實(shí)習(xí)工作的同事,與他們的日常交流也使我受益匪淺。

▌參考資料

1. J.Goodfellow, J. Shlens, and C. Szegedy. Explaining and harnessing adversarialexamples. arXiv:1412.6572,2.Ribeiro, M.T., Singh, S., & Guestrin, C.. Semantically equivalent adversarial rulesfor debugging nlp models. ACL (2018)3.Tsipras,D., Santurkar, S., Engstrom, L., Turner, A., & Madry, A. (2018). Robustnessmay be at odds with accuracy.ICLR (2019).4.Xie, C.,Tan, M., Gong, B., Wang, J., Yuille, A., & Le, Q. V.. Adversarial ExamplesImprove Image Recognition. arXiv:1911.09665.5.Cheng, Yong, Lu Jiang, and Wolfgang Macherey. "Robust NeuralMachine Translation with Doubly Adversarial Inputs."ACL(2019).6.Miyato, T., Dai, A. M., & Goodfellow. Adversarial trainingmethods for semi-supervised text classification.ICLR (2017)。7.Shafahi, A., Najibi, M., Ghiasi, A., Xu, Z., Dickerson, J., Studer,C., ... & Goldstein, T.. Adversarial Training for Free。 NeurIPS(2019).8.Sokolic, J., Giryes, R., Sapiro, G., & Rodrigues, M.Generalization Error of Invariant Classifiers. AISTATS (2017).

聲明: 本文由入駐維科號(hào)的作者撰寫,觀點(diǎn)僅代表作者本人,不代表OFweek立場(chǎng)。如有侵權(quán)或其他問(wèn)題,請(qǐng)聯(lián)系舉報(bào)。

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字

您提交的評(píng)論過(guò)于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無(wú)評(píng)論

暫無(wú)評(píng)論

    掃碼關(guān)注公眾號(hào)
    OFweek人工智能網(wǎng)
    獲取更多精彩內(nèi)容
    文章糾錯(cuò)
    x
    *文字標(biāo)題:
    *糾錯(cuò)內(nèi)容:
    聯(lián)系郵箱:
    *驗(yàn) 證 碼:

    粵公網(wǎng)安備 44030502002758號(hào)