版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第1版·微課版生成式人工智能基礎(chǔ)第5章文本生成技術(shù)文本生成源于語言模型,其目標是對自然語言的概率分布建模,從而實現(xiàn)文本的創(chuàng)造和預測。圖5-1將自然語言句子翻譯成目標語言第5章文本生成技術(shù)本章回顧了從基于規(guī)則的方法、統(tǒng)計語言模型到循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)及其變體的演進過程,重點探討Transformer模型及其自注意力機制的工作原理和優(yōu)勢。Transformer通過編碼器和解碼器結(jié)構(gòu),實現(xiàn)了高效的并行計算和長距離依賴關(guān)系的建模,成為現(xiàn)代文本生成的核心架構(gòu)。此外,本章還介紹了文本生成技術(shù)在多個領(lǐng)域的應用,如文本摘要、詩歌生成、對話系統(tǒng)和機器翻譯,同時指出了當前技術(shù)面臨的挑戰(zhàn)。第5章文本生成技術(shù)01典型的語言模型方法02Transformer模型03混合模型04典型的文本生成技術(shù)目錄/CONTENTSPART01典型的語言模型方法大量的研究從基于統(tǒng)計的n元語言模型、神經(jīng)語言模型以及預訓練語言模型等不同角度開展了一系列工作,這些研究在不同階段對NLP任務發(fā)揮著重要作用。隨著基于谷歌Transformer的各類語言模型的發(fā)展,以及預訓練微調(diào)范式在各類NLP任務中取得突破性進展,從OpenAI發(fā)布GPT-3開始,對LLM的研究逐漸深入。雖然LLM的參數(shù)量巨大,通過有監(jiān)督微調(diào)和強化學習能夠完成非常多的任務,而其基礎(chǔ)理論仍然離不開對語言的建模。5.1典型的語言模型方法基于規(guī)則的文本生成方法依賴于預定義的語法規(guī)則和模式來構(gòu)造句子或段落。這種方法不需要大量的訓練數(shù)據(jù),而是通過編程設(shè)定具體的規(guī)則,規(guī)定如何組合詞匯、短語和句子結(jié)構(gòu)以生成符合語法和邏輯的文本,它適用于結(jié)構(gòu)化較高的文本生成任務,如天氣預報、新聞摘要等。主要應用場景例如:自動生成簡單的報告或通知;模板化的客戶服務回復。以下是基于規(guī)則方法的一個簡單示例:天氣預報文本生成。5.1.1基于規(guī)則的方法規(guī)則2:描述天氣狀況。?晴天:“今天將是晴朗的一天,陽光明媚?!?多云:“天空多云,預計會有間歇性的陽光。”?陰天:“全天陰沉,看不到太陽?!?小雨:“有小雨,記得帶傘哦!”?中雨:“中等強度的降雨,外出時請注意防雨。”?大雨:“大雨傾盆,盡量避免外出。”5.1.1基于規(guī)則的方法規(guī)則3:溫度范圍描述。?低溫(<10°C):“氣溫較低,注意保暖?!?中溫(10°C-25°C):“氣溫適中,穿著輕便即可。”?高溫(>25°C):“天氣炎熱,保持清涼?!币?guī)則4:風速與方向。?風速低(<10km/h):“微風輕拂?!?風速中等(10-30km/h):“風力適中,請注意固定戶外物品?!?風速高(>30km/h):“強風來襲,建議減少外出活動?!?.1.1基于規(guī)則的方法規(guī)則5:結(jié)束語。?“祝您擁有美好的一天!”綜合應用:根據(jù)上述規(guī)則,可以構(gòu)建一段完整的天氣預報文本。例如:輸入條件:?時間:上午?天氣狀況:晴天?溫度范圍:中溫(18°C)?風速:微風(8km/h)5.1.1基于規(guī)則的方法生成的天氣預報文本:“上午好!最新的天氣預報顯示,今天將是晴朗的一天,陽光明媚。氣溫適中,穿著輕便即可。微風輕拂。祝您擁有美好的一天!”基于規(guī)則的方法非常適合于那些規(guī)則明確且變化較少的任務,如簡單的天氣預報、日程提醒或格式化的報告生成。使用預定義的語法規(guī)則和模板來生成詩句,它簡單直觀,可以保證生成的詩句符合特定格式(如五言絕句、七言律詩等)。然而,它的靈活性有限,難以覆蓋所有可能的語言變體和例外情況。5.1.1基于規(guī)則的方法統(tǒng)計語言模型(SLM)是指基于概率分布來預測下一個詞的概率的文本生成方法,它通過分析大量文本數(shù)據(jù)來估計詞或短語序列出現(xiàn)的概率。這類模型假設(shè)一個句子或文檔中詞語的順序不是完全隨機的,而是遵循一定的統(tǒng)計規(guī)律。通常使用n元模型,其訓練數(shù)據(jù)越大,生成的文本越自然流暢。為了簡化計算,引入一階馬爾可夫假設(shè):每個詞只依賴前一個詞;也可以引入二階馬爾可夫假設(shè):每個詞依賴前兩個詞。馬爾可夫假設(shè)可以方便的計算條件概率。主要應用場景例如自動補全和建議功能、初期的機器翻譯系統(tǒng)等。5.1.2統(tǒng)計語言模型以下是使用統(tǒng)計語言模型的一個簡單示例:n-元模型,這是最經(jīng)典的統(tǒng)計語言模型之一。示例:使用2元(二元語法)模型生成文本。(1)構(gòu)建語料庫。首先需要一個包含大量文本的語料庫,例如新聞文章、書籍或其他類型的書面材料。這些文本將用于訓練模型,以學習不同單詞之間共現(xiàn)的概率。5.1.2統(tǒng)計語言模型(2)創(chuàng)建2元頻率表從語料庫中提取所有相鄰兩個單詞對,并計算每個單詞對在文本中出現(xiàn)的頻率。例如:?“我喜歡”出現(xiàn)了50次;?“喜歡貓”出現(xiàn)了30次;?“貓和”出現(xiàn)了20次;?“和狗”出現(xiàn)了40次。5.1.2統(tǒng)計語言模型(3)計算條件概率。根據(jù)單詞對的頻率可以計算給定前一個詞的后一個詞出現(xiàn)的概率。其中C(w_(i-1),w_i)表示(w_(i-1),w_i)的計數(shù),分母是對所有后續(xù)詞(w)的單詞對計數(shù)之和。例如,如果想知道在“我喜歡”之后出現(xiàn)“貓”的概率,則:5.1.2統(tǒng)計語言模型(4)生成文本。一旦有了這些條件概率,就可以開始生成文本了。選擇一個起始詞(如“我”),然后根據(jù)已知的條件概率隨機選擇下一個詞,重復這個過程直到生成所需的文本長度。例如:?起始詞:“我”;?根據(jù)P("喜歡"/"我")選擇下一個詞:“喜歡”;?接著根據(jù)P("貓"/"喜歡")選擇下一個詞:“貓”;?繼續(xù)此過程...最終生成的文本可能是:“我喜歡貓和狗...”。示例輸出:“我喜歡貓和狗在公園里玩耍。”5.1.2統(tǒng)計語言模型本例中,2元模型展示了利用前后文信息預測下一個詞,從而生成連貫的文本片段。雖然方法相對簡單,但捕捉到一些基本語言結(jié)構(gòu),并且在很多應用中表現(xiàn)良好,比如自動補全、拼寫檢查等。然而由于僅考慮了最近的歷史(即前一個詞),對于更長距離依賴關(guān)系的處理效果不佳。因此,在實踐中人們通常會使用更高階的n元(如3元或4元)或者結(jié)合其他技術(shù)如平滑算法來改進模型性能。在某些特定任務上,統(tǒng)計語言模型仍然因其高效性和可解釋性而被廣泛應用。例如,通過分析大量詩歌數(shù)據(jù)中的詞匯共現(xiàn)模式,預測下一個詞的概率分布。它能捕捉到一定程度的語言規(guī)律,適用于簡單的詩句生成。5.1.2統(tǒng)計語言模型循環(huán)神經(jīng)網(wǎng)絡(luò)(RNNs)是一種專門設(shè)計用于處理序列數(shù)據(jù)的強大的神經(jīng)網(wǎng)絡(luò)工具,能夠捕捉時間序列中的時間依賴關(guān)系,因為它們具有內(nèi)部的記憶狀態(tài),可以記住之前的信息并在后續(xù)步驟中使用,特別適用于文本生成任務,廣泛應用于NLP、語音識別等領(lǐng)域。標準RNN在處理長序列時容易遇到梯度消失或爆炸的問題。因此出現(xiàn)了幾種改進的變體,如長短期記憶網(wǎng)絡(luò)(LSTM)和門控循環(huán)單元(GRU),它們在保持長期依賴方面表現(xiàn)得更好。5.1.3循環(huán)神經(jīng)網(wǎng)絡(luò)及其變體雖然LSTM在處理長序列方面表現(xiàn)出色,但它的復雜性也帶來了計算成本較高的問題。為了簡化LSTM的設(shè)計同時保留其關(guān)鍵特性,提出了門控循環(huán)單元(GRU)。GRU通過合并遺忘門和輸入門為更新門,并移除細胞狀態(tài),減少了參數(shù)數(shù)量,提高了訓練速度。盡管結(jié)構(gòu)更簡單,GRU在許多應用中仍然能取得與LSTM相當甚至更好的效果。5.1.3循環(huán)神經(jīng)網(wǎng)絡(luò)及其變體示例:使用LSTM生成詩歌。(1)數(shù)據(jù)準備。選擇一個包含大量詩歌的語料庫作為訓練集。例如,可以選擇中國古代詩歌、現(xiàn)代詩或者特定詩人的作品集。將每首詩分割成字符或單詞級別的序列,并對每個字符或單詞進行編碼(如使用one-hot編碼或詞嵌入)。(2)構(gòu)建LSTM模型。定義一個LSTM網(wǎng)絡(luò)架構(gòu),包括輸入層、一個或多個LSTM層以及輸出層。對于文本生成任務,通常采用多層堆疊的LSTM結(jié)構(gòu)以增強模型的表達能力。5.1.3循環(huán)神經(jīng)網(wǎng)絡(luò)及其變體下面是一個簡單的Keras代碼片段來定義這樣一個模型:Pythonfromtensorflow.keras.modelsimportSequentialfromtensorflow.keras.layersimportLSTM,Dense,Embeddingmodel=Sequential()model.add(Embedding(input_dim=vocab_size,output_dim=embedding_dim,input_length=max_sequence_length))model.add(LSTM(units=128,return_sequences=True))model.add(LSTM(units=128))model.add(Dense(units=vocab_size,activation='softmax'))5.1.3循環(huán)神經(jīng)網(wǎng)絡(luò)及其變體(3)訓練模型。用準備好的詩歌數(shù)據(jù)訓練LSTM模型,目標是最小化預測下一個字符或單詞的概率分布與實際標簽之間的交叉熵損失函數(shù)。訓練過程中,模型會學習到詩歌的語言風格、韻律和其他特征。(4)生成詩歌。一旦模型訓練完成,就可以開始生成新的詩歌了。給定一個起始字符或短語作為種子文本,然后讓模型逐個預測接下來的字符或單詞,直到達到所需長度或遇到終止符。每次生成新字符后,將其添加到當前序列末尾,并再次輸入模型進行下一步預測。5.1.3循環(huán)神經(jīng)網(wǎng)絡(luò)及其變體以下是生成詩歌的一個簡單示例過程:?種子文本:“春水初生”;?模型預測下一個字符:“處”;?更新序列:“春水初生處”;?再次預測:“,”;?更新序列:“春水初生處,”;?繼續(xù)此過程...5.1.3循環(huán)神經(jīng)網(wǎng)絡(luò)及其變體最終生成的詩歌可能是:春水初生處,綠柳垂絲間?;ㄩ_滿庭院,燕歸巢未晚。5.1.3循環(huán)神經(jīng)網(wǎng)絡(luò)及其變體在這個例子中,LSTM展示了如何利用其內(nèi)部的記憶機制有效地捕捉文本中的長程依賴關(guān)系,從而生成符合語言規(guī)則且具有一定創(chuàng)意性的詩歌。相比于傳統(tǒng)的基于規(guī)則或統(tǒng)計的方法,LSTM等深度學習模型能夠更好地理解上下文并生成更加自然流暢的文本。此外,LSTM還廣泛應用于其他序列建模任務,如機器翻譯、語音識別和時間序列預測等。5.1.3循環(huán)神經(jīng)網(wǎng)絡(luò)及其變體在應用場景方面,除了詩歌生成,RNN及其變體還可以用于:(1)自動對話系統(tǒng):生成回復對話。(2)音樂旋律生成:根據(jù)前幾個音符預測接下來的音符。(3)情感分析:理解文本的情感傾向。(4)機器翻譯:從一種語言轉(zhuǎn)換到另一種語言。RNN及其變體為處理和生成序列數(shù)據(jù)提供了強大的框架,尤其在需要考慮上下文信息的任務中展現(xiàn)出了卓越的能力。5.1.3循環(huán)神經(jīng)網(wǎng)絡(luò)及其變體PART02Transformer模型Transformer是一種在NLP領(lǐng)域中被廣泛使用的深度學習模型,它源自谷歌2017年發(fā)表的一篇論文“注意力就是你所需要的”。它的主要特點是使用了“自注意力”機制,允許模型在處理序列數(shù)據(jù)時考慮到序列中所有元素的上下文關(guān)系。Transformer模型首先被應用于機器翻譯的神經(jīng)網(wǎng)絡(luò)模型架構(gòu),目標是從源語言轉(zhuǎn)換到目標語言,它完成了對源語言序列和目標語言序列全局依賴的建模。因為適用于并行計算,使它的模型復雜程度在精度和性能上都要高于之前流行的循環(huán)神經(jīng)網(wǎng)絡(luò)RNN。如今的LLM幾乎都基于Transformer結(jié)構(gòu)。5.2Transformer模型當一個Transformer模型對一句話進行處理時,它會一次查看所有單詞,并為每對單詞計算一個“注意分數(shù)”。注意分數(shù)確定句子中每個單詞應該對其他每個單詞的解釋產(chǎn)生多大影響。例如,如果句子是“貓坐在墊子上”,當模型處理單詞“坐”時,它可能會更多地關(guān)注單詞“貓”(因為“貓”是坐的對象),而對單詞“墊子”關(guān)注較少。但是當處理單詞“上”時,它可能會更多地關(guān)注“墊子”。5.2.1位置編碼機制當要求LLM回答問題時,類似的過程也會發(fā)生。LLM首先將該單詞轉(zhuǎn)換為嵌入,然后它以相同的方式處理詢問,使其專注于輸入的最重要部分,并使用這些來預測:如果您開始回答問題,則輸入的下一個單詞可能是什么。5.2.1位置編碼機制為了解決序列信息中詞語順序的問題,Transformer模型引入了位置編碼機制,利用詞嵌入來表達語言中的復雜概念。在Transformer中,每個單詞都被表示為一個高維向量,而這些向量在表示空間中的位置反映了單詞之間的語義關(guān)系。例如,具有相似含義的單詞在表示空間中可能會更加接近,而含義不同的單詞則會相對遠離。這種機制允許模型理解并記住單詞之間的相對或絕對位置關(guān)系,即使在轉(zhuǎn)換成固定長度向量后也能保留上下文信息。5.2.1位置編碼機制通過使用這種高維表示,Transformer能夠更好地理解和生成自然語言。它們通過學習大量文本數(shù)據(jù),自動調(diào)整詞嵌入向量的參數(shù),使得模型能夠根據(jù)上下文理解單詞的含義,并生成連貫的語言輸出。Transformer模型中的注意力機制允許模型集中注意力于輸入中與當前任務相關(guān)的部分,從而提高了模型在處理長文本序列和復雜語境中的性能。5.2.1位置編碼機制早期在解決機器翻譯這一類序列到序列的問題時,通常是利用一個編碼器和一個解碼器構(gòu)建端到端的神經(jīng)網(wǎng)絡(luò)模型。但是,基于編碼解碼的神經(jīng)網(wǎng)絡(luò)存在兩個問題。以機器翻譯為例:問題1:如果翻譯的句子很長很復雜,比如將一篇文章輸進去,模型的計算量很大,會使模型的準確率嚴重下降。問題2:在不同的翻譯語境下,同一個詞可能具有不同含義,但是網(wǎng)絡(luò)對這些詞向量并沒有區(qū)分度,沒有考慮詞與詞之間的相關(guān)性,導致翻譯效果比較差。5.2.2自注意力機制同樣,在計算機視覺領(lǐng)域,如果輸入的圖像尺寸很大,做圖像分類或者識別時,模型的性能也會下降。針對這樣的問題,提出了注意力機制。早在20世紀九十年代對注意力機制就有研究,2014年,弗拉基米爾的《視覺注意力的反復模型》一文將其應用在視覺領(lǐng)域。后來隨著Transformer結(jié)構(gòu)的提出,注意力機制在NLP、計算機視覺等相關(guān)問題上被廣泛應用。5.2.2自注意力機制“注意力機制”實際上就是將人的感知方式、注意力的行為應用在機器上,讓機器學會去感知數(shù)據(jù)中的重要和不重要的部分。比如要識別一張圖片中是一個什么動物時,我們讓機器側(cè)重于關(guān)注圖片中動物的面部特征,包括耳朵、眼睛、鼻子、嘴巴,而不用太關(guān)注其背景信息。核心目的是希望機器能注意到當前任務的關(guān)鍵信息,而減少對其他非關(guān)鍵信息的注意。同樣,在機器翻譯中,讓機器注意到每個詞向量之間的相關(guān)性,有側(cè)重地進行翻譯,模擬人類的理解過程。5.2.2自注意力機制對模型的每一個輸入項,它可能是圖片中的不同部分,或者是語句中的某個單詞,分配一個權(quán)重,這個權(quán)重的大小代表了我們希望模型對該部分的關(guān)注程度。這樣,通過權(quán)重大小來模擬人在處理信息時的注意力側(cè)重,有效的提高模型的性能,并且在一定程度上降低了計算量。5.2.2自注意力機制深度學習中的注意力機制通??煞譃槿悾海?)軟注意(全局注意)機制:對每個輸入項分配權(quán)重在0~1之間,即一部分關(guān)注多一點,另一部分關(guān)注少一點。由于對大部分信息都有考慮,但考慮程度不一,所以相對計算量比較大。(2)硬注意(局部注意)機制:對每個輸入項分配的權(quán)重非0即1,只考慮哪部分需要關(guān)注,哪部分不關(guān)注,也就是直接舍棄掉一些不相關(guān)項。優(yōu)勢在于可以減少一定的時間和計算成本,但有可能丟失一些本應該注意的信息。5.2.2自注意力機制(3)自注意力(內(nèi)注意)機制:對每個輸入項分配的權(quán)重取決于輸入項之間的相互作用,即通過內(nèi)部“表決”來決定應該關(guān)注哪些輸入項,它在處理很長的輸入時具有并行計算的優(yōu)勢。5.2.2自注意力機制自注意力是Transformer的核心部件,通過計算輸入序列中每個位置的單詞與其他所有位置單詞的相關(guān)性,從而實現(xiàn)對整個句子的全局建模。多頭自注意力則擴展了這一機制,使其能夠從不同視角捕獲并整合信息。在自注意力層之后,模型通常會包含一個或多個全連接的前饋神經(jīng)網(wǎng)絡(luò)層,用于進一步提煉和組合特征,增強模型對復雜語言結(jié)構(gòu)的理解和表達能力。5.2.2自注意力機制可以簡單地把Transformer看成是一個黑盒子,當執(zhí)行文本翻譯任務時,輸入一段中文,經(jīng)過這個黑盒子之后,輸出來的就是翻譯過來的英文。圖5-2把Transformer當成黑盒子5.2.3Transformer過程黑盒子里面主要有兩部分組成:編碼器組和解碼器組。當輸入一個文本的時候,通過編碼器模塊對該文本數(shù)據(jù)進行編碼,然后將編碼數(shù)據(jù)傳入解碼器模塊進行解碼,得到翻譯后的文本。圖5-3編碼器組和解碼器組5.2.3Transformer過程一般情況下編碼器組模塊里邊有6個小編碼器,解碼器組里邊有6個小解碼器。編碼器里邊是自注意力機制加上一個前饋神經(jīng)網(wǎng)絡(luò)。
圖5-4編碼器內(nèi)部結(jié)構(gòu)5.2.3Transformer過程所謂前饋神經(jīng)網(wǎng)絡(luò),可以理解為是一個多層感知機,即一個包含了多個隱藏層的神經(jīng)網(wǎng)絡(luò),其中層與層之間是全連接的,相鄰兩層的任意兩個節(jié)點都有連接。
圖5-5前饋神經(jīng)網(wǎng)絡(luò)示例5.2.3Transformer過程我們通過以下步驟來解釋自注意力機制。步驟1:模型最初輸入的是詞向量形式。自注意力機制,顧名思義就是自己和自己計算一遍注意力,對每一個輸入的詞向量需要構(gòu)建自注意力機制的輸入。這里,Transformer將詞向量乘上三個矩陣,得到三個新的向量,這是為了獲得更多的參數(shù),提高模型效果。對于輸入X1(機器),乘上三個矩陣后分別得到Q1、K1、V1。同樣,對于輸入X2(學習),也乘上三個不同的矩陣得到Q2、K2、V2。5.2.3Transformer過程圖5-6得到三個新的向量5.2.3Transformer過程步驟2:計算注意力得分。這個得分是通過計算Q與各個單詞的K向量的點積得到的。以X1為例,分別將Q1和K1、K2進行點積運算,假設(shè)分別得到得分112和96。圖5-7計算注意力得分5.2.3Transformer過程步驟3:將得分分別除以一個特定數(shù)值8(K向量的維度的平方根,通常K向量的維度是64)這能讓梯度更加穩(wěn)定,得到結(jié)果14和12。步驟4:將上述結(jié)果進行softmax運算,得到0.88和0.12。softmax運算主要是將分數(shù)標準化,使得數(shù)都是正數(shù)并且加起來等于1。softmax從字面上來說,可以分成soft和max兩個部分。max就是最大值的意思。softmax的核心在于soft,而soft有軟的含義,與之相對的是hard硬。很多場景中需要我們找出數(shù)組所有元素中值最大的元素,實質(zhì)上都是求的hardmax。5.2.3Transformer過程步驟5:將V向量乘上softmax的結(jié)果,主要是為了保持想要關(guān)注的單詞的值不變,而掩蓋掉那些不相關(guān)的單詞,例如將它們乘上很小的數(shù)字。
圖5-8V向量乘softmax5.2.3Transformer過程步驟6:將帶權(quán)重的各個V向量加起來。至此,產(chǎn)生在這個位置上(第一個單詞)的自注意力機制層的輸出,其余位置的自注意力機制輸出計算方式相同。5.2.3Transformer過程將上述過程總結(jié)為一個公式。圖5-9自注意力計算過程總結(jié)5.2.3Transformer過程為進一步細化自注意力機制層,增加了“多頭注意力機制”的概念,從兩個方面提高自注意力層的性能,即擴展模型關(guān)注不同位置的能力,以及給自注意力層多個“表示子空間”。5.2.3Transformer過程多頭自注意力機制不止有一組Q/K/V權(quán)重矩陣,而是有多組(例如用8組),所以每個編碼器/解碼器使用8個“頭”(可以理解為8個互不干擾的自注意力機制運算),每一組的Q/K/V都不相同。然后,得到8個不同的權(quán)重矩陣Z,每個權(quán)重矩陣被用來將輸入向量投射到不同的表示子空間。經(jīng)過多頭注意力機制后,就會得到多個權(quán)重矩陣Z,將多個Z進行拼接就得到了自注意力機制層的輸出。
圖5-10自注意力機制層的輸出5.2.3Transformer過程自注意力機制層的輸出即是前饋神經(jīng)網(wǎng)絡(luò)層的輸入,只需要一個矩陣就可以了,不需要8個矩陣,所以需要把8個矩陣壓縮成一個,這只需要把這些矩陣拼接起來,然后用一個額外的權(quán)重矩陣與之相乘即可。最終的Z就作為前饋神經(jīng)網(wǎng)絡(luò)的輸入。
圖5-118個矩陣的壓縮5.2.3Transformer過程接下來進入小編碼器里邊的前饋神經(jīng)網(wǎng)模塊。其輸入是自注意力機制的輸出,即圖5-11中的Z,是一個維度為(序列長度×D詞向量)的矩陣。之后前饋神經(jīng)網(wǎng)絡(luò)的輸出也是同樣的維度。進一步,一個大的編碼部分就是將這個過程重復6次,最終得到整個編碼部分的輸出。然后,在Transformer中使用6個解碼器。為了解決梯度消失問題,在解碼器和編碼器中都用了殘差神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),即每一個前饋神經(jīng)網(wǎng)絡(luò)的輸入不光包含上述自注意力機制的輸出Z,還包含最原始的輸入。5.2.3Transformer過程編碼器是對輸入(機器學習)進行編碼,使用的是自注意力機制+前饋神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)。在解碼器中使用的也是同樣的結(jié)構(gòu),首先對輸出(機器學習)計算自注意力得分。不同的地方在于,執(zhí)行自注意力機制后,將其輸出與解碼器模塊的輸出計算一遍注意力機制得分,之后再進入前饋神經(jīng)網(wǎng)絡(luò)模塊。5.2.3Transformer過程至此,通過Transformer編碼和解碼兩大模塊,完成將“機器學習”翻譯成“machinelearing”的過程。解碼器輸出本來是一個浮點型的向量,為轉(zhuǎn)化成“machinelearing”這兩個詞,這個工作是最后的線性層接上一個softmax。其中,線性層是一個簡單的全連接神經(jīng)網(wǎng)絡(luò),它將解碼器產(chǎn)生的向量投影到一個更高維度的向量上,假設(shè)模型的詞匯表是10000個詞,那么向量就有10000個維度,每個維度對應一個唯一的詞的得分。之后的softmax層將這些分數(shù)轉(zhuǎn)換為概率。選擇概率最大的維度,并對應地生成與之關(guān)聯(lián)的單詞作為此時間步的輸出就是最終的輸出。5.2.3Transformer過程假設(shè)詞匯表維度是6,那么輸出最大概率詞匯的過程如圖5-12所示。圖5-12最大概率詞匯過程以上的Transformer框架并沒有考慮順序信息,這里需要注意“位置編碼”概念,可以讓輸入攜帶位置信息。5.2.3Transformer過程Transformer模型主要由編碼器和解碼器兩部分組成。(1)編碼器:由多個相同的層組成,每一層都有兩個子層。第一個子層是自注意力層,它可以考慮到輸入序列中所有元素的上下文關(guān)系。第二個子層是一個前饋神經(jīng)網(wǎng)絡(luò)。每個子層后面都跟有一個殘差連接和層歸一化。編碼器的任務是將輸入序列轉(zhuǎn)換為一組連續(xù)的表示,這些表示考慮了輸入序列中每個元素的上下文。5.2.4Transformer結(jié)構(gòu)(2)解碼器:由多個相同的層組成,每一層有三個子層。第一個子層是自注意力層,但它在處理當前元素時,只考慮到該元素及其之前的元素,不考慮其后的元素,這種機制被稱為掩碼自注意力。第二個子層是一個編碼器-解碼器注意力層,它使解碼器可以關(guān)注到編碼器的輸出。第三個子層是一個前饋神經(jīng)網(wǎng)絡(luò)。每個子層后面都跟有一個殘差連接和層歸一化。解碼器的任務是基于編碼器的輸出和前面已經(jīng)生成的元素,生成下一個元素。5.2.4Transformer結(jié)構(gòu)基于Transformer的編碼器和解碼器結(jié)構(gòu)如圖5-13所示,左側(cè)和右側(cè)分別對應著編碼器和解碼器結(jié)構(gòu),它們均由若干個基本的Transformer塊組成(對應圖中的灰色框)。這里N×表示進行了N次堆疊。每個Transformer塊都接收一個向量序列{xi}作為輸入,并輸出一個等長的向量序列作為輸出{yi}。這里的xi和yi分別對應文本序列中的一個詞元的表示。yi是當前Transformer塊對輸入xi進一步整合其上下文語義后對應的輸出。
5.2.4Transformer結(jié)構(gòu)
圖5-13基于Transformer的編碼器和解碼器結(jié)構(gòu)5.2.4Transformer結(jié)構(gòu)Transformer架構(gòu)的主要特點如下。(1)引入了自注意力機制,使得模型可以并行處理輸入序列的不同部分。(2)在大規(guī)模數(shù)據(jù)集上表現(xiàn)出色,能夠?qū)W習復雜的模式并生成高質(zhì)量的文本。其主要應用場景包括高級機器翻譯,復雜對話系統(tǒng),內(nèi)容創(chuàng)作例如小說、劇本等。5.2.4Transformer結(jié)構(gòu)先通過輸入嵌入層將每個單詞轉(zhuǎn)換為其相對應的向量表示。在從輸入到輸出的語義抽象過程中,主要涉及如下幾個模塊。(1)注意力層:自注意力操作是基于Transformer的機器翻譯模型的基本操作,在源語言的編碼和目標語言的生成中頻繁地被使用,以建模源語言、目標語言任意兩個單詞之間的依賴關(guān)系。使用多頭注意力機制整合上下文語義,它使得序列中任意兩個單詞之間的依賴關(guān)系可以直接被建模而不基于傳統(tǒng)的循環(huán)結(jié)構(gòu),從而更好地解決文本的長程依賴問題。5.2.4Transformer模塊(2)位置感知前饋網(wǎng)絡(luò)層:前饋層接收自注意力子層的輸出作為輸入,并通過一個帶有ReLU激活函數(shù)的兩層全連接網(wǎng)絡(luò)對輸入文本序列中的每個單詞表示進行更復雜的非線性變換。5.2.4Transformer模塊由Transformer結(jié)構(gòu)組成的網(wǎng)絡(luò)結(jié)構(gòu)通常都非常龐大。編碼器和解碼器均由很多層基本的Transformer塊組成,每一層中都包含復雜的非線性映射,這就導致模型的訓練比較困難。因此,研究人員在Transformer塊中進一步引入了殘差連接與層歸一化技術(shù),以進一步提升訓練的穩(wěn)定性。具體來說,殘差連接主要是指使用一條直連通道將對應子層的輸入連接到輸出,避免在優(yōu)化過程中因網(wǎng)絡(luò)過深而產(chǎn)生潛在的梯度消失問題。5.2.4Transformer模塊(3)殘差連接:對應圖中的Add部分。它是一條分別作用在上述兩個子層中的直連通路,被用于連接兩個子層的輸入與輸出,使信息流動更高效,有利于模型的優(yōu)化。(4)層歸一化:對應圖中的Norm部分。它作用于上述兩個子層的輸出表示序列,對表示序列進行層歸一化操作,同樣起到穩(wěn)定優(yōu)化的作用。5.2.4Transformer模塊PART03混合模型混合模型是指將不同類型的生成模型結(jié)合起來,取長補短,以達到更好的性能。例如結(jié)合Transformer和VAE的優(yōu)勢,既保持生成的多樣性又提高文本質(zhì)量。其應用場景主要是高要求的內(nèi)容創(chuàng)作、需要精確控制生成結(jié)果的任務。5.3混合模型隨著硬件性能的提升和算法的不斷優(yōu)化,文本生成技術(shù)正朝著以下幾個方向發(fā)展:(1)更大規(guī)模的預訓練模型:如GPT-3、PaLM等,這些模型在海量數(shù)據(jù)上進行了充分訓練,具備強大的泛化能力。(2)更高效的推理方法:為了降低計算成本,研究者正在探索輕量級模型和加速推理技術(shù)。5.3混合模型(3)多模態(tài)融合:結(jié)合文本與其他形式的數(shù)據(jù)(如圖像、音頻),實現(xiàn)更加豐富和互動的應用體驗。(4)倫理和社會影響的關(guān)注:隨著AI生成內(nèi)容的廣泛應用,如何確保生成內(nèi)容的真實性和公正性成為了重要議題。5.3混合模型PART04典型的文本生成技術(shù)文本生成技術(shù)已經(jīng)從早期的基礎(chǔ)研究走向?qū)嶋H應用,包括自動寫作、聊天機器人、翻譯系統(tǒng)、對話系統(tǒng)等,不斷推動著NLP領(lǐng)域的邊界。它允許機器根據(jù)給定的提示或上下文創(chuàng)建全新的、有意義的文本內(nèi)容,展示了巨大的發(fā)展?jié)摿ΑA硪环矫?,文本生成技術(shù)也面臨著一些發(fā)展與挑戰(zhàn)。5.4典型的文本生成技術(shù)文本摘要旨在從較長的文本中提取關(guān)鍵信息以生成概括內(nèi)容。應用深度學習方法,文本摘要技術(shù)已經(jīng)取得顯著進步,能夠處理各種類型的文檔,并在多個應用場景中表現(xiàn)出色。定義:文本摘要是將一段較長的文本內(nèi)容壓縮成較短版本的過程,同時保留原文的核心信息和主要觀點。5.4.1文本摘要技術(shù)一個好的摘要應該具有以下特點:(1)簡潔性:用盡可能少的文字傳達必要的信息。(2)連貫性:確保生成的摘要邏輯清晰,易于理解。(3)準確性:忠實于原文的意思,不歪曲或遺漏重要細節(jié)。5.4.1文本摘要技術(shù)根據(jù)生成方式的不同,文本摘要可以分為兩大類:(1)抽取式摘要:直接從原始文本中選擇最相關(guān)的句子或片段組成摘要,而不改變其核心內(nèi)容。常見的算法包括TF-IDF(詞頻-逆文檔頻率)、TextRank等圖模型,以及基于注意力機制的方法。其優(yōu)點是簡單直觀,容易實現(xiàn);保持了原文的語言風格。5.4.1文本摘要技術(shù)(2)生成式摘要:通過理解和重述原文來創(chuàng)建全新的句子,類似于人類撰寫摘要的方式。它主要依賴于序列到序列(Seq2Seq)架構(gòu)及其變體,如帶有注意力機制的RNN/LSTM、Transformer等。其優(yōu)點是能夠生成更緊湊且流暢的摘要,更接近人類撰寫的質(zhì)量。但它訓練難度較大,需要大量標注數(shù)據(jù)。5.4.1文本摘要技術(shù)詩歌生成要求機器不僅能夠生成語法正確的句子,還要捕捉到詩歌特有的韻律、節(jié)奏、情感以及詩意。隨著深度學習技術(shù)的發(fā)展,尤其是基于Transformer架構(gòu)的模型的成功應用,詩歌生成的質(zhì)量得到了顯著提升,它不僅是技術(shù)上的挑戰(zhàn),也是對美學和技術(shù)結(jié)合的一次探索。5.4.2詩歌生成詩歌生成的模型與工具中,開源項目主要有:(1)PoetGAN:結(jié)合生成對抗網(wǎng)絡(luò)(GANs)思想,旨在提高生成詩句的真實感和多樣性。(2)使用深度學習生成詩歌:基于TensorFlow,提供了多種經(jīng)典詩歌生成算法的實現(xiàn)。(3)WuDao詩歌機器人:是由阿里云開發(fā)的大規(guī)模預訓練模型,專為中文詩歌生成而設(shè)計,支持古風、現(xiàn)代等多種風格。5.4.2詩歌生成詩歌生成的商業(yè)模型與工具產(chǎn)品主要有:(1)微軟小冰:作為一款智能聊天機器人,它不僅可以進行日常對話,還能根據(jù)用戶提供的關(guān)鍵詞即時創(chuàng)作出具有美感的詩句。(2)百度AI平臺:提供豐富的API接口,允許將詩歌生成功能集成到開發(fā)者的應用中。5.4.2詩歌生成簡單對話系統(tǒng)旨在通過計算機程序?qū)崿F(xiàn)人機之間的自然對話。其核心任務是從用戶輸入中理解意圖,并根據(jù)上下文生成合適的回復。這一過程涉及以下幾個關(guān)鍵步驟:步驟1:輸入解析:將用戶的文本或語音輸入轉(zhuǎn)換為機器可以處理的形式,如詞向量或特征表示。步驟2:意圖識別:確定用戶表達的具體需求或問題類型,這可以通過分類模型來完成。5.4.3簡單對話系統(tǒng)步驟3:槽位填充:提取出與特定任務相關(guān)的實體信息(如時間、地點等),這些被稱為“槽位”。步驟4:對話管理:根據(jù)當前對話狀態(tài)選擇適當?shù)捻憫呗?,決定下一步的操作。步驟5:輸出生成:基于選定的策略構(gòu)造并返回給用戶的最終回答,可以是預定義模板中的句子或是通過生成模型創(chuàng)建的新文本。5.4.3簡單對話系統(tǒng)簡單對話系統(tǒng)的技術(shù)組件主要如下。(1)自然語言理解:負責解析用戶輸入,包括分詞、詞性標注、命名實體識別等任務。(2)對話管理器:維護對話的狀態(tài),跟蹤對話歷史,并決定下一步的動作。(3)自然語言生成:將對話管理器的指令轉(zhuǎn)化為人類可讀的語言形式。(4)知識庫/數(shù)據(jù)庫:存儲有關(guān)領(lǐng)域的背景知識,供對話系統(tǒng)查詢以提供準確的答案。5.4.3簡單對話系統(tǒng)簡單對話系統(tǒng)的示例平臺和技術(shù)棧例如:(1)Dialogflow
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合作伙伴信任保障承諾書范文8篇
- 動物朋友們的故事:和諧共處的話題作文11篇
- 人才培訓開發(fā)承諾函8篇范文
- 手工定制產(chǎn)品品質(zhì)承諾書4篇
- 我的老師生活記作文(13篇)
- 醫(yī)院單位門衛(wèi)制度規(guī)范
- 信訪信息工作規(guī)范制度
- 醫(yī)療轉(zhuǎn)運工作規(guī)范制度
- 學校門房保安制度規(guī)范
- 助老食堂用餐制度規(guī)范
- 高鐵安全衛(wèi)士動車組車底智能檢測機器人34課件
- 初三期末寒假家長會課件
- 2025智能交通毫米波雷達交通狀態(tài)檢測器
- 物業(yè)公司快遞柜合作協(xié)議書范本
- 四人合伙協(xié)議書
- 植樹問題52道應用練習題(帶答案)
- 【八年級下冊數(shù)學北師大版】第三章 圖形的平移與旋轉(zhuǎn)(9類壓軸題專練)
- 中建項目安全總監(jiān)競聘
- 公司股權(quán)分配方案模板
- 電氣工程及自動化基于PLC的皮帶集中控制系統(tǒng)設(shè)計
- 舊設(shè)備拆除方案
評論
0/150
提交評論