背景
方法
作者們提出了一種模型驅動的方法,使用自動對抗的方法自動生成未觀察過的對抗樣本,並運用生成的樣本最終提升閱讀理解模型的效果魯棒性,全程無需人工參與。
該方法可以簡單地划分為三個步驟:
(1)對每個訓練樣本利用對抗的方法生成一個干擾向量輸入,使得它能夠誤導當前的閱讀理解模型;
(2)采用貪心策略從干擾向量的詞匯權重中采樣得到對應的離散化的干擾文本;
(3)使用干擾文本構建用於訓練的對抗樣本,並重新訓練閱讀理解模型並重復上述步驟直至收斂。
在步驟(1)中,針對已有閱讀理解模型訓練干擾向量的方法如圖4中高亮所示。對於任意一組訓練樣本,該方法在embedding輸入中隨機插入一段由詞表embedding加權得到的干擾向量序列,組成含有干擾的embedding輸入序列。
在訓練干擾向量時,選擇一個性能優的模型,固定參數,以最小化當前模型正確預測概率為目標,使用梯度下降的方法調整歸一化的詞表權重,從而生成能夠達到迷惑目的的干擾向量序列。
在步驟(2)中,針對干擾向量序列上的各個干擾向量,作者使用貪心的方法采樣詞表中詞匯embedding與干擾向量歐式距離最近的詞匯作為該位置的代表詞,從而生成一段干擾文本。由於該算法的特性,可以近似地直接選取詞表中權重最大的詞作為代表詞。
在步驟(3)中,作者將生成的干擾文本重新加入到對應訓練數據中,構建成為具有對抗意義的對抗樣本(adversarial examples),並在訓練數據中追加上這些樣本進行重新訓練,得到魯棒性加強后的閱讀理解模型。並運用該模型繼續從步驟(1)開始下一輪迭代,尋找新的能夠對抗當前模型的樣本,直至收斂。
經實驗驗證,作者發現當前包含BERT和ERNIE等預訓練模型在內的最好的閱讀理解模型,在面對對抗樣本的時候仍然非常脆弱。在5類不同的對抗測試集上,效果均有較大幅度下降,其中BERT-large和ERNIE2.0效果降幅絕對值超過17%。
而當同樣的模型運用上論文中的對抗訓練方法后,在不同的對抗數據集上均有非常顯著的效果提升(如圖5所示),相比基線效果錯誤率降低50%。
作者通過相關實驗,發現論文提出的模型驅動的方法確實能夠生成多樣性更加豐富的干擾文本(圖6中綠點),從而有效補充人工規則的不足。同時也發現使用該方法生成的對抗樣本case仍然較為雜亂,並不具備很好的流利度甚至完全不是自然語言,因此當前對抗生成的方法仍然有較大提升空間。
個人想法
個人認為這種策略對模型的提升十分有限,既然不是符合語義的那么和真實場景還是存在很大差距的。
十分有趣的是,百度用自己的ernie2.0 加上自己提出的方法沒有得到任何提升?甚至『ERNIE2.0 + AddSentDiverse + Ours』還不如baseline的水平。
文章寫得一般,感覺沒有重點。
參考: