999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于SGAN的中文問答生成研究

2019-04-01 13:11:04瞿遂春任福繼邱愛兵
計算機應用與軟件 2019年2期
關鍵詞:策略模型

沈 杰 瞿遂春 任福繼 邱愛兵 徐 楊

1(南通大學電氣工程學院 江蘇 南通 226019)2(德島大學先端科學技術部 日本 德島 7708506)

0 引 言

20世紀90年代,Brown等提出的統計機器翻譯模型[1]應用于問答系統,提供了有效的相關性特征。2014年, Sutskever等提出基于Sequence to Sequence架構的神經機器翻譯模型[2]。由于問答系統可看作是特殊的翻譯模型,所以使用Seq2Seq框架來實現問答聊天回復的自動生成成為一種可能。然而國內外研究的對話模型多以英文為主,且多有標準的訓練數據集,例如2016年斯坦福大學公開的SQuAD[3]和2018年的CoQA[4]數據集。高質量的中文對話語料缺乏成為限制中文對話模型取得良好效果的關鍵性因素。為了解決數據集的匱乏,Goodfellow 等[5]在2014年提出一種基于博弈論思想的網絡模型,即生成式對抗網絡 GAN。該網絡由生成器(Generator)和判別器(Discriminator)兩部分組成[6]。生成網絡和判別網絡都可以選用目前流行的深度神經網絡結構[7]。GAN網絡的優化目標是達到納什均衡[8],使得生成網絡能夠預測樣本數據的分布。在自然圖像和機器視覺領域,GAN的研究與應用是最廣泛的[9-12]。

中文問答文本的生成是解決離散序列的問題。起初,GAN被設計用來生成實數連續數據,直接生成離散詞序列是十分困難的[13]。另外,GAN只有在生成時才能給出整個序列的得分/損失;對于部分生成的序列,平衡現在和未來的得分作為整個序列得分是很困難的事情[7]。本文僅研究中文開放域問答聊天數據的生成,同時為了解決這兩個問題,設計一種新的序列對抗生成網絡SGAN,對抗訓練出一個生成序列,使得網絡生成的序列和人為給出的序列相似,不易被分辨出來。同時本文采用SeqGAN模型[13]中的思想,將對話生成任務視為一個強化學習[14]的問題,選用Actor-Critic策略評估的方法,替換了蒙特卡洛策略梯度算法[15-16]。同時對新網絡模型用精準率和召回率等評價標準進行了評價實驗。

1 序列生成對抗網絡

1.1 序列生成網絡結構

本文提出的序列生成對抗網絡SGAN是基于GAN模型設計而得的,同樣由生成網絡G和判別網絡D組成。該網絡計算流程如圖1所示。虛線框中的結構是GAN的計算流程[17]。網絡輸入分別為真實數據x和隨機變量z。如果判別網絡D的輸入是人為給定的真實數據x,則標注為1;如果D的輸入是生成樣本數據G(z),則標注為0。判別網絡作為二分類來判斷樣本數據的真和偽。如果判斷結果為真,數據來源于x;如果判斷結果為偽,數據來源于G(z)。為了使G(z)的樣本分布和x表現一致,網絡需要經過無限的迭代優化,使生成器G性能得到提升。對抗網絡問題實質是一個極小-極大的問題,用表示真實樣本數據,是服從均勻分布的隨機噪聲。GAN對抗優化過程如下:

(1)

圖1 SGAN計算流程

1.2 對話生成序列對抗網絡

SGAN中的生成器G采用類似于Seq2Seq(Sequence-to-Sequence)模型為主體的問答回復結構[2,18]。該結構使用遞歸神經網絡將源輸入映射成一個向量表示,然后使用激活函數softmax計算在目標中生成每個序列句子的概率,損失函數用交叉熵。判別器D實質是一個二分類器,采用CNN網絡基礎結構[19]。對話序列{x,y}作為D模型的輸入,輸出一個標簽。標簽指示輸入是人為生成的真實樣本還是機器生成的偽樣本。在給定一個問題的情況下,生成器G通過編碼-解碼過程生成一個偽回復,這個偽回復將和問題構成一個負樣本,相反,問題與訓練數據中人給定的回復構成一個正樣本。處理問答序列設計的SGAN模型的對抗框架如圖2所示。

圖2 SGAN的對話框架

