91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

文本生成領域一些常見的模型進行了梳理和介紹

深度學習自然語言處理 ? 來源:貝殼智搜 ? 2020-08-28 10:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文章對文本生成領域一些常見的模型進行了梳理和介紹。Seq2Seq 是一個經(jīng)典的文本生成框架,其中的Encoder-Decoder思想貫徹文本生成領域的整個過程。Pointer-Generator Networks是一個生成式文本摘要的模型,其采用的兩種經(jīng)典方法對于其他文本生成領域也有很重要的借鑒價值。SeqGAN模型將強化學習和GAN網(wǎng)絡引入到文本生成的過程中,是對文本生成領域的一個方向上的嘗試。GPT 對于文本生成領域有重大意義,是在文本生成領域使用預訓練模型的一個重大嘗試。生成句子是否符合正常語句表達也是文本生成領域的一個重大問題,生成的句子不僅需要沒有語法問題,同時符合正常的表達方式和邏輯也是一個很重要的評價指標,最后一節(jié)將介紹一種方法來對該指標進行評價。

1 分享內(nèi)容

介紹 Seq2Seq 模型

介紹 Pointer-Generator Networks模型

介紹 SeqGAN 模型

介紹 GPT-2 預訓練模型

介紹如何判斷生成句子是否符合正常語句表達

2 Seq2Seq模型介紹

seq2seq 是一個 Encoder–Decoder 結(jié)構(gòu)的網(wǎng)絡,它的輸入是一個序列,輸出也是一個序列, Encoder 中將一個可變長度的信號序列變?yōu)楣潭ㄩL度的向量表達,Decoder 將這個固定長度的向量變成可變長度的目標的信號序列。

快樂大本營有一期節(jié)目,嘉賓之間依次傳話,有趣的是傳到后面經(jīng)常會出現(xiàn)意思完全相反的現(xiàn)象,這個傳話可以類比成一個Encoder–Decoder過程。每個人對上一個人的聲音會在腦海里面形成一個理解,這個過程類似于Encoder,即將上一個人的聲音編碼成一個腦海里面形成的理解。最后我們把對腦海里面形成的理解用聲音表達出來,這個過程類似于Decoder階段。

2.1 Seq2Seq 工作流程

Seq2Seq的經(jīng)典應用場景是機器翻譯。如下是 Seq2Seq 模型工作的流程:

最基礎的 Seq2Seq模型 包含了三個部分, Encoder、Decoder 以及連接兩者的中間狀態(tài)向量 C,Encoder通過學習輸入,將其編碼成一個固定大小的狀態(tài)向量 C(也稱為語義編碼),繼而將 C 傳給Decoder,Decoder再通過對狀態(tài)向量 C 的學習來進行輸出對應的序列。

Encoder和decoder里面包含多個RNN 單元,通常是 LSTM 或者 GRU 。Basic Seq2Seq 有很多弊端的,首先 Encoder 將輸入編碼為固定大小狀態(tài)向量(hidden state)的過程實際上是一個“信息有損壓縮”的過程。如果信息量越大,那么這個轉(zhuǎn)化向量的過程對信息造成的損失就越大。同時,隨著 sequence length的增加,意味著時間維度上的序列很長,RNN 模型也會出現(xiàn)梯度彌散。最后,基礎的模型連接 Encoder 和 Decoder 模塊的組件僅僅是一個固定大小的狀態(tài)向量,這使得Decoder無法直接去關注到輸入信息的更多細節(jié)。

2.2 Seq2Seq中Attention的引入

由于 Basic Seq2Seq 的種種缺陷,隨后引入了 Attention 的概念,Attention在decoder過程中的每一步,都會給出每個encoder輸出的特定權重,然后根據(jù)得到權重加權求和,從而得到一個上下文向量,這個上下文向量參與到decoder的輸出中,這樣大大減少了上文信息的損失,能夠取得更好的表現(xiàn),對于attention如何在Seq2Seq中使用,下一節(jié)將會有更加詳細的講解。

3 Pointer-Generator Networks模型

Pointer-Generator Networks 用于生成式文本摘要領域,其相比較于普通的Seq2Seq模型,主要的改點在于

(1) 避免SeqSeq模型在摘要生成時經(jīng)常出現(xiàn)的重復詞現(xiàn)象

(2)解決了OOV現(xiàn)象,即生成的詞除了包含上下文已有的詞以外,也可以生成上下文中沒有的詞。

3.1 基線 Seq2Seq+Attention 模型

