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

面向自然語言處理的詞向量模型研究綜述

2023-12-30 05:26:00安俊秀蔣思暢
計算機技術與發展 2023年12期
關鍵詞:語言模型

安俊秀,蔣思暢

(成都信息工程大學 軟件工程學院,四川 成都 610225)

0 引 言

自然語言處理主要研究實現人與計算機之間用自然語言進行有效通信的理論方法及應用,它的一般流程如圖1所示。

圖1 NLP的一般流程

語言的數據稱為語料庫(Corpus),特征工程指的就是將自然語言轉換成詞的特征向量(簡稱詞向量)的處理過程,因為詞是自然語言中表示語義的最小單位。詞向量的好壞直接決定了任務模型的性能高低,因此NLP的特征工程是關鍵的一步,為此構建、訓練針對詞向量的模型是最優解法。

詞向量的發展過程大致分為“規則-統計-深度學習”三個階段[1]。20世紀50至70年代,學者們用電腦模擬人腦,結果是一無所獲。70年代后,研究者們重新審視這個問題,提出了基于統計和數學模型的方法,加之機器學習的快速發展,NLP領域終于有了實質性的突破。進入21世紀后,Bengio等人[2]在2003年提出的NNLM模型首次采用了神經網絡來訓練詞向量,為研究者們打開了新的思路。Hinton等人[3]在2006年首次提出了深度學習的概念,將人工智能領域的研究推向了高潮,隨后一系列經典的詞向量模型被陸續提出,尤其是預訓練技術成為主流的2018年,其訓練出的詞向量在大多數NLP的下游任務中都表現出了優異的性能,為后續發展帶來了更多可能性。

預訓練技術來源于遷移學習[4],最初應用在計算機視覺(Computer Vision,CV)領域,大獲成功后被應用到NLP領域。其本質是利用海量數據通過無監督學習,更準確地說是自監督學習的方式去訓練一個模型,得到數據的通用特征,然后通過微調(Fine Tune)詞向量模型的參數以便應用于不同的任務模型。因此,詞向量模型、任務模型越來越多地被稱為預訓練模型、下游任務。

1 現代詞向量模型

1.1 NNLM

針對語義問題,Harris[5]提出了分布假說:“上下文相似的詞,其語義也是相似的”,Firth[6]提出了語言學概論,完善了這一假說,指出“詞的語義由其上下文決定”。針對編碼稀疏、維數災難[7]問題,Hinton[8]提出了分布式表示方法,指將高維稀疏向量嵌入(也稱映射)到低維稠密向量中,該方法將信息分布在向量的各個維度上(即值不為0),此時詞向量也稱為詞嵌入(Word Embedding),具有更強的表示能力。

為了解決語義和維度這兩個問題,Bengio等人借鑒了基于統計的N元模型[9](N-Gram Model)的思想,提出了神經網絡(概率)語言模型(Neural Network (Probabilistic) Language Model,NNLM)。

語言模型指在給定若干個詞的情況下預測下一個詞。假設S是某個句子,由詞w1,w2,…,wn組成,其中n表示句子長度。S出現的概率等于每個詞出現的條件概率的乘積,計算式表示為:

P(S)=P(w1,w2,…,wn)=
P(w1)…P(wn|w1,w2,…,wn-1)

(1)

式(1)的缺點很明顯,位置越靠后的詞的概率越難計算,涉及到的變量太多。N元模型為了簡化問題,利用了N-1階馬爾可夫假設,即某個詞wi出現的概率僅與它前面的N-1個詞有關,計算式表示為:

(2)

N的取值一般為1,2,3,對應的語言模型分別稱為一元模型(Unigram)、二元模型(Bigram)、三元模型(Trigram),N取更大的值時,性能提升并不顯著,卻對資源的耗費愈發嚴重,因此N>3的情況極少。因此上下文的跨度不能太大,否則會出現長距離依賴[10](Long Distance Dependency)問題。

NNLM將深度學習的思想融入語言模型中,其結構依次為輸入層(Input Layer)、嵌入層(Embedding Layer)、隱含層(Hidden Layer)、輸出層(Output Layer)。模型訓練好后,詞向量就是輸入與嵌入矩陣的乘積。這直接啟發了后來的研究。與N元模型不同的是,NNLM中N可以取更大的值,減小了長程依賴性的影響。

1.2 Word2Vec

