记录一次与大神们的关于GAN应用于NLP的讨论 (后续)
這次的討論可能是因?yàn)轭}目不夠大眾,或者是做這方面的同學(xué)們太過(guò)羞澀,因此討論的內(nèi)容基本偏題,最后形成了大家自由討論的局面。但是只要仔細(xì)觀察,是可以看到其中是有著耀眼的閃光點(diǎn)的,至少對(duì)于我來(lái)說(shuō)是這樣的。
重申以下觀點(diǎn):下邊的討論問(wèn)題與解答有些是文不對(duì)題的,首先是因?yàn)榘凑瞻l(fā)言順序整理,難免有插話的存在;第二,因?yàn)樵谟懻撝写蠹业年P(guān)注點(diǎn)比較集中,很多問(wèn)題的討論最后都會(huì)歸納到幾個(gè)矛盾點(diǎn)上;還有就是有些內(nèi)容關(guān)注的人并不是很多,因此也沒(méi)有討論出什么結(jié)果。另外,下邊的問(wèn)題有主題人按照議程提出的,有的是在討論過(guò)程中同學(xué)們提出的。
最后,以下記錄不代表本人立場(chǎng),也不代表正確的解答。只是討論記錄。
那,繼續(xù)GAN
今天的主題是GAN4NLP~~~```A: 第一個(gè)話題是GAN for 對(duì)話系統(tǒng)
首先,我要問(wèn)一下,這個(gè)話題的研究現(xiàn)狀,有哪些方法?
(直接偏題)...
B: 大家有做對(duì)話評(píng)價(jià)的嗎,gan能不能用在評(píng)價(jià)里面呢?
C: 對(duì)話評(píng)價(jià)感覺(jué)可以用gan做,嗯對(duì)話評(píng)價(jià)是其中一個(gè)子問(wèn)題,能不能說(shuō)下目前主流用什么方法做,是類似BLEU這些指標(biāo)么?
D: 對(duì),現(xiàn)在主要還是套用機(jī)器翻譯的評(píng)價(jià)指標(biāo),居多
E: 那gan理論上應(yīng)該可以學(xué)到一個(gè)更自然的評(píng)價(jià)指標(biāo)
F: 生成式對(duì)話的評(píng)價(jià),做的人好像不多
G: 問(wèn)題是這樣不好比較啊,不同的人訓(xùn)練的評(píng)價(jià)器/判別器不一樣,得到的評(píng)分沒(méi)法對(duì)比
H: 我沒(méi)想明白怎么應(yīng)用gan到評(píng)價(jià)里面
I: 或許可以這樣:D判斷對(duì)話是否“自然”,G生成對(duì)話,D的輸出可以當(dāng)做評(píng)價(jià)指標(biāo)
J: D輸出的概率值可以作為評(píng)價(jià)指標(biāo)
K: 評(píng)價(jià)指標(biāo)不能單從通順來(lái)判斷吧
L: 的確不能單靠通順,還要看是否符合當(dāng)前上下文
M: 不只是通順吧,D學(xué)到最后應(yīng)該具有判斷上下文符合程度的能力
N: 但是最主要的問(wèn)題是,憑什么用你訓(xùn)出來(lái)的 D 評(píng)價(jià)不用我的呢
O: nlp的世界中有一個(gè)跟imagenet一樣令人信服的數(shù)據(jù)集,跑出一個(gè)類似inception network的模型,搞一個(gè)類似inception score的指標(biāo),除非這種情況不然的確很難統(tǒng)一
P: 對(duì)話系統(tǒng),Adversarial Learning for Neural Dialogue Generation 之前搜到這篇比較符合, 讀過(guò)的相關(guān)論文同學(xué)能共享下最近的paper嗎(有一個(gè)同學(xué)回到了主題)
Q: 判斷是否符合上下文,其實(shí)是一個(gè)conditional generation的問(wèn)題,gan做conditional generation有一些套路,比如把那個(gè)condition(label啊上下文啊)跟生產(chǎn)的內(nèi)容一起給判別器,要求判別器判斷是否匹配
R: 用GAN的方法做評(píng)價(jià),只能說(shuō),它是適合當(dāng)前的數(shù)據(jù)集的,換一個(gè)數(shù)據(jù)集不一定適用呢,畢竟還有文本風(fēng)格的問(wèn)題在里面
S: 如果你問(wèn)的是能不能作為一個(gè)評(píng)價(jià)指標(biāo),那gan應(yīng)該是不行的,但是你說(shuō)在一次訓(xùn)練中用來(lái)評(píng)價(jià)對(duì)話的好壞,進(jìn)而輔助對(duì)話模型的訓(xùn)練,這是可以的
T: 我覺(jué)得gan用在對(duì)話上就是把重點(diǎn)放在做生成上,gan做不了評(píng)價(jià)指標(biāo)。基本上gan訓(xùn)練完我們是把判別器扔掉的,沒(méi)有用到
因?yàn)榕袆e器是會(huì)過(guò)擬合到當(dāng)前訓(xùn)練任務(wù)的
U: 我見(jiàn)過(guò)唯一一個(gè)有用到判別器的case,應(yīng)該是gan做半監(jiān)督學(xué)習(xí),不知道有沒(méi)有別的
V: gan的判別器是用BLEU+RL嘛?或者其他指標(biāo)+RL
W: GAN的判別器是可以替代BLEU,變成GAN+RL吧
X: 純粹RL做文本生成的話,是用BLEU沒(méi)錯(cuò),但是如果用上gan,那gan判別器的輸出就代替了BLEU的角色
Y: Adversarial Learning for Neural Dialogue Generation應(yīng)該是比較經(jīng)典的一篇
Q: 編碼層怎么做對(duì)抗訓(xùn)練?大概講一下思路?
A: 讓編碼層像一個(gè)高斯分布,編碼分布為生成分布,高斯分布為真實(shí)分布,用gan對(duì)抗拉近,放個(gè)圖
Q: 判斷編碼層是真實(shí)的編碼還是直接生成器產(chǎn)生的?
A: 對(duì)
Q: 這個(gè)用VAE是不是更合適?
Q: AAE
A: 對(duì)就是AAE,它的好處是避開(kāi)了文本的離散形式
Q: 可能VAE和這種方式差不多,但AAE好像容易理解點(diǎn)
A: 嗯,編碼是連續(xù)的
A: 本來(lái)文本是離散的,不可微,沒(méi)法直接用gan訓(xùn)練,只好用RL的形式來(lái)做,但是AAE直接跑到中間編碼層去做對(duì)抗訓(xùn)練,避開(kāi)了這個(gè)問(wèn)題
Q: 用aae主要解決什么問(wèn)題?
A: 最重要的就是解決離散樣本不可微的問(wèn)題
Q: 但是AAE最后也要把編碼翻譯成句子吧?這個(gè)還是避免不了離散的問(wèn)題,是這樣嗎?
A: 但是不需要在句子那邊求導(dǎo)了
Q: AAE感覺(jué)就像一種對(duì)編碼方分布的正則而已
A: 是這樣的,原始gan的思路是從一個(gè)高斯分布映射到文本分布,要求生成的文本逼真,但是不好求導(dǎo),AAE是建立真實(shí)文本分布到一個(gè)未知分布的可逆映射,然后要求這個(gè)未知分布像高斯分布,把思路顛倒過(guò)來(lái)了,再次上圖
A: 可以對(duì)比一下這張圖里面的AAE和GAN
B: 真實(shí)數(shù)據(jù)不一定符合高斯分布吧
C: 編碼可以啊,我們讓它符合高斯分布就讓它符合唄,這很合理
D: 為什么要讓中間層逼近高斯啊
E: 編碼可以要求是高斯分布的,VAE就是那么干的,把未知分布映射到高斯分布
F: 只是一個(gè)選擇,逼近別的分布比如uniform分布也可以,具體哪個(gè)更好得看實(shí)驗(yàn)結(jié)果吧
G: 可能高斯分布比較好優(yōu)化
H: 這種自編碼器如何應(yīng)用呢
I: 我覺(jué)得可以把gan訓(xùn)練做為一個(gè)輔助任務(wù),放在正常對(duì)話生成模型旁邊,然后讓對(duì)話生成的decoder跟AAE的decoder共享參數(shù)
J: Adversarially Regularized Autoencoders for Generating Discrete Structures這篇好像就跟AAE略有不同,是用一個(gè)生成器去生成中間層編碼,而不是直接要求中間層編碼滿足高斯分布
A: 如果從文本生成圖像,是不是都不把編解碼放在GAN中,最近看了相關(guān)的幾篇paper,對(duì)文本都是先用RNN做編碼,然后直接當(dāng)做條件做生成
B: 文本生成圖像,文本的編碼是作為條件輸入的
C: 這也是一個(gè)套路,conditional generation
D: 這個(gè)思路我之前做過(guò),但是解釋不通
E: 是用上下文做為condition嗎,可以具體說(shuō)說(shuō)方案嗎
D: 是的,和老師聊了,理論上過(guò)不去,效果不好,就沒(méi)有調(diào)參
F: 這樣子,為什么理論上過(guò)不去
D: 因?yàn)槟憔幋a器得到的是輸入句子的編碼,解碼之后還是原始句子
G: 而現(xiàn)在input 和output sequence不是同一個(gè)?所以有問(wèn)題?
D: 嗯,對(duì)話生成不是這樣的,我當(dāng)時(shí)做的比這個(gè)復(fù)雜,我做了3個(gè)模塊,一個(gè)是上下文編碼,一個(gè)是自編碼,一個(gè)是解碼
H: 如果你是在中間編碼層加對(duì)抗,那的確不合理,但是在output sequence上用RL加對(duì)抗,就講得通吧
I: 如果說(shuō)把文本也做一個(gè)編解碼器,用GAN和VAE聯(lián)合的那個(gè)框架,不知道有沒(méi)有搞頭?
A: 我想討論 關(guān)于 訓(xùn)練集很少的情況下,是否可以用GAN來(lái)提高模型
B: 你這個(gè)是半監(jiān)督學(xué)習(xí)的問(wèn)題
C: 有用gan,或者應(yīng)該說(shuō)是對(duì)抗訓(xùn)練,來(lái)做文本分類的半監(jiān)督學(xué)習(xí),也算gan for nlp吧
D: 因?yàn)閞l的reward,不是固定的某個(gè)度量,d可以根據(jù)場(chǎng)景學(xué)習(xí)reward 倒逼g
E: 而認(rèn)為是一個(gè)比較“自然”的度量?
F: 我覺(jué)得他的reward很靈活 而且隨著g的改變d也會(huì)訓(xùn)練適應(yīng)
G: 就是找到了一個(gè)更好的supervise信號(hào),不過(guò)這個(gè)信號(hào)很不穩(wěn)定啊
H: 不是固定的,嗯 有得有失
I: 以前是深度學(xué)習(xí)替代了feature engineering,現(xiàn)在有可能gan替代loss engineering嗎
somebody: 這可能是一個(gè)趨勢(shì)哈哈
somebody: 感覺(jué)還是要設(shè)計(jì) loss
... ...
...
第二個(gè)討論的話題:GAN for 標(biāo)題生成。首先,誰(shuí)來(lái)講一下標(biāo)題生成是個(gè)什么任務(wù)?
A: 類似于summary嗎?
B: 根據(jù)摘要生成標(biāo)題
C: GAN用于摘要生成,現(xiàn)有的摘要生成評(píng)價(jià)體系也沒(méi)有統(tǒng)一的吧,如何來(lái)設(shè)計(jì)判別函數(shù)。
D: 我覺(jué)得論文標(biāo)題生成倒有戲,1,數(shù)據(jù)好找,2,abstract質(zhì)量高,數(shù)據(jù)直接遍歷arxiv
E: Abstractive Text Summarization using Sequence-to-sequence RNNs andBeyond(劃重點(diǎn))
F: 想過(guò)是不是他的rl改成gan。 不是固定用rouge l 不知道大家有沒(méi)有方法,他其實(shí)還是常用的加rl方法 但論文每周讀的兄弟提了 rl的reward用最終的評(píng)價(jià)函數(shù)。有點(diǎn)為跑分而跑分
G: 這種訓(xùn)練時(shí)直接用評(píng)價(jià)指標(biāo)當(dāng)reward的做法感覺(jué)很不好
H: 設(shè)計(jì)個(gè)d來(lái)reward?
I: 我覺(jué)得如果有n個(gè)指標(biāo)可以用,應(yīng)該訓(xùn)練用一個(gè)指標(biāo),評(píng)價(jià)用其他n - 1個(gè)指標(biāo),類似k fold cross validation
J: 嗯 其實(shí)他也這么做了,這樣做會(huì)魯棒一些
K: 是不是以前用rl的方法 如果能設(shè)計(jì)d來(lái)做的話就有機(jī)會(huì)提升?
L: 感覺(jué)是,BLEU也會(huì)過(guò)擬合吧
M: 不妨試試標(biāo)題生成,數(shù)據(jù)集也有了
N: 可能可以哦 找個(gè)d 區(qū)分生成的標(biāo)題和真正的標(biāo)題,有點(diǎn)像seqgan 但d不用cnn用rnn可能可以試試
作者:加勒比海鮮王
鏈接:https://www.jianshu.com/p/92f6624135be
來(lái)源:簡(jiǎn)書
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
總結(jié)
以上是生活随笔為你收集整理的记录一次与大神们的关于GAN应用于NLP的讨论 (后续)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 记录一次与大神们的关于GAN应用于NLP
- 下一篇: GAN原理潜析