這里是一個標準的attention計算。encoder的第i個hidden_state,是t時刻decoder的狀態(tài),是學習參數(shù)。attention計算一般有兩種方式,第一種方式是先經(jīng)過decoder單元(LSTM或者GRU,這里使用的LSTM)之后,再使用其輸出來計算attention。第二種則表示使用上一個單元(t-1時刻)的hidden_state先計算attention,得到context vector,將其作為t時刻單元的輸入。該模型使用的是第二種方式。

(1)

(2)

(3)

利用LSTM單元的輸出和context vector()的contact來計算詞的概率,并定義其損失函數(shù)。

(4)

(5)

(6)

(7)

3.2 Pointer-generator network 網(wǎng)絡

增加,區(qū)間范圍[0,1],表示decoder網(wǎng)絡生成一個vocab中的詞,還是從原文本中抽取一個詞的概率。當>=0.5時,=0,當其小于0.5時,=0。的計算公式如下所示:

(8)

(9)

3.3 Coverage mechanism:

實現(xiàn)方式,在計算t時刻的attention,即context vector 時,不僅僅考慮t時刻的hidden_state, 同時考慮已經(jīng)生成的內(nèi)容,這里通過0到t-1刻的attention的權重來體現(xiàn),權重比較大的詞表示已經(jīng)考慮過了,在后面的計算過程中減少其比重。計算公式:(10)

同時,式(1)中計算權重矩陣的公式也做了相應修改,如式(11)。

(11)

定義了coverage loss,這在實驗部分被證明是非常有必要的。關于這個損失函數(shù)的定義,取得是當前詞前面所有時刻的累計權重和當前時刻權重的最小值,這種方式綜合考慮到一個詞在文中多次出現(xiàn)和一個詞在當前狀態(tài)最大概率出現(xiàn)的的情況,既不完全偏向于多次出現(xiàn)的詞,同時也不過分考慮當前狀態(tài)最大概率出現(xiàn)的詞。

(12)

整體的損失函數(shù):

(13)

4 SeqGAN 模型介紹

核心思想是將GAN與強化學習的Policy Gradient算法結(jié)合到一起,這也正是D2IA-GAN在處理Generator的優(yōu)化時使用的技巧。

SeqGAN的出發(fā)點也是意識到了標準的GAN在處理像序列這種離散數(shù)據(jù)時會遇到的困難,主要體現(xiàn)在兩個方面:Generator難以傳遞梯度更新,Discriminator難以評估非完整序列。

對于前者,給出的解決方案相對比較熟悉,即把整個GAN看作一個強化學習系統(tǒng),用Policy Gradient算法更新Generator的參數(shù);對于后者,則借鑒了蒙特卡洛樹搜索(Monte Carlo tree search,MCTS)的思想,對任意時刻的非完整序列都可以進行評估。

對于強化學習和對抗神經(jīng)網(wǎng)絡在文本生成領域的結(jié)合,可以做個簡單的類比,從而可以加深對SeqGAN的理解。我們可以將文本生成過程中的生成器,理解成強化學習的策略器,每次選擇生成詞可以看作是強化學習過程中的動作選擇,判別器可以看作是強化學習的環(huán)境,其作用是對每次的動作給出相應的反饋。

4.1 SeqGAN 數(shù)學推導過程

根據(jù)強化學習相關知識,我們可以定義SeqGAN的的回報函數(shù)。優(yōu)化過程就是最大化強化學習的回報函數(shù)

(1)

由于判別器只能評價一個完成序列,因此可以計算前T-1個序列已經(jīng)生成的情況下,最后一個動作的Q值。

(2)

但是在強化學習的過程中不僅需要的是最后一個動作的Q值,而且需要任意時刻的Q值,因此,對于一個任意時刻的Q值,可以通過MC采樣的方式來進行近似計算,MC會采樣多個完整的序列,通過計算采樣后的完整序列回報的均值,當作當前時刻的Q值。

(3)

判別器的訓練,判別器的訓練目標是給出真實樣本和生成樣本的分數(shù),目標是最大化真實樣本的分數(shù),最小化生成樣本的分數(shù),下面是其損失函數(shù)的公式。

(4)

將(1)中的公式展開成按照時間累計求和的形式,可以得到下面的的公式

(5)

將任意時刻的期望回報用累計回報近似代替,可以得到下面公式。

(6)

利用反向傳播更新生成器的參數(shù)。

(7)

4.2 SeqGAN缺點