NNLM所產生的詞向量,其語義只是基于上文,沒有包含下文,同時定長向量使得計算復雜度并不低,Google團隊對此提出了Word2Vec[11-12],包含兩種模型,結構依次為輸入層、隱含層、輸出層。連續詞袋模型(Continuous Bag-of-Words,CBOW)的思想是通過上下文詞去預測中心詞,跳元模型(Skip-Gram)的思想與之相反,通過中心詞去預測上下文詞。上下文詞的數量需要人為設置。

為了減小損失函數的計算復雜度O(|V|)(|V|指詞表中詞的數量),Google提出了兩種訓練方式:負采樣(Negative Sampling)和層次(Hierarchical)Softmax。負采樣指的是將預測的詞w0記為正例,然后根據詞頻和概率從詞表中抽取K個詞wi(i=1,2,…,K)作為負例,訓練目標就成了最大化似然函數,如式(3)所示。

(3)

其中,context(w0)表示詞w0的上下文詞,P()是Sigmoid函數。這使得計算復雜度O(|V|)降到了O(K)。

層次Softmax指根據詞頻對詞表構建哈夫曼樹(Huffman Tree),每個葉節點表示一個單詞,且從根節點到葉節點只有一條路徑,因此不再需要像普通的Softmax去遍歷詞表,而是計算從根到對應葉的路徑的概率,計算復雜度便從O(|V|)降到了O(log|V|)。

需要注意的是,在應用時,CBOW模型使用上下文詞向量作為詞表示,而Skip-Gram模型使用中心詞向量作為詞表示。

1.3 FastText

Facebook團隊在Word2Vec的基礎上提出了基于CBOW的FastText模型[13]和基于Skip-Gram的FastText模型[14](分別簡寫為CBOW-FT,SG-FT)。CBOW-FT的網絡結構與CBOW的網絡結構是相似的,但訓練任務是對文檔進行分類,屬于監督學習。在模型中,文檔的所有詞都會作為輸入,并且增加了詞級的N-Gram輸入(以“I am fine”的Bigram為例,會增加“I am”、“am fine”兩個輸入)。輸入層會對兩者都進行嵌入處理,考慮到N-Gram的數據量龐大以及存在重復的情況,作者做了哈希處理。

SG-FT的網絡結構和訓練任務與Skip-Gram是一樣的。輸入層除了獨熱編碼的詞向量以外,還增加了字符級的N-Gram嵌入(也稱子詞嵌入(Subword Embedding))輸入(以“word”的Trigram為例,會增加“”四個輸入,其中“<”,“>”表示邊界)。

作者為了減小損失函數的計算復雜度,同樣采用了層次Softmax的訓練方式。

FastText模型遇到未知的詞時能夠直接使用N-gram嵌入向量的和去表示該詞,提高了容錯能力,這是Word2Vec所不具備的。另外一點,FastText,正如其名,速度非常快,通常能夠將耗時單位為小時甚至是天的訓練時間大幅縮短到分鐘之內。

1.4 GloVe

對于語義問題,Word2Vec與FastText僅利用了窗口范圍內的局部上下文的信息,Pennington在此基礎上將語料庫中關于詞的全局共現統計信息考慮進來,提出了GloVe[15](Global Vectors for Word Repre-sentation)。需要注意的是,該模型不屬于神經網絡語言模型,而是基于矩陣分解的方式。

作者用詞的共現矩陣來表示全局信息,假設矩陣為X,那么Xij表示詞wj出現在詞wi的上下文的次數,Xi=ΣkXik表示所有詞出現在詞wi的上下文的次數。對于詞wj出現在詞wi的上下文的概率,用式子表示為:

P(wj|wi)=Xij/Xi

(4)

計算該矩陣需要遍歷一次語料庫,雖然計算量較大,但這僅是一次性的前期投入成本。

在Skip-Gram模型中,詞wj出現在詞wi的上下文的概率是以Softmax的方式計算的,如式(5)所示。

(5)

其中,W表示詞的數量。

結合式(4)與式(5),作者提出了最小二乘法的損失函數,用式子表示為:

(6)

為了降低計算復雜度,作者用了3種方法:丟棄計算概率用的歸一化因子;對概率取對數;引入權重函數,如式(7)所示。

(7)

其中,α,xmax為超參數。

最終的損失函數如式(8)所示。

(8)

其中,bi,bj是偏置項。

26歲賺到人生第一桶金之后,他決定收權,將加盟改為直營,收權的方式則是“一刀切”,想留下來的,產權全部回購,否則走人。

