為什麼GAN不能處理離散的資料?
阿新 • • 發佈:2018-12-09
最近我們小組的一個任務是要學習兩個分佈資料之間的對映關係,我們的資料形式是,其中分別是維的資料,我們想到了用GAN來學習這兩個分佈之間的對映關係,後來發現效果不太好,迭代一次該模型就對真樣本資料和假樣本資料傻傻分不清,真假概率都為0.5,後來查詢到GAN原來不適合處理離散的資料樣本,所以來寫個筆記記錄一下:
為什麼GAN不適合處理文字資料
1. 文字資料相比較圖片資料來說是離散的,因為對於文字來說,通常需要將一個詞對映為一個高維的向量,最終預測的輸出是一個one-hot向量,假設softmax的輸出是(0.2, 0.3, 0.1,0.2,0.15,0.05)那麼變為onehot是(0,1,0,0,0,0),如果softmax輸出是(0.2, 0.25, 0.2, 0.1,0.15,0.1 ),one-hot仍然是(0, 1, 0, 0, 0, 0),所以對於生成器來說,G輸出了不同的結果但是D給出了同樣的判別結果,並不能將梯度更新資訊很好的傳遞到G中去,所以D最終輸出的判別沒有意義。
2. 另外就是GAN的損失函式是JS散度,JS散度不適合衡量不想交分佈之間的距離。
(WGAN雖然使用wassertein距離代替了JS散度,但是在生成文字上能力還是有限,GAN在生成文字上的應用有seq-GAN,和強化學習結合的產物)