在SGAN結構中,基于Actor-Critic策略梯度[20]算法來訓練生成網絡,根據判別器D的輸出判別概率通過增強學習來更新D,增強學習的獎勵通過D來計算。

1.3 生成網絡和判別網絡

生成器G模型是基于RNN的Seq2Seq。輸入一個序列問題,產生一個序列回復存儲句子的信息或者問題。下式給出了模型輸出預測下一個詞的條件概率。輸出的激活函數為softmax。

(2)

判別器D采用CNN卷積神經網絡結構。本文重點關注判別器預測完整序列是人為真實樣本數據的概率。輸入序列x1,x2,…,xt表示為:

ε1:T=x1⊕x2⊕…⊕xT-1⊕xT

(3)

式中:xt是k維詞向量,⊕是矩陣級聯算子,用內核ω對l個詞進行卷積運算來產生一個新的特征映射:

ci=ρ(ω?εi:i+l-1+b)

(4)

式中:ρ是非線性函數,?運算符是點積和,b是偏值。用不同數量且尺寸不同的內核來提取不同的功能;用最大池化對特征映射ci處理。激活函數為Sigmoid,判別器D的輸出是判別出真實樣本(標簽值為1)的概率。優化目標是最小化值標簽與預測概率之間的交叉熵,表示為:

minEY~pdata[log2D(Y)]-EY~G[log2(1-D(Y))]

(5)

SGAN的訓練偽代碼如下:

Initialize G,D with random weights Pre-train G Generate negative samples using G for training D Pre-train DFor i=1, G-steps do Sample (X,Y) from real data Sample Y^~G(·|X) Compute reward r for (X,Y^) using D Update G on (X,Y^) using rend forFor i=1, D-steps do Sample (X,Y) from real data Sample Y^~G(·|X) Update D using (X,Y) as positive samples and (X,Y^) as neg-ative samplesend for until SGAN converge

2 Actor-Critic策略梯度

序列生成過程是一個連續的決策過程。生成模型被視為強化學習(Reinforce Learning)的主體(agent),狀態(State)是目前為止所生成的詞,動作(Action)是待生成的下一個詞。強化學習的基本流程如圖3所示。

圖3 強化學習流程圖

Actor-Critic策略梯度與對抗網絡GAN結合,可以對網絡模型進行多級優化使其穩定,同時Actor-Critic策略梯度方法能夠很有效處理強化學習中的序列任務[21]。Actor-Critic是一種近似估計的策略梯度方法,所以會不可避免地引入偏差值,容易使模型出現復雜化或者過擬合的現象。

判別器D用來評估序列并反饋評估,以指導生成模式。用Actor-Critic策略梯度直接訓練生成模型,避免了GAN中離散數據的分化困難。強化學習可以解決順序決策過程。將序列生成器建模為選擇下一個詞的策略,可以采用策略梯度方法來優化發生器。SGAN使用基于強化學習的生成器擴展了GAN,可以解決序列生成問題。

使用策略梯度方法是促使生成模型能夠生成與人類話語混淆的語句。將判別模型D判別出真實樣本的概率值視為回報值,用R+{x,y}表示,該回報值可以作為生成模型G的獎勵,并用Actor-Critic算法來訓練出生成模型的最大期望獎勵:

J(θ)=Ey~p(y|x))(R+({x,y})|A(s,a))

(6)

為了保證當前問答狀態的梯度不變,原則是基線函數僅與狀態有關,和行為無關。為了減少方差,使用了基于行為-價值函數減去偏差基線值的方法。式(6)中A(s,a)是優勢評估的行為價值函數。給定一個中文問題序列輸入x,通過該策略抽樣生成回復y,將{x,y}放入判別模型D。基于基線函數的Actor-Critic策略梯度可表示為:

▽J(θ)≈[R+({x,y})-b({x,y})]▽log2π(y|x)=

(7)

式中:π表示生成響應的概率。b({x,y})表示用于減少估計的方差同時保持其無偏差的基線值。判別模型D會以人為生成的對話為正例,機器生成的對話為負例進行同步更新。為了在模型更新時,不同人生成的樣本對應不同的權重且保證人為生成的樣本總具有非負權重值,判別器將對人為生成和機器生成的句子分別打分。如果人為生成的句子高于設定的基值,那么生成器G將對人為生成樣本和分值進行更新。

