• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    引入自編碼機制對抗網絡的文本生成模型*

    2020-10-10 02:39:50孫天岳趙啟濤
    計算機工程與科學 2020年9期
    關鍵詞:鑒別器創(chuàng)新性文本

    韓 虎,孫天岳,趙啟濤

    (1.蘭州交通大學電子與信息工程學院,甘肅 蘭州 730070; 2.甘肅省人工智能與圖形圖像工程研究中心,甘肅 蘭州 730070)

    1 引言

    文本生成是自然語言處理NLP(Natural Language Processing)的熱點研究內容,其研究如何使機器熟練地使用自然語言與人類一樣進行表達和寫作,主要應用在:機器翻譯[1]、自動摘要[2]和對話系統(tǒng)[3]等。一般是指將文本、語音、圖像、視頻等作為輸入,產生文本數(shù)據(jù)的過程,目前研究的主流是對源文本的特征提取、風格模擬,以產生與源文本含義相似的文字。

    基于神經網絡的文本生成模型是近幾年的研究熱點,研究人員使用卷積神經網絡CNN(Convolutional Neural Network)[4]、循環(huán)神經網絡RNN(Recurrent Neural Netowrk)[5]、長短時記憶網絡LSTM(Long Short-Term Memory)[6]和對抗神經GAN(Generative Adversarial Network)[7]網絡等研究文本生成問題,從目前的效果來看,生成的文本仍然差強人意。主要存在以下問題:(1)對書寫符號只能仿照使用,無法熟練運用。(2)文本創(chuàng)新性不足。生成的文本容易出現(xiàn)對源文本的仿照,沒有創(chuàng)新性的句子與詞匯產生。(3)目前的模型對短文本可以取得較好的生成結果,例如古詩詞、對聯(lián)等形式的文本,但對長文本(一般認為在140個字符以上[8,9]),如文本摘要、歌曲創(chuàng)作等,會出現(xiàn)模型難收斂、計算量大、訓練維度不可控等問題。

    基于上述背景,本文提出編碼解碼連接對抗網絡EAD_GAN(Encoder and Decoder GAN)模型,擬解決基于對抗網絡的長文本生成問題。模型主要結合自編碼器Auto-Encoder[10]、交叉熵[11]和強化學習[12]技術,改進GAN網絡。首先使用自編碼模塊提取原文本特征,之后將隨機數(shù)據(jù)通過前饋網絡轉換成具有原文本特征信息的數(shù)據(jù),將其作為生成器的輸入,生成器使用LSTM網絡,鑒別器使用CNN網絡。最后解決生成文本的創(chuàng)新性不足問題,引入強化學習和交叉熵作為鑒別器中句子級和單詞級的獎勵,提高文本生成的質量。

    2 相關工作

    2011年Sutskever等人[13]在會話方面解決了RNN訓練困難的問題,使用RNN成功生成文本;2012年He等人[14]在統(tǒng)計模型基礎上,為每一行古詩進行特定訓練,生成中國古詩;在此基礎上,2014年Zhang等人[15]使用RNN學習到單個字符的多種不同組合,解決了多個字符間關聯(lián)的問題,使產生的詩歌更流暢。同年,Sutskever等人[16]使用了Seq2Seq(序列到序列模型)模型,使模型可以學習到詞組組合、主動語態(tài)和被動語態(tài)的表示,并且對自然語言處理的各個研究領域產生了重大影響。2016年 Wang等人[17]在前人基礎上使用帶注意力機制的模型,實現(xiàn)了詩歌的多樣性生成。

    2015年Wen等人[18]使用LSTM模型通過簡單的交叉熵訓練,使生成的語句很容易地實現(xiàn)語言變化,提高了對話系統(tǒng)的真實性。2018年Tan等人[19]引入門控分層LSTM模型,在問答系統(tǒng)中取得了較好的成績。

    2014年Cho等人[20]使用編碼解碼模型和卷積門控遞歸網絡,使產生的文本具有明顯的語法結構。同年Bahdanau等人[21]在模型中加入軟注意力機制匹配原句中與預測目標詞相關的部分,提高了長文本生成的準確率。

    2014年Goodfellow 等人[7]提出對抗生成神經網絡GAN,GAN模型啟發(fā)于博弈論中的二人零和博弈,GAN 模型中的博弈雙方就是生成器和鑒別器。生成器盡可能生成假數(shù)據(jù)騙過鑒別器,而鑒別器學習真實數(shù)據(jù)后,區(qū)分真實數(shù)據(jù)和生成數(shù)據(jù),當鑒別器無法鑒別生成器生成的數(shù)據(jù)時就達到了平衡。Zhang等人[22]提出了TextGAN模型,鑒別文本生成好壞的任務就由鑒別器來處理,通過更新參數(shù)和對參數(shù)優(yōu)化,直至生成文本與真實文本無法分辨。由于GAN網絡對于離散數(shù)據(jù)的采樣過程是不可微的,Kusner等人[23]使用Gumbel-softmax GAN網絡模型,解決了離散數(shù)據(jù)在訓練過程中梯度不可傳遞的問題,并成功地應用于文本生成任務。Yu等人[24]提出SeqGAN模型,將強化學習中的蒙特卡洛搜索樹[25]加入GAN中,提高生成文本的質量。目前,較多學者將GAN應用于文本生成任務時,都在模型中加入了強化學習來提高生成的效果。而SeqGAN模型的創(chuàng)新之一,就是使用蒙特卡洛搜索樹來提高生成單詞的獎勵,并且獎勵能夠影響梯度的變化。

    3 EAD_GAN模型

    本文使用的GAN模型的公式表達為:

    EZ~PG[1-logD(G(Z))]

    (1)

    其中,EX~Pdata代表服從真實數(shù)據(jù)分布的X訓練鑒別器,EZ~PG代表服從隨機數(shù)據(jù)分布的Z訓練生成器和鑒別器,G代表生成器,D代表鑒別器,G(Z)表示生成數(shù)據(jù),D(X)表示真實數(shù)據(jù)。

    本文提出的EAD_GAN模型將編碼器和解碼器融入到GAN中,充分利用編解碼模型獲取特征的能力,提取關鍵特征。EAD_GAN模型的結構如圖1所示。

    Figure 1 Structure of EAD_GAN model 圖1 EAD_GAN模型結構圖

    3.1 生成器(Generator)

    生成器分為2個部分:自編碼部分和強化學習部分。自編碼部分使用Auto-Encoder模型,目的是使隨機生成的數(shù)據(jù)更符合真實數(shù)據(jù)的分布,同時加快訓練的過程。強化學習部分使用強化學習對模型進行訓練,使用真實數(shù)據(jù)對鑒別器進行訓練,對生成的單詞和句子進行獎勵指導。

    生成器的自編碼部分包含3個模塊:編碼器模塊、連接模塊和解碼器模塊。編碼器模塊和解碼器模塊都是由自動編碼器實現(xiàn)的,對真實文本的數(shù)據(jù)利用序列到序列模型Seq2Seq提取特征。連接模塊使用前饋神經網絡學習參數(shù),使真實文本的上一句的特征表示通過前饋網絡可以學習到下一句的特征,然后將隨機數(shù)據(jù)放入前饋網絡中已經訓練好的參數(shù)中,生成特征數(shù)據(jù),如圖2所示。

    Figure 2 Three modules of self coding part in EAD_GAN 圖2 EAD_GAN自編碼部分的3個模塊

    3.1.1 編碼器模塊

    hfront=Encoder(yfront)

    (2)

    (3)

    (4)

    3.1.2 解碼器模塊

    hback=Encoder(yback)

    (5)

    (6)

    解碼器模塊的損失函數(shù)定義如下:

    (7)

    3.1.3 連接模塊

    連接模塊是連接2個模塊的橋梁,也是保證能夠學習到文本的真實數(shù)據(jù)分布的關鍵一步。 連接模塊的目的是確保隨機生成的文本在語義上和真實文本相同。簡單起見,模型只使用簡單的前饋網絡g(a),前饋網絡的定義為:

    g(a(l))=Sigmoid(W(l)*a(l-1)+b(l))

    (8)

    其中,a(l-1)表示第l-1層神經元的輸出,W(l)表示從第l-1層到第l層的權重矩陣,b(l)表示從第l-1層到第l層的偏置,g(a(l))表示第l層神經元的輸出,本文使用Sigmoid函數(shù)作為激活函數(shù)。

    連接模塊Mθ3將hfront作為前饋網絡的輸入,目標為hback,對前饋網絡的參數(shù)θ3進行約束,要求滿足L2范式,使模型不會過擬合,并且可以學習到真實數(shù)據(jù)分布。公式表達為:

    hback=g(hfront)

    (9)

    (10)

    3.1.4 強化學習部分

    Figure 3 Reinforcement learning model in generator in EAD-GAN 圖3 EAD_GAN生成器中的強化學習模型

    生成器中的期望可表示為:

    J4(θG)=

    (11)

    其中,sn為生成器生成的句子,且通過了鑒別器的鑒別。

    同時得到生成器總期望為:

    JG(θ1,θ2,θ3,θG)=

    J4(θG)+γ[J1(θ1)+J2(θ2)+J3(θ3)]

    (12)

    其中,γ是可動態(tài)調整的參數(shù)。

    3.2 鑒別器(Discriminator)

    鑒別器采用CNN網絡,是一個二元分類器,用來判斷一個句子是生成數(shù)據(jù)還是真實數(shù)據(jù)。輸出的值是0~1的數(shù),代表該句子是真實數(shù)據(jù)的概率。鑒別器引入交叉熵函數(shù),構建單詞級獎勵和句子級獎勵,希望產生創(chuàng)新性語句。

    3.2.1 單詞級獎勵

    將生成器生成的所有句子放入鑒別器中,把鑒別值大于0.5的句子,組成一個生成集合S={s1,s2,…,sn},對生成集合中每個句子相同位置上單詞(即節(jié)點)的獎勵全部相加求平均,得到的平均數(shù)作為該位置的單詞級獎勵,同時引入交叉熵作為創(chuàng)新性的體現(xiàn)。交叉熵定義公式為:

    loss=-tlogp-(1-t)log(1-p)

    (13)

    其中,t為類別,p為該類別的概率值。本文把真實數(shù)據(jù)和生成數(shù)據(jù)認為是2種類別,分別對應0和1,則式(13)可簡化為:

    loss=-logp

    (14)

    單詞級獎勵定義如下:

    (15)

    其中,γ′是學習率,D(si)是通過鑒別器的句子得到的獎勵分數(shù)。

    3.2.2 句子級獎勵

    句子級獎勵是所有單詞級獎勵的累加和求平均,如式(16)所示:

    (16)

    4 實驗設置和結果分析

    4.1 隨機文本數(shù)據(jù)的生成

    利用LSTM網絡生成100 000個長度為30個字符且服從標準正態(tài)分布的數(shù)據(jù)作為真實數(shù)據(jù),標記為1,代表真實數(shù)據(jù)。使用生成器中的自編碼模塊,學習前句與后句的特征表示,訓練10輪,將隨機數(shù)據(jù)作為前饋神經網絡的輸入(即圖2中連接模塊里隨機數(shù)據(jù)),通過前饋神經網絡的計算得到圖2中的特征數(shù)據(jù),將特征數(shù)據(jù)標記為0。特征數(shù)據(jù)和真實數(shù)據(jù)共同訓練鑒別器并加入L2正則化防止過擬合。

    本文使用BLEU(BiLingual Evaluation Understudy)[26]評價生成的序列。這是由IBM在2002年提出的機器翻譯自動評測方法,同時也適用于文本生成的效果評價,BLEU采用的方法是統(tǒng)計同時出現(xiàn)在系統(tǒng)給定的譯文中和人類專家寫出的參考譯文中的n元詞的個數(shù),最后用匹配到的n元詞的數(shù)目除以系統(tǒng)全文的單詞數(shù)目,得到評測結果。本文采用BELU中BELU-2、BELU-3和BELU-4 3種評價指標對生成的文本進行評價。

    為了評估本文提出的EAD_GAN模型在文本生成任務中的表現(xiàn),將其與在文本生成上取得效果的其他模型:RNN、Gumbel-softmax GAN和SeqGAN進行對比。

    (1)RNN[5]:RNN是在文本生成中最早使用且取得較好結果的深度學習模型之一。本文實驗中學習模型和生成模型都為RNN,學習模型的最后隱藏狀態(tài)作為生成器的輸入,再由生成器生成文本。

    (2)Gumbel-softmax GAN[23]: 基于Gumbel-softmax分布解決離散對象的分布采樣過程是不可導的問題,生成的文本也具有一定的可讀性與連貫性。生成模型和判別模型都為LSTM模型,參數(shù)通過基于梯度的算法進行更新。

    (3)SeqGAN[24]:SeqGAN是近幾年文本生成中影響力較大的模型,較Gumbel-softmax GAN更好地解決了文本離散化參數(shù)不易更新的問題。Yu等人[24]把GAN網絡看作強化學習系統(tǒng),用Policy Gradient算法更新生成器的參數(shù);用蒙特卡洛搜索樹更新Discriminator的參數(shù),并且可以對模型中任意時刻的非完整序列文本進行評估,以提高文本生成的速度和質量。

    EAD-GAN與當前流行的文本生成模型進行比較的實驗結果如表1 所示。

    Table 1 Performance comparison of various models表1 各種模型實驗性能對比結果 %

    首先,通過表1可以看出,本文提出的EAD-GAN模型,在BELU-2、BELU-3指標上比Gumbel-softmax GAN和SeqGAN更好。其次,模型通過預先訓練提取出文本特征,使生成文本接近真實數(shù)據(jù)。但是,BELU-4指標低于SeqGAN模型的,主要因為鑒別器中加入了交叉熵獎勵,希望生成的文本在意思不變的情況下,用詞更具有新穎性,所以得到的準確率較低;并且實驗數(shù)據(jù)為隨機無意義文本,更加客觀地驗證了模型學習特征的能力;最后,通過表1可以得出GAN網絡對數(shù)據(jù)的預處理方法越精準,準確率也越高的結論。

    4.2 真實文本數(shù)據(jù)的文本生成

    實驗數(shù)據(jù)為周杰倫的全部歌曲,包括著名的《稻香》《牛仔很忙》和《七里香》等歌曲,共計56 000字。

    評價指標包括:風格性、創(chuàng)新性和連貫性(如表2所示),每個指標的分值為 1~10,分值越高,代表生成歌詞與相應指標的效果描述越接近。

    Table 2 Evaluation indexes of Jay Chou’s lyrics表2 周杰倫歌詞評價指標

    對比模型與4.1節(jié)中的對比模型相同,本文實驗都是使用PyTorch深度學習框架編寫代碼,并在NVIDIA Geforce GTX 1080 GPU上進行實驗。因為訓練的數(shù)據(jù)較大,故只記錄5 000個字表。未記錄的字表,統(tǒng)一使用〈unk〉表示。

    具體參數(shù)設置如表3所示。

    Table 3 Experimental parameters表3 實驗參數(shù)表

    文本生成模型可以生成多種形式的結果,表4中形式為其中之一。歌詞中的u是沒有登錄在詞表中的數(shù)據(jù),表示未知詞。

    Table 4 Generation of Jay Chou’s lyrics 表4 周杰倫歌詞生成展示

    周杰倫的歌曲以情歌為主,通過表4可以看出,生成的歌詞符合周杰倫歌曲創(chuàng)作的風格;歌詞整體上邏輯清楚,但也存在不連貫之處,如:文本中的“我知道你再原始無時間”。當然也出現(xiàn)了創(chuàng)新性歌詞,如:“乾凈”。

    實驗評價采用人為打分,在高校中對周杰倫的歌迷群體采用調查問卷的形式得到評分。受調查者都為大學本科及以上學歷的在讀學生,其中女生占比70%,具有較高的可信度。發(fā)放調查問卷500份,其中有效問卷424份。從風格性、創(chuàng)新性和連貫性3個方面進行打分評價,每一項滿分10分。

    實驗評價結果如表5所示。

    Table 5 Indexes and average scores表5 指標及其平均分值

    通過表5可以清晰地看出,本文所提出的模型在3個指標上都超過對比模型。其中,風格性指標變化不大,主要是加入自編碼模塊充分學習到了原文的特征數(shù)據(jù);創(chuàng)新性的提升幅度最大,展示出交叉熵對模型效果的提升作用。

    5 結束語

    通過4.1節(jié)實驗可以看出,在GAN網絡中加入自編碼模塊后學習到特征信息,提高模型的準確性,在鑒別器中加入交叉熵可以使模型更具有新穎性。通過4.2節(jié)實驗可以看出,本文模塊生成的中文文本具有較高的質量,這充分肯定了本文的工作。下一步考慮將文本的結構、敘述的順序等信息加入模型,使模型深層次地學習到高維特征,同時兼顧文本的創(chuàng)新性,增加文本的可理解性、連貫性等。

    猜你喜歡
    鑒別器創(chuàng)新性文本
    基于多鑒別器生成對抗網絡的時間序列生成模型
    通信學報(2022年10期)2023-01-09 12:33:40
    流動幾何的創(chuàng)新性
    在808DA上文本顯示的改善
    衛(wèi)星導航信號無模糊抗多徑碼相關參考波形設計技術*
    基于doc2vec和TF-IDF的相似文本識別
    電子制作(2018年18期)2018-11-14 01:48:06
    陣列天線DOA跟蹤環(huán)路鑒別器性能分析
    論媒介文化的混雜性與創(chuàng)新性
    學習月刊(2016年4期)2016-07-11 02:54:08
    忠實性與創(chuàng)新性——當代莎士比亞演出和改編批評的轉向
    文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學隱喻
    成公綏賦作的模式化與創(chuàng)新性
    劍南文學(2015年2期)2015-02-28 01:15:25
    商南县| 洛阳市| 抚州市| 德州市| 文山县| 吉木乃县| 灵丘县| 永寿县| 霸州市| 浙江省| 兴安县| 修文县| 清水县| 新安县| 韶山市| 信宜市| 阳东县| 云梦县| 老河口市| 澄迈县| 内黄县| 南康市| 大安市| 西青区| 仲巴县| 宜都市| 翁牛特旗| 和硕县| 宜阳县| 扶风县| 随州市| 长治县| 南川市| 集贤县| 双柏县| 桐城市| 呼图壁县| 鹿泉市| 旌德县| 自治县| 福州市|