全局對數雙線性回歸模型的名稱便是由此而來。GloVe模型結合了矩陣分解和Word2Vec的優勢,能夠充分利用全局統計信息和局部上下文信息,訓練速度更快,且詞向量擁有了更豐富的語義信息。

1.5 ELMo

Word2Vec,FastText,GloVe模型在語義上還存在一個缺陷:一個詞只有一種詞向量,即僅能表示詞的一種含義。由此這些模型又被稱為靜態詞向量模型。為了使多義詞在不同的語境下能夠擁有對應的詞向量,學者們將研究重點放在了動態詞向量模型上,Peters等人提出的EMLo[16](Embeddings from Language Models)便是一個典范,其網絡結構依次為輸入層、隱含層、輸出層。

輸入層是預訓練的靜態詞向量,一般使用上文介紹的模型,但作者用的是Char-CNN與LSTM相結合的模型[17]。隱含層的雙向LSTM用來從前后兩個方向去“閱讀”文本(即綜合上下文的信息),其層數為2L(L是超參數)。正向LSTM的任務是給定前文,預測下一個詞,反向LSTM的任務是給定后文,預測上一個詞,兩者目標都是最大化預測概率,如式(9)所示。

(9)

為了降低計算復雜度,作者對概率取了對數。ELMo的思想體現在輸出層,該層會對雙向LSTM所訓練出的隱含輸出(hidden output,簡寫為h)和輸入層進行組合得到詞向量,如式(10)所示。

(10)

其中,hi,0是輸入層的詞向量,hi,j(j≠0)是雙向LSTM的h拼接起來的向量。對于不同的下游任務,作者認為可以再有針對性地微調詞向量Ti,如式(11)所示。

(11)

其中,Θtask表示模型參數,stask是歸一化的Softmax權重,γtask是縮放系數。

可以看出,ELMo的本質其實就是根據完整的文本信息對靜態詞向量做調整,使詞向量能夠準確反映出當前語境下的含義,這便有效地解決了一詞多義的問題。在自然語言處理領域的6個典型下游任務的數據集上全面刷新了最優成績。

1.6 預訓練語言模型

ELMo使用大規模無監督語料進行預訓練和在下游任務中微調的做法為詞向量模型的研究提供了全新思路,成功證明了預訓練和微調的可行性。基于此思想,NLP領域的學者大展身手,提出了更加優秀的動態詞向量模型,尤其是OpenAI團隊的GPT[18](Generative Pre-Training)與Google團隊的BERT(Bidirectional Encoder Representations from Transfor-mers[19])。兩模型都是基于Transformer[20]改進得來的。

1.6.1 GPT

GPT是基于Transformer的解碼器改進而來的,屬于自回歸(Auto-Regressive)語言模型,也稱單向語言模型,即只能利用上文的信息去生成下文。這類模型適合自然語言生成類(Natural Language Generation,NLG)的下游任務,如問答系統。

在預訓練階段,GPT的目標是最大化預測概率,如式(12)所示。

(12)

其中,N表示某文檔中詞的數量,k表示窗口大小。

在微調階段,GPT的目標仍是最大化預測概率,不同的是此時的數據是有標簽的,如式(13)所示。

(13)

其中,x表示文檔中的詞,共有m個,y表示對應的標簽。

為了更好地適應遷移學習,GPT對輸入和輸出做了精簡和通用的設計。對于輸入,會添加首尾標記和分隔標記;對于輸出,只需要接入全連接層或其它簡單結構。

得益于Transformer強大的表征能力,GPT在公布的結果中,一舉刷新了自然語言處理領域的9項典型任務。但GPT的不足在于單向,利用不了下文的信息,無法發揮出Transformer的最佳效果。但讓人驚奇的是,GPT可以實現一些零樣本學習(Zero-Shot Learning[21])的任務。隨后為了進一步研究零樣本學習,并加強GPT的泛化能力,OpenAI團隊提出了GPT-2[22]。進而為了繼續增強泛化能力,聚焦于更通用的模型,OpenAI團隊提出了規模更加龐大的GPT-3[23],該模型嘗試用更少的領域數據,且不再進行微調,訓練好后直接應用于下游任務。

GPT,GPT-2,GPT-3的模型結構都是基于Transformer改進而來,創新性并不高,但證明了規模越來越大的語言模型是可行的,只要算力足夠強,性能還會不斷提升。

1.6.2 BERT