Actor-Critic策略評估解決了原先蒙特卡洛樹搜索算法帶來的方差較大的問題,文本利用A(s,a)價值函數相對準確地評估狀態價值,并對策略進行及時更新,避免了蒙特卡洛樹搜索方法一個狀態更新N次的繁瑣處理。

3 實驗結果與分析

本文用人人網小黃雞中文閑聊對話語料為預訓練生成模型的數據集。由于高質量的中文對話語料較少,所以模型的真實數據是由一種訓練好的對話數據清洗模型提供。真實數據是來自于45萬多小黃雞問答數據對,用全部數據集對生成模型Seq2Seq模型做預訓練,運用最大似然估計的方法訓練模型,同時加入了小批量訓練的方法。生成模型學習率為0.000 5,有兩層LSTM層共1 024個神經元,梯度最大閾值為5.0,batch_size設置為64,訓練迭代次數為250萬次。圖4為預訓練生成器G的損失曲線。縱坐標是損失值,橫坐標為迭代次數。在訓練至12 000次左右,模型損失已經降到2.5以下,在20 000次左右,loss趨于2.2。此時模型困惑度從45左右降到20附近。模型測試階段使用beam search算法來尋找最優結果[22],并通過設置K=1得到最優的回復。

圖4 損失曲線

由于數據集中存在問題與回復不匹配且低俗暴力的樣本,數據集的內容不能全部認為是人為數據。需要從數據集中挑選質量較高的問答對作為真實數據。本文用訓練好的數據清洗框架Matcher模型[23]對原始數據集進行處理,獲得10萬對小黃雞樣本作為SGAN的真實數據,視為正樣本數據。將10萬對人為樣本放入生成器G,獲得的10萬對機器生成的樣本看作為負樣本數據。

生成器生成一批序列,然后獲得每個詞的獎勵,將序列與其對應的獎勵放入生成器,用策略梯度的方法更新生成器的參數。這個階段,判別器不發生任何改變,只是給出當前生成情況反饋獎勵值。

判別器D的訓練集來自于帶有標簽值為1的真實樣本數據和帶有標簽值為0的生成樣本。判別器是一個二分類的CNN卷積神經網絡,利用交叉熵為損失函數[24]。同樣,判別器也用了最大似然估計的方法作預訓練,輸入四維張量,經卷積池化線性化得到一個二維張量,預訓練中用了L2正則化和Dropout。詞向量維度為64,L2正則化的權重值設置為0.2,dropout值設置為0.7,batch_size為64。

預訓練之后,生成網絡G和判別網絡D被交替地訓練。生成器通過策略梯度更新參數訓練得到進步,判別器需要定期重新訓練,以保持和生成器的同步更新。用不同的負樣本和正樣本組合的方法減少估計的差異。

實驗中發現,當生成器G收斂速度提高,判別器D往往得不到充分的訓練,導致一直提供錯誤反饋;當增加判別器的訓練次數,訓練不穩定情況會得到緩解;用固定的正樣本和不同的負樣本混合,可以獲得多個數據集;當判別器給出多個偽樣本時,強調正樣本,可以給判別器更好的學習指導。

3.1 模型評價

由于計算困惑度是評價模型和某些數據吻合度的一個很好的指標,但是它不適合于對話模型的評價。雖然基于N-gram算法的BLEU[25]在機器翻譯是權威的評判標準,但是同樣不適于對話系統,原因是重疊詞與給定回復的沖突評價。人為評估方法雖然是理想的,但是沒有很好的擴展性與可解釋性[26-27]。本文評價模型根據召回率[28-29]和識別精確度[29-30]的綜合評價指標來定性評判模型。精確率是就判別結果而言,表示判別為真的樣本中有多少是真實數據提供的正樣本。召回率是針對樣本數據的,表示樣本中正樣本有多少被判別正確,即判別出人為提供的真實樣本。圖5給出的是模型訓練召回率和精確率的關系分布。

圖5 SGAN評價指標關系分布

圖5中橫坐標為判別器D的精確率,縱坐標為召回率。由圖5可以得到,隨著對抗模型訓練無限的迭代,判別準確率精度越來越高的同時召回率越來越低,意味著生成器G生成的偽樣本和真實樣本越來越相近,同時判別器D越來越難區分樣本的來源是正樣本還是負樣本。直至模型收斂,召回率為0時,判別器已經無法分辨對話樣本數據來源,達到實驗目的。

