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