SeqGAN模型主要耗時操作是在MC的采樣過程,因為對于每一個時刻的累計回報都是通過采樣的方式的進行估算近似,當需要生成的序列比較長時,采樣需要的次數(shù)會急速的增長。同時當采樣次數(shù)比較少的情況下,近似估計的結(jié)果會偏差較大。

5 GPT-2 預訓練模型

bert 模型雖然在文本分類領域取得了驚人的效果,但是考慮到BERT是一個雙向語言模型,充分利用了上下文信息,所以在文本分類領域效果優(yōu)于GPT無可厚非,但是BERT模型也正是因為雙向的語言模型的特點,導致其在文本生成領域表現(xiàn)不佳。由于文本生成本身的特性,每次生成時候,只能看見上文,并不能看見下文,所以并不適合雙向的語言模型。GPT-2在文本生成領域的驚人表現(xiàn),讓我們不禁想要去探索,是因為什么使得GPT-2在本文生成領域表現(xiàn)如此強力,下面我們對比BERT模型來詳細介紹GPT-2。

從結(jié)構(gòu)上來說GPT-2 是使用「transformer 解碼器模塊」構(gòu)建的,而 BERT 則是通過「transformer 編碼器」模塊構(gòu)建的。二者一個很關鍵的不同之處在于:GPT-2 就像傳統(tǒng)的語言模型一樣,一次只輸出一個單詞(token)。這種模型之所以效果好是因為在每個新單詞產(chǎn)生后,該單詞就被添加在之前生成的單詞序列后面,這個序列會成為模型下一步的新輸入。這種機制叫做自回歸(auto-regression),同時也是令 GPT-2模型效果拔群的重要思想。

GPT-2,以及一些諸如 TransformerXL 和 XLNet 等后續(xù)出現(xiàn)的模型,本質(zhì)上都是自回歸模型,而 BERT 則不然。這就是一個權衡的問題了。雖然沒有使用自回歸機制,但 BERT 獲得了結(jié)合單詞前后的上下文信息的能力,從而取得了更好的效果。XLNet 使用了自回歸,并且引入了一種能夠同時兼顧前后的上下文信息的方法。

5.1 帶掩碼的注意力模型

能夠清楚地區(qū)分 BERT 使用的自注意力(self-attention)模塊和 GPT-2 使用的帶掩碼的自注意力(masked self-attention)模塊很重要。普通的自注意力模塊允許一個位置看到它右側(cè)單詞的信息(如下左圖),而帶掩碼的自注意力模塊則不允許這么做,他會將該詞后面的詞通過掩碼的方式將其屏蔽掉。

利用掩碼方式一個最大的優(yōu)勢在于,我們后續(xù)的注意力機制模塊,可以通過矩陣運算的方式直接進行,大大優(yōu)化了計算效率。

5.2 只包含解碼器的模塊

這些解碼器模塊和 transformer 原始論文中的解碼器模塊相比,并沒有很大的差別,僅僅只是將第二層的自注意力層給去掉,原本的自注意力層中,會把encoder層的輸出和上一層的結(jié)果進行注意力計算。但是GPT-2使用的是循環(huán)結(jié)構(gòu),每次把新生成的詞添加到原有的序列后面,然后再重新參與計算。通過這種方式,將encoder給去掉了。這樣OpenAI 的 GPT-2 模型就用了這種只包含編碼器(decoder-only)的模塊。

5.3 GPT-2 內(nèi)部生成機制

給定GPT-2一點提示,然后GPT-2根據(jù)提示開始進行生成,每次只能生成一個單詞,然后將生成的單詞加入到提示中,層層開始處理,最終生成一個完整的序列。但是會存在一個問題,每次選擇第一個單詞,這樣的生成序列變成唯一了,只有選擇第二個或者第三個推薦詞以后,才能跳出唯一的現(xiàn)象,因此GPT-2有一個top-k參數(shù),模型會從概率前k大的單詞中選擇下一個單詞。

6 如何判斷生成句子是否符合正常語句表達

在我們生成的句子中,總是存在一些句子看起來通順,但是實際并沒有意義,或者存在邏輯錯誤。比如“北京是新中國的首都”,這句話是沒有問題的,但是我們將北京替換成南京,顯然這樣的句子并沒有語法錯誤,但是如果生成的句子是這樣的話,很可能會被請去喝茶。

句子符合正常語句表達,對于機器而言我們應該怎么評價呢,顯然,如果我們注意到新中國、首都這兩個詞,那么我們能夠很快判斷出現(xiàn)北京明顯比南京更加常見。按照這個思想,可以把這個問題換個角度來描述,我們是希望在前面詞出現(xiàn)的條件下,后續(xù)詞出現(xiàn)的概率應該最大,并且后面詞出現(xiàn)的前提下,前面詞出現(xiàn)的概率也應該最大。