為了進一步直觀地評價問答效果,本文還補充了問答相關性的評價試驗。基于余弦相似性原則,對平均和貪婪兩個指標對問答句中的單詞向量進行匹配測試。相關性評價得分結果如表1中給出。

表1 相關性評價指標得分

由表1可看出,序列對抗模型SGAN的問答效果要優于Seq2Seq。由于Seq2Seq模型本身并未考慮問答的多樣性和信息性,所以本文并未對回復多樣性進行實驗驗證。

3.2 實 例

為了直觀地表現對抗模型和Seq2Seq模型的回復性能,表2給出了一些兩模型就單輪對話回復的實例。比較兩個模型,可以發現SGAN序列對抗模型可以生成內容更為豐富的回復,比Seq2Seq回復效果要好,且生成的對話皆可作為真實樣本數據供以后優化模型訓練使用。

表2 模型生成對話回復的樣本實例

4 結 語

本文主要為了解決中文對話語料的缺乏,提出一種基于對抗模型的序列對抗模型SGAN來生成單輪對話。為了有效地訓練序列對抗網絡,本文使用Actor-Critic梯度評估方法。為了解決模型獎勵的及時反饋問題,使用了基線行為函數代替蒙特卡洛樹搜索的方法,同時降低了系統方差。本文用召回率和精確率作為模型的評價指標,同時使用輔助的問答相關性指標對所提模型進行直觀的測試。實驗表明,提出的對話序列對抗模型能夠生成足夠的中文對話樣本來混淆人為提供的樣本,對中文對話數據集的構建和優化對話模型有重要的指導意義。

猜你喜歡
策略模型
一半模型
基于“選—練—評”一體化的二輪復習策略
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
求初相φ的常見策略
例談未知角三角函數值的求解策略
我說你做講策略
高中數學復習的具體策略
數學大世界(2018年1期)2018-04-12 05:39:14
3D打印中的模型分割與打包
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
主站蜘蛛池模板: av在线人妻熟妇| 国产午夜小视频| 无码专区在线观看| 欧美日韩高清| 成人精品区| 亚洲AV无码一区二区三区牲色| 国产精品三级av及在线观看| 欧洲免费精品视频在线| 亚洲综合色区在线播放2019| 国产真实乱了在线播放| 视频一本大道香蕉久在线播放| 欧美一区二区三区欧美日韩亚洲| 欲色天天综合网| 中文字幕 欧美日韩| 不卡无码网| 日韩精品一区二区三区免费在线观看| 日本www在线视频| 九九这里只有精品视频| 第一页亚洲| 欧美一区二区三区不卡免费| 免费毛片网站在线观看| 亚洲欧美在线综合图区| 亚洲婷婷丁香| 日韩精品欧美国产在线| 久久久国产精品免费视频| 麻豆AV网站免费进入| 99激情网| 国产精品自拍露脸视频| 欧美一级黄色影院| 午夜丁香婷婷| 成色7777精品在线| 色综合国产| 欧美精品影院| 91一级片| 亚洲二区视频| 亚洲欧洲自拍拍偷午夜色| 在线视频亚洲色图| 性欧美久久| 国产va在线观看| 老司国产精品视频91| 国产拍在线| 久久精品视频一| 5555国产在线观看| 国产区精品高清在线观看| 亚洲婷婷六月| 特级精品毛片免费观看| 亚洲日韩高清无码| 亚洲自偷自拍另类小说| 99热6这里只有精品| 国产亚洲精品自在久久不卡| 黄片一区二区三区| 手机在线国产精品| 91啪在线| 中文字幕资源站| 国产毛片高清一级国语| 国产精品一区在线麻豆| 国产午夜精品鲁丝片| 日本黄色a视频| 日本免费一级视频| 高清无码一本到东京热| 中文字幕有乳无码| 综合久久五月天| yjizz视频最新网站在线| 国产在线专区| 女高中生自慰污污网站| 久久国产成人精品国产成人亚洲| 亚洲激情区| 夜精品a一区二区三区| 午夜爽爽视频| 欧美日韩国产一级| 伊人色天堂| 午夜精品福利影院| 在线a视频免费观看| 亚洲人成人无码www| 欧美区日韩区| 国产乱码精品一区二区三区中文 | 国内精自视频品线一二区| www精品久久| 国产一级妓女av网站| 日韩色图区| 99精品免费在线| 少妇精品在线|