BERT是基于Transformer的編碼器改進而來的,屬于自編碼(Auto-Encoder)語言模型,也稱雙向語言模型,即能夠同時利用上下文的信息。這類模型適合自然語言理解類(Natural Language Understanding,NLU)的任務,比如文本分類。

BERT在模型結構上并無大的改進,其創新性體現在預訓練上,不再是之前的模型那樣根據上文或下文去預測下一個詞,而是掩碼語言模型(Masked Language Model,MLM)和預測下一句(Next Sentence Prediction,NSP)兩個任務。MLM如同英語考試中的完型填空,模型會預先對15%的詞做掩碼處理,訓練目標便是預測這些詞。NSP的提出是為了更高層次地去理解文本,訓練目標是判斷兩個句子的關系,連貫的或是隨機的。

BERT將無監督的預訓練和有監督的微調應用到深層的雙向結構中,彌補了GPT單向的不足,在自然語言處理領域的11項基本任務上都獲得了顯著的效果提升。BERT可謂是集前期研究大成之作,極大地推動了自然語言處理的發展,成為一個里程碑事件,自此預訓練和微調的方法成為了主流。

2 擴展模型

大規模的預訓練語言模型都存在參數量、數據量過大的問題,從而導致極大的資源消耗。對此,目前主要的輕量化方法有兩種:剪枝(Pruning[24])和知識蒸餾(Knowledge Distillation[25])。

剪枝技術是指通過減少神經網絡中的冗余部分,從而達到壓縮模型的目的。基于BERT,McCarley等人[26]為提升問答系統的速度,在保證精確度損失最小的情況下裁剪了隱含層和全連接層的參數,另外又研究了針對Transformer的冗余結構的剪枝方法;Michel等人[27]受到門控機制的啟發,通過裁剪注意力頭加快了BERT約17.5%的速度,且性能在機器翻譯和自然語言推理任務上幾乎沒影響;Gordon等人[28]不同程度地去除掉接近零的參數,發現30%~40%的裁剪程度不會影響精確度;Lan等人[29]提出了ALBERT,對每個注意力層使用同樣的權重矩陣,將參數減少至BERTlarge的1/18,速度加快了1.7倍。

知識蒸餾是指將強力的大模型所包含的知識,蒸餾到輕量的小模型中,使得后者能擁有前者的能力,就像教師對學生傳道授業解惑,因此大小模型又分別稱為教師(Teacher)模型、學生(Student)模型。基于BERT,Sanh等人[30]提出了更小、更快、更廉價、更輕量的DistilBERT,它的規模只是BERT的40%左右,但語言理解能力依然強悍,并且速度加快了約60%;Jiao等人[31]在預訓練和微調兩個階段都進行蒸餾,實現了TinyBERT,它不僅掌握到了通用知識,還學到了特定任務的知識;Sun等人[32]只在輸出層進行蒸餾,并提取出教師模型的中間層的知識輸入給學生模型,最終只損失了些許性能。

為了使模型學習出更準確的語義表示,除了所給文本的上下文語境之外,加入外部知識是必要的。對此,百度團隊提出了ERNIE[33]、清華大學團隊提出了ERNIE(THU)[34],兩模型的結構與BERT基本一致,區別在于BERT是對字進行掩碼,而ERNIE是對詞進行掩碼,并且在預訓練階段將知識圖譜的信息實體整合到模型中,要求模型同時匯聚上下文和先驗知識的信息;Liu等人[35]提出了K-BERT模型,將各個領域的下游任務的知識整合起來進行預訓練;Peters等人[36]提出了KnowBERT模型,一種將先驗知識嵌入到模型中的通用方法。

3 應用現狀

對GPT-3進行改進和優化得到GPT-3.5后,進一步地,受InstructGPT[37]的啟發,OpenAI團隊通過專業的人工標注訓練數據和來自人類反饋的強化學習方法(Reinforcement Learning from Human Feedback,RLHF)調整模型參數,讓GPT-3.5具備了更加逼真、自然的語言能力。基于GPT-3.5開發的ChatGPT,代表著自然語言生成領域的巨大突破,使得計算機能夠與人類進行自然語言交互,任何領域的問題都可以解答,類似于百科全書,還能實時學習新的知識。一經推出便引起了全社會的極大關注,具有革命性的意義,讓人們不得不重新思考人工智能的發展及其影響。