6.1 模型損失函數(shù)

對于一個給定的序列Y{}我們可以定義其損失為:

其中對于Loss函數(shù)而言是一個超參數(shù),我們可以通過調(diào)整其來達到一個更好的效果,通常而言,根據(jù)總體序列的長度來選擇一個合理的。

6.2 判別模型的選擇

當序列比較長時,推薦使用Transform結(jié)構(gòu)模型,考慮到長文本需要預測的次數(shù)比較多,Transform比起RNN結(jié)構(gòu)更加有利于并行運算,速度會更快。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 模型
    +關注

    關注

    1

    文章

    3517

    瀏覽量

    50383
  • 文本
    +關注

    關注

    0

    文章

    119

    瀏覽量

    17452
  • 強化學習
    +關注

    關注

    4

    文章

    269

    瀏覽量

    11596

原文標題:AI也能精彩表達:幾種經(jīng)典文本生成模型一覽

文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    關于鴻蒙App上架中“AI文本生成模塊的資質(zhì)證明文件”的情況說明

    檢查結(jié)果為“通過”或?qū)徍藸顟B(tài)為“審核通過”。 那么對于這個問題,我也是嘗試去解決……這里分享下我了解到的情況和方法 首先,這個政策雖然說是針對AI文本生成模塊,但實際上,針對的是所有調(diào)用了AI大模型
    發(fā)表于 06-30 18:37

    NVIDIA RTX 5880 Ada顯卡部署DeepSeek-R1模型實測報告

    DeepSeek-R1 模型在 4 張 NVIDIA RTX 5880 Ada 顯卡配置下,面對短文本生成、長文本生成、總結(jié)概括三大實戰(zhàn)場景,會碰撞出怎樣的性能火花?參數(shù)規(guī)模差異懸殊的 70B
    的頭像 發(fā)表于 03-17 11:12 ?1421次閱讀
    NVIDIA RTX 5880 Ada顯卡部署DeepSeek-R1<b class='flag-5'>模型</b>實測報告

    飛凌RK3588開發(fā)板上部署DeepSeek-R1大模型的完整指南(

    DeepSeek作為國產(chǎn)AI大數(shù)據(jù)模型的代表,憑借其卓越的推理能力和高效的文本生成技術,在全球人工智能領域引發(fā)廣泛關注。DeepSeek-R1作為該系列最新迭代版本,實現(xiàn)了長文本處理效
    的頭像 發(fā)表于 02-21 14:55 ?2534次閱讀
    飛凌RK3588開發(fā)板上部署DeepSeek-R1大<b class='flag-5'>模型</b>的完整指南(<b class='flag-5'>一</b>)

    了解DeepSeek-V3 和 DeepSeek-R1兩個大模型的不同定位和應用選擇

    功能對比: 1. 核心定位差異 維度 DeepSeek-V3 DeepSeek-R1 目標場景 通用型任務(文本生成、多輪對話等) 復雜推理與數(shù)學能力優(yōu)先(如STEM領域) 優(yōu)化方向 平衡性能與成本,覆蓋廣泛
    發(fā)表于 02-14 02:08

    【「基于大模型的RAG應用開發(fā)與優(yōu)化」閱讀體驗】+Embedding技術解讀

    生成回答。在特定領域或任務中,可以通過微調(diào)Embedding模型來提高檢索的相關性和準確性。Embedding在大模型RAG技術中發(fā)揮著至關重要的作用。它不僅實現(xiàn)了
    發(fā)表于 01-17 19:53

    【「大模型啟示錄」閱讀體驗】如何在客服領域應用大模型

    訓練模型如BERT、GPT等。這些模型在理解自然語言、生成文本、處理對話等方面具有不同的能力。因此,在選擇模型時,需要了解每個模型的特點和優(yōu)
    發(fā)表于 12-17 16:53

    一些常見的動態(tài)電路

    無論是模電還是數(shù)電,理論知識相對來說還是比較枯燥,各種電路原理理解清楚不算容易,換種生動形象的方式或許會增加一些趣味性,也更容易理解這些知識。下面整理了一些常見的電路,以動態(tài)圖形的方
    的頭像 發(fā)表于 11-16 09:26 ?1114次閱讀
    <b class='flag-5'>一些</b><b class='flag-5'>常見</b>的動態(tài)電路

    分享一些常見的電路

    理解模電和數(shù)電的電路原理對于初學者來說可能比較困難,但通過一些生動的教學方法和資源,可以有效地提高學習興趣和理解能力。 下面整理了一些常見的電路,以動態(tài)圖形的方式展示。 整流電路 單相橋式整流
    的頭像 發(fā)表于 11-13 09:28 ?821次閱讀
    分享<b class='flag-5'>一些</b><b class='flag-5'>常見</b>的電路

    如何訓練自己的LLM模型

    于什么任務,比如文本生成、翻譯、問答等。 明確你的模型需要達到的性能標準。 數(shù)據(jù)收集與處理 : 收集大量的文本數(shù)據(jù),這些數(shù)據(jù)將用于訓練模型。 清洗數(shù)據(jù),去除無用信息,如HTML標簽、特
    的頭像 發(fā)表于 11-08 09:30 ?1493次閱讀

    如何使用 Llama 3 進行文本生成

    使用LLaMA 3(Large Language Model Family of AI Alignment)進行文本生成,可以通過以下幾種方式實現(xiàn),取決于你是否愿意在本地運行模型或者使用現(xiàn)成的API
    的頭像 發(fā)表于 10-27 14:21 ?1074次閱讀

    如何評估AI大模型的效果

    、SuperGLUE、SQuAD等。這些數(shù)據(jù)集提供了不同任務上的基準評估,使得不同模型在同任務上的性能可以進行直接比較。 二、多樣性和覆蓋性測試 測試模型在不同類型的數(shù)據(jù)和任務上的表
    的頭像 發(fā)表于 10-23 15:21 ?3050次閱讀

    不同領域中AI大模型的應用實例

    AI大模型在不同領域有著廣泛的應用實例,以下是一些具體領域的應用案例: 、金融領域 智能投顧助
    的頭像 發(fā)表于 10-23 15:13 ?3920次閱讀

    AI大模型在自然語言處理中的應用

    AI大模型在自然語言處理(NLP)中的應用廣泛且深入,其強大的語義理解和生成能力為NLP任務帶來了顯著的性能提升。以下是對AI大模型在NLP中應用的介紹
    的頭像 發(fā)表于 10-23 14:38 ?1523次閱讀

    【《大語言模型應用指南》閱讀體驗】+ 基礎知識學習

    能夠關注到輸入文本中的重要部分,從而提高預測的準確性和效率。這種機制允許模型在處理文本時同時考慮多個位置的信息,并根據(jù)重要性進行加權處理。 一些
    發(fā)表于 08-02 11:03

    【《大語言模型應用指南》閱讀體驗】+ 基礎篇

    token; 緊隨token之后,作者講解了基于自回歸模型的字符預測方法以及文本生成原理,這些知識對我來說有些晦澀難懂,如果要熟練掌握是需要一些時間的,只能后續(xù)抽空仔細研讀,暫且跳過繼續(xù)閱讀,后面
    發(fā)表于 07-25 14:33
    主站蜘蛛池模板: 又色又爽又黄视频 | 色黄网站成年女人色毛片 | 在线亚洲精品中文字幕美乳 | 中文字幕在线第一页 | 在线欧美成人 | 激情丁香小说 | 拍拍拍拍拍拍拍无挡大全免费 | 午夜国产精品理论片久久影院 | 亚洲影视一区二区 | 亚洲一区二区中文 | 亚洲男人的天堂在线播放 | 免费播放一区二区三区 | 干干干操操操 | 91夫妻视频| 模特视频一二三区 | 国产拍拍视频 | 亚洲 欧洲 日产 韩国在线 | 5566成人免费视频观看 | 台湾一级毛片 | 国产成人啪午夜精品网站男同 | 色一欲一性一乱一区二区三区 | 日本黄网站高清色大全 | 日本三级免费网站 | 国产乱码免费卡1卡二卡3卡四 | 男人天堂黄色 | 免费免播放器在线视频观看 | 成人午夜大片免费视频77777 | 亚洲国产成人成上人色 | 在线观看视频一区二区 | 性在线视频 | 国产视频h | 性欧美高清短视频免费 | 久久精品成人免费网站 | 亚洲成a人片在线观看尤物 亚洲成a人片在线观看中 | 性色免费视频 | 免费看一级特黄a大片 | 久久青草精品免费资源站 | 97精品久久天干天天蜜 | 9966国产精品视频 | 色爱综合区 | 羞羞色男人的天堂伊人久久 |