序列生成 RNN對抗序列生成

2021-10-14 21:50:00 字數 2522 閱讀 5964

摘要:**證明了文字的對抗樣本可以干擾rnn的分類結果。

介紹 兩種方法:the fast gradient sign method、the forward derivative method

主要貢獻:形式化對抗樣本優化問題、將對抗擾動加到其他輸入中、評估了文字對抗樣本表現

2. 關於迴圈神經網路

機器學習、神經網路、迴圈神經網路的基礎內容介紹

3. 製作對抗序列

a. 對抗樣本和序列

對抗樣本:首先形式化對抗樣本生成的形式化問題

我們要找到的解就是

對抗序列:在序列化實驗中,由於上面的公式最後是乙個不等式,所以不好操作,換為

這裡 b. 使用快速梯度符號法

快速梯度符號法將問題進行了近似,通過對損失函式進行求導來找到使損失最大的擾動。公式如下

這裡的sgn函式是為擾動尋找乙個方向,而

c. 使用正向導數

這是生成對抗樣本的另一種方式

式中 使用計算圖展開(computational graph unfolding)的方法來計算正向導數,隨著時間步的前進,我們可以遞迴應用此式

未展開的遞迴rnn

展開的rnn

將此式展開,即為

最終的結果是這樣

於是可以得到雅各比矩陣,可以描述每一時間步的輸入對輸出帶來的影響,影響最大的就是最重要的詞,對他們進行擾動就能大概率影響模型的輸出。

對於分類問題而言,**中的分類問題是乙個二分類問題,對一種標籤**概率的上公升會直接帶來另一種標籤概率的下降。所以,只要看雅各比矩陣的一行即可分辨出乙個序列中的最重要的成分。

對於序列**問題而言,對於第 j 個時間步而言,我們需要找到輸入序列元素的乙個子集。與其他列相比,這個子集在第 j 列有較高的絕對值。子集中的元素會對rnn在第 j 步的輸出有較大的影響。可以通過快速梯度符號法來對相應元素新增擾動。

4. 評價

為分類rnn和序列rnn分別製作了對抗序列。分類rnn實現的是影評情感分類,序列rnn實現的是從合成輸入到輸出的對映。

a. 分類輸出rnn

要攻擊的rnn是乙個影評的情緒分類器,2000條影評平均長度為71.06個單詞,平均每一條改變9.18個詞。

實驗設定:模型由四部分組成,分別為輸入部分、lstm部分、均值池化部分、softmax部分

實驗在訓練集上達到了100%的失誤率,在測試集上達到了78.21%的失誤率。

對抗序列:生成對抗序列的演算法是這樣的,通過雅各比矩陣找到對句子影響最大的單詞,利用快速梯度符號法尋找最佳的擾動方向,再在詞典中找到與單詞差距正好為擾動的替代詞,利用替代詞替代原詞,直到模型對該樣本誤分類。

b. 序列輸出rnn

rnn可以從輸入序列**輸出序列。儘管我們使用合成資料,序列到序列的模型可以被應用到**金融市場趨勢。

實驗設定:在100條人工生成的輸入輸出序列對的集合上訓練。輸入每一步有5個值,輸出每一步有3個值。所有的序列共10步。

對抗序列:首先確定要影響輸出矩陣的哪一部分,確定之後同樣是通過雅各比矩陣來尋找對其影響最大的輸入序列子集。通過對影響最大的輸入子集進行改變,即可影響想要影響的輸入序列時間步。

5. 討論和相關工作

**利用乙個lstm分類器製作了對抗樣本,並使用了普通rnn序列**器驗證了製作對抗樣本的方法。未來的工作應該著手在對抗樣本的語法方面,來改進語義資訊,並讓人類無法識別出來。

另乙個未來的工作方向是對抗樣本的可傳遞性,看同樣的對抗樣本在不同的模型中是否可以奏效。

6. 結論

將對抗從計算機視覺分類的前饋-非迴圈-神經網路轉移到序列分類的迴圈神經網路,需要解決的是計算機視覺領域中所沒有的預處理過程。這篇**的工作證明了製作對抗樣本的方法同樣可以用於迴圈神經網路中。

未來的工作應該調查不同資料型別的對抗序列,還要注意文字序列問題中的預處理問題。

*****not n , mcdaniel p , swami a , et al. crafting adversarial input sequences for recurrent neural networks[j]. 2016.

序列生成 序列生成 SeqGAN和RankGAN

這篇文章主要介紹兩個序列生成的gan模型,分別是發表在aaai 2017上的seqgan和 nips 2017上的 rankgan seqgan sequence generative adversarial nets with policy gradient arxiv.org adversari...

序列生成 常用的特殊序列號生成公式大全

在excel函式中,有時候我們需要生成特殊的序列號。如果用人工乙個個設定太繁瑣,且容易出錯,我們可以運用excel行 列函式,再搭配相應的函式就能生成特殊的序列號。今天讓我們一起來學習如何生成特殊的序列號。一 row函式 row函式是函式中的一種,作用是返回乙個引用的行號。如果省略 referenc...

InfoGAN 生成時序序列

完整 本文介紹用infogan生成多維時序序列。name class dimension train size test size truncated charactertrajectories203 1422 1436 182charactertrajectories資料集是小寫英文本元軌跡的資料...