NLP范式總結(jié) | 擁抱新范式
1.基于傳統(tǒng)機(jī)器學(xué)習(xí)的范式(第一范式)
在早期的自然語(yǔ)言處理(NLP)研究中,神經(jīng)網(wǎng)絡(luò)尚未被引入。在這個(gè)時(shí)期,NLP處理方法通常需要從自然語(yǔ)言語(yǔ)料庫(kù)中提取各種特征,例如詞性標(biāo)注、命名實(shí)體識(shí)別和短語(yǔ)結(jié)構(gòu)分析。然后,使用特定的規(guī)則或數(shù)學(xué)、統(tǒng)計(jì)學(xué)模型來(lái)對(duì)提取出的特征進(jìn)行匹配和應(yīng)用。例如,可以通過(guò)詞性標(biāo)注和短語(yǔ)結(jié)構(gòu)分析提取文本中的關(guān)鍵信息,然后利用數(shù)學(xué)模型,如隱馬爾可夫模型或貝葉斯網(wǎng)絡(luò),來(lái)執(zhí)行序列分類和序列標(biāo)注等任務(wù)。其核心觀點(diǎn)在于NLP中的特征都是完全獨(dú)立的。
2.基于深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的范式(第二范式)
隨著時(shí)代的發(fā)展,神經(jīng)網(wǎng)絡(luò)被引入自然語(yǔ)言處理。此范式是指在引入神經(jīng)網(wǎng)絡(luò)之后及出現(xiàn)預(yù)訓(xùn)練模型之前的NLP領(lǐng)域的研究方法和思路。這類方法避免了手動(dòng)設(shè)置特征和規(guī)則的需求,從而極大地節(jié)省了人力資源。盡管不需要手動(dòng)設(shè)計(jì)特征和規(guī)則,但仍然需要人工設(shè)計(jì)合適的神經(jīng)網(wǎng)絡(luò)架構(gòu)來(lái)進(jìn)行數(shù)據(jù)集的訓(xùn)練。因此,第二范式的方法仍然需要一定的專業(yè)知識(shí)和經(jīng)驗(yàn)來(lái)選擇和優(yōu)化神經(jīng)網(wǎng)絡(luò)架構(gòu),以實(shí)現(xiàn)良好的NLP任務(wù)性能。例如引入word2vec將詞的稀疏向量轉(zhuǎn)換成稠密向量表征,應(yīng)用CNN、RNN等深度學(xué)習(xí)模型建模。
word2vec是Google研究團(tuán)隊(duì)里的Tomas Mikolov等人于2013年的《Distributed Representations ofWords and Phrases and their Compositionality》以及后續(xù)的《Efficient Estimation of Word Representations in Vector Space》兩篇文章中提出的一種高效訓(xùn)練詞向量的模型,它可以學(xué)習(xí)詞向量,將詞映射到高維空間中,并捕獲詞之間的語(yǔ)義關(guān)系。其基本思想即用詞來(lái)預(yù)測(cè)詞,主要由兩種模型實(shí)現(xiàn):Skip-Gram(跳字模型)和CBOW(連續(xù)詞袋模型)。如圖所示:
在Skip-Gram模型中,根據(jù)當(dāng)前詞預(yù)測(cè)其周圍的詞。而在CBOW模型中,根據(jù)當(dāng)前詞的上下文預(yù)測(cè)其中心詞。
3.基于預(yù)訓(xùn)練模型和Fine-Tuning的范式(第三范式)
第三范式主要基于大規(guī)模預(yù)訓(xùn)練模型對(duì)下游任務(wù)進(jìn)行Fine-Tuning微調(diào)模式,其核心觀點(diǎn)在于模型可以通過(guò)大量無(wú)監(jiān)督數(shù)據(jù)的訓(xùn)練,來(lái)存儲(chǔ)先驗(yàn)知識(shí),從而不影響整體性能的前提下,降低了對(duì)下游任務(wù)的數(shù)據(jù)需求。其特點(diǎn)是不需要大量的有監(jiān)督下游任務(wù)數(shù)據(jù),模型主要在大型無(wú)監(jiān)督數(shù)據(jù)上訓(xùn)練,只需要少量下游任務(wù)數(shù)據(jù)來(lái)微調(diào)少量網(wǎng)絡(luò)層即可。此范式中常見(jiàn)的預(yù)訓(xùn)練模型有Bert、GPT、Elmo等。下面我們對(duì)最具代表性的Bert進(jìn)行介紹。
BERT(Bidirectional Encoder Representations from Transformers)是由Google在2018年提出的一種新的自然語(yǔ)言處理預(yù)訓(xùn)練模型。其利用Transformer Encoder作為模型結(jié)構(gòu),可以進(jìn)行更好的并行計(jì)算, 捕獲語(yǔ)義的全局依賴關(guān)系。谷歌在預(yù)訓(xùn)練BERT時(shí)只讓其同時(shí)進(jìn)行兩個(gè)任務(wù):漏字填空和下個(gè)句子預(yù)測(cè)。漏字填空簡(jiǎn)單來(lái)說(shuō)就是隨機(jī)遮蓋或替換一句話里面的任意字或詞,然后讓模型通過(guò)上下文預(yù)測(cè)那一個(gè)被遮蓋或替換的部分,之后做 Loss 的時(shí)候也只計(jì)算被遮蓋部分的 Loss。下個(gè)句子預(yù)測(cè)則是選取A和B兩個(gè)句子作為模型的輸入,其中50%的B是A后實(shí)際的下一個(gè)句子(標(biāo)記為IsNext),另外50%的B則是從語(yǔ)料庫(kù)中隨機(jī)選取的句子(標(biāo)記為NotNext),通過(guò)模型去預(yù)測(cè)B是否是A后的實(shí)際句子,即A與B之間是否相連。
BERT模型具有很強(qiáng)的通用性,可以靈活地遷移到各種自然語(yǔ)言處理任務(wù)中。針對(duì)具體的下游任務(wù),我們只需要進(jìn)行模型的微調(diào),就可以得到一個(gè)性能良好的任務(wù)模型。
上圖展示了BERT微調(diào)各種任務(wù),其中(a)(b)主要展現(xiàn)了文本分類任務(wù),(c)展現(xiàn)了問(wèn)答任務(wù),(d)展現(xiàn)了NER即多標(biāo)簽文本分類任務(wù)。
微調(diào)BERT只需要根據(jù)目標(biāo)任務(wù)的數(shù)據(jù)集和需求,利用預(yù)訓(xùn)練模型中的參數(shù)初始化下游任務(wù)模型,然后在目標(biāo)任務(wù)數(shù)據(jù)上繼續(xù)訓(xùn)練這些參數(shù),讓模型適應(yīng)特定任務(wù)。在這個(gè)過(guò)程中,預(yù)訓(xùn)練階段使用的是無(wú)標(biāo)注的語(yǔ)料,而微調(diào)階段使用的則是人工標(biāo)注的帶標(biāo)簽的數(shù)據(jù)。通過(guò)有監(jiān)督的學(xué)習(xí),BERT模型可以快速捕捉到目標(biāo)任務(wù)所需要的語(yǔ)義特征。
通過(guò)BERT我們可以輕松進(jìn)行模型調(diào)參和下游任務(wù)微調(diào),使其支持各種NLP應(yīng)用,而無(wú)需耗費(fèi)大量資源從零訓(xùn)練一個(gè)全新的模型。這種遷移學(xué)習(xí)策略極大地提升了BERT的適用性和實(shí)用價(jià)值。
4.基于預(yù)訓(xùn)練和Prompt預(yù)測(cè)的范式(第四范式)
NLP發(fā)展到今天已經(jīng)進(jìn)入到了大模型的時(shí)代,隨著模型逐漸突破邊界,涌現(xiàn)出了直接應(yīng)用到下游任務(wù)的能力,只需要給模型幾個(gè)提示即可激發(fā)這些潛力,因此實(shí)現(xiàn)了預(yù)訓(xùn)練模型加少量樣本或零樣本的時(shí)代。下圖形象的展示了Prompt的作用過(guò)程:
Prompt的本質(zhì)是在將下游任務(wù)和預(yù)訓(xùn)練任務(wù)統(tǒng)一,充分挖掘預(yù)訓(xùn)練模型的能力。前文提到第三范式的fine-tuning過(guò)程是調(diào)整預(yù)訓(xùn)練模型,使其更加匹配下游任務(wù),那么第四范式就正好相反,prompt過(guò)程則是調(diào)整下游任務(wù),使其更加匹配預(yù)訓(xùn)練模型。Prompt模版可以主要分為兩種:人工定義模版和可學(xué)習(xí)模版。人工定義模版是指人工構(gòu)造提示語(yǔ)句,其中包含需要模型生成的答案位置。答案位置可以位于提示語(yǔ)句的前面、中間或后面,但多數(shù)情況下置于中間或句尾。這種設(shè)計(jì)需要依賴對(duì)預(yù)訓(xùn)練數(shù)據(jù)分布的理解,只有當(dāng)提示語(yǔ)句語(yǔ)義上接近預(yù)訓(xùn)練語(yǔ)料,才能發(fā)揮較好效果。可學(xué)習(xí)模板則是為了減少固定模板的設(shè)計(jì)難度而提出的思路,典型的如P-tuning方法將提示語(yǔ)句中的一些位置表示成特殊的可學(xué)習(xí)向量,然后在下游任務(wù)上使用少量標(biāo)注樣本來(lái)更新這些向量,從而使提示語(yǔ)句自動(dòng)適應(yīng)特定任務(wù)。Prompt預(yù)測(cè)范式作為預(yù)訓(xùn)練語(yǔ)言模型的新興應(yīng)用方向還有大量開(kāi)拓空間,我們需要在理論和實(shí)踐上不斷深化研究,推動(dòng)自然語(yǔ)言處理技術(shù)向著更高的目標(biāo)邁進(jìn)。5總結(jié) 當(dāng)下模型訓(xùn)練參數(shù)算力等在飛速增長(zhǎng),通用人工智能(AGI)似乎成為了可能,AGI有潛力為每個(gè)人提供令人難以置信的新能力;可以想象,在那里每個(gè)人都能夠通過(guò)AI協(xié)助完成幾乎所有認(rèn)知任務(wù),這將為人類的創(chuàng)造性和創(chuàng)新力提供巨大的助力。未來(lái)可能會(huì)涌現(xiàn)出新的范式,而我們要做的就是擁抱未來(lái)。
參考文獻(xiàn)
[1] Devlin J, Chang M W, Lee K, et al. Bert: Pre-training of deep bidirectional transformers for language understanding[J]. arXiv preprint arXiv:1810.04805, 2018.
[2] Lester B, Al-Rfou R, Constant N. The power of scale for parameter-efficient prompt tuning[J]. arXiv preprint arXiv:2104.08691, 2021.
[3]? https://zhuanlan.zhihu.com/p/397004230
[4] https://www.cnblogs.com/jiangxinyang/p/17241491.html
[5] Church K W. Word2Vec[J]. Natural Language Engineering, 2017, 23(1): 155-162.
本文轉(zhuǎn)載自??AI遇見(jiàn)云??,作者: 王致洪 ????