在ChatGPT之后,學術界、工業界迅速意識到了通用大模型的主流趨勢,紛紛加入到了對該方向的研究。大模型的有復旦大學的MOSS、清華大學的ChatGLM、百度的文心一言、阿里的通義千問、亞馬遜(Amazon)的Titan等,小工具的有ChatPDF,ChatDOC,ChatPPT,ChatExcel,ChatPaper,各種AI問答機器人等。

遵循GPT,GPT-2,GPT-3和GPT-3.5的研究路徑,OpenAI團隊提出了更加復雜和強大的GPT-4[38]。與ChatGPT相比,GPT-4具有以下優勢:接受圖像作為輸入,具有多模態能力;能夠處理超過25 000個詞的超長文本;實際應用中更具創造性和技術性;引入了更多的人工反饋并實時監控,保證安全性。

4 結束語

從20世紀50年代,自然語言處理取得了長足的發展,該文概述了主要成果,并介紹了近些年的擴展、改進和應用現狀。當前存在的挑戰在于語料、規模和安全三方面:獲取大規模且高質量的語料非常困難,數據標注是必需的;規模不斷增大,模型更加復雜和黑盒化,訓練和部署需要耗費大量的能源和資源,其預測結果和內部決策過程也難以解釋;科研人員需要及時維護以嚴防惡意攻擊和惡意內容,同時需要遵循相關法律和標準,避免產生危害。

未來的研究既會致力于解決語料、規模、安全的問題,也會加快實踐多模態的思想,并結合其它領域共同發展,單模態、單領域信息的局限性無法避免,將圖像、文本、語音、視頻等信息綜合起來學習,勢必會取得更大進展。

猜你喜歡
語言模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
讓語言描寫搖曳多姿
多向度交往對語言磨蝕的補正之道
累積動態分析下的同聲傳譯語言壓縮
3D打印中的模型分割與打包
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
我有我語言
主站蜘蛛池模板: 午夜毛片福利| 91精品啪在线观看国产| 92精品国产自产在线观看| 福利视频久久| 国产综合亚洲欧洲区精品无码| 2020最新国产精品视频| 日韩a在线观看免费观看| 97色婷婷成人综合在线观看| 日本免费福利视频| 午夜影院a级片| 国产精品九九视频| 久久77777| 久久人午夜亚洲精品无码区| 极品国产一区二区三区| 国产一区二区人大臿蕉香蕉| 四虎亚洲国产成人久久精品| 免费可以看的无遮挡av无码 | 91免费观看视频| 国产va在线观看免费| 美女被躁出白浆视频播放| 国产欧美日韩另类精彩视频| 91久久国产热精品免费| 亚洲经典在线中文字幕| 91亚洲精品第一| 久草青青在线视频| 亚洲综合香蕉| 美女视频黄又黄又免费高清| 欧美日韩亚洲国产主播第一区| 国产综合亚洲欧洲区精品无码| 亚洲人成人伊人成综合网无码| 国产特级毛片| 最新亚洲人成无码网站欣赏网 | 欧美啪啪网| 熟妇丰满人妻| 亚洲人成网址| 精品三级网站| 九九九久久国产精品| 欧美v在线| 萌白酱国产一区二区| 婷婷色丁香综合激情| a在线亚洲男人的天堂试看| 91福利免费| 玖玖精品视频在线观看| 色欲国产一区二区日韩欧美| 91国内在线视频| 国产网站免费| 狠狠色成人综合首页| 欧美亚洲激情| 成人小视频网| 四虎AV麻豆| 99久久人妻精品免费二区| 九九热精品在线视频| 亚洲美女AV免费一区| 最新亚洲人成无码网站欣赏网| 亚洲国产成人在线| 国产日韩精品欧美一区灰| 久久99蜜桃精品久久久久小说| AV片亚洲国产男人的天堂| 久久国产高清视频| 国产精品人人做人人爽人人添| 亚洲制服中文字幕一区二区| 亚洲视频在线网| 国产成人欧美| AV不卡在线永久免费观看| 国产成年无码AⅤ片在线| 日韩亚洲综合在线| 麻豆精品在线| 99这里只有精品6| 无套av在线| 国产免费久久精品99re丫丫一| 天天躁狠狠躁| 国产免费久久精品99re丫丫一 | 成年看免费观看视频拍拍| 香蕉eeww99国产在线观看| 18禁色诱爆乳网站| 亚洲二三区| 91精品国产福利| a国产精品| 日韩性网站| 91美女在线| 91福利一区二区三区| 一级高清毛片免费a级高清毛片|