日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【NLP】 理解NLP中网红特征抽取器Tranformer

發布時間:2025/3/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【NLP】 理解NLP中网红特征抽取器Tranformer 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本篇介紹目前NLP領域的“網紅”特征抽取器Transformer。首先,作為引子,引入 Transformer是什么的問題;接著,詳細介紹了Transformer的結構和其內部的機制;最后,再總結Transformer的本質和定義。

作者&編輯 | 小Dream哥

1 Transformer是什么?

很早就不斷的有讀者問小Dream哥什么時候介紹Transformer。確實,Transformer是現在NLP領域最大的網紅特征抽取器,基本現在所有的前沿研究都基于Transformer來做特征提取,不奇怪大家對他頗有興致。

但是,小Dream哥其實并不是很想寫Transformer,主要是網上寫它的文章真的太多太多了,基本上能說的,各路神仙都把它說了一遍,要寫出新意真的太難。

今天小Dream哥就在這里說說,我所理解的Transformer吧,如有不對的地方,請大家指正。

在《Attention is all you need》中,Transformer是一個用于機器翻譯的編解碼結構,這也是它為什么叫Transformer的原因。后來,因為在序列編碼中強大的特征抽取能力和高效的運算特性,Transformer被從編解碼結構里抽離出來,成為了在NLP領域,目前最流行的特征抽取器。

我們暫且把對Transformer的認知,停留在這個層面,看完Transformer里到底有什么之后,再來思考這個問題,看能不能有更多的收獲。

2?Transformer里有什么

安利一下,上圖來自http://jalammar.github.io/illustrated-transformer/該篇博客講tranformer的網絡結構講的非常細和形象,想要了解這方面的讀者開源仔細讀一下。

上圖是Transformer中,第一個sub-layer的結構示意圖。其特別之處只有輸入接收的為字向量和位置編碼的和,其他sub-layer的輸入為上一層sub-layer的輸出。每一個sub-layer,除上述差異之外,別無二致,所以我們只需要了解一個就可以。

通常,會有多層這樣的sub-layer,在Bert-base中,有12層,GPT-2.0則更深,所以參數量都很大。GPT-2.0的參數量達到了“喪心病狂”的3億之多,是名副其實的大模型了。曾經剛入NLP坑的時候,會慶幸自己不用像CV的同學那樣,天天看著貴的顯卡乍舌嘆氣。不過小Dream哥現在也不用看了,訓練最新模型的顯卡,是一定買不起了。話說回來,NLP中,模型參數已經大大超過了CV模型的參數量,正在朝著超大規模網絡的方向狂奔。真有點擔心,這樣下去,后面NLP的玩家就只剩下那幾個大玩家了。

好了,我們先看看sub-layer都有些什么內容。

(1) self-attention

上圖是Transformer中self-attention的計算過程。其實在Transformer中,Q,K,V指的都是輸入序列乘上不同的權重W_Q,W_K,W_V。上述過程,可以用如下的公式概括:

看過我們上一篇Attention文章的同學,應該對這個公式很熟悉。在Transformer中,主要通過這樣一層self-Attention對輸入序列進行編碼。

該編碼過程的一個特點是,在編碼序列中的某一個詞時,讓該詞充分的與序列中的其他詞進行運算,從而能夠得到該詞與序列中所有詞的句法和語義關系編碼。

該編碼過程的另外一個重要的特點是,序列是并行輸入的,因此運算效率很高

(2) Multi-head Attention


Multi-head Attention,即多頭注意力機制。大概的處理流程如下圖所示:

更多的細節,讀者可以參考原文,這里不再詳述??偟膩碚f,多頭機制就是8組權重,計算出了8個不同的輸出,再通過拼接和運算得到新的序列編碼。

那么,增加了8倍的參數和運算量。引入這樣的機制有什么好處呢?

1) 極大的增強了模型的序列編碼能力,特別是序列內詞之間關系的語義表征能力。這個可以這樣去想,假如只有一個頭的話,因為是self-attention,在計算過程中,很有可能該詞與該詞的的計算結果可能會比較大,從而詞與自身的運算占據了很大的影響。如果引入多頭機制,不同的權重,則可以避免這種弊端,增強模型的編碼能力。

2) 實現了Attention的多個表征子空間。這樣的好處是,每個子空間可以表征序列不同方面語義信息。這方面小Dream哥也沒有看到相關論文的解釋和支撐,就不多說了,了解的小伙伴可以留言指教。

(3) Feed-forward


每一個sub-layer還會接一個Feed-forward Neural Network(FNN),FNN的計算公式如下:

即在每個sub-layer,針對self-Attention層的輸出,先使用一個線性變換,再針對該線性變換的輸出使用RELU函數,最后再針對RELU函數的輸出使用一個線性變化。那么,做這么繁瑣的變換有什么意義呢?

我們將FNN與CNN做對比,其實可以發現,其效果與加上一層卷積核大小為1*1的CNN是一樣的。那么這就好理解了,這層所謂的FNN其實也是做特征提取的。至于它為什么不直接取名為1*1CNN layer,這就要去問Tranformer的發明者了。

在Transformer中,還有其他的層,例如Poition-Encoding層,The Residuals殘差連接等,這些都好理解,讀者可以參考前面推薦的Jay Alammar的博客。

3 再說Transformer

前面大概講述了Transformer的結構及其每個sub-layer的組成。那么我們再來討論一下,Transformer到底是什么?

我們可不可以這樣說,Transformer其實是一個用于對序列輸入進行特征編碼的工具。它以self-Attention機制為基礎,從而能夠編碼序列輸入的語義信息,對序列輸入內不同詞之間的關系也具有較強的編碼能力,特別是Multi-Attention的引入,極大的增強了其編碼能力。同時,Transformer內其實還有CNN的影子,盡管原作者避免提及。并且,因為其結構上的優勢,像CNN一樣,Transformer天然就能夠并行計算,這一點是RNN等模型無法具備的。

總結

Transformer中最重要的特點就是引入了Attention,特別是Multi-Head Attention。作為一個序列輸入的特征抽取器,其編碼能力強大,沒有明顯的缺點。短期內難以看到可以匹敵的競爭對手。NLP領域的同學們,務必好好研究。

讀者們可以留言,或者加入我們的NLP群進行討論。感興趣的同學可以微信搜索jen104,備注"加入有三AI NLP群"

下期預告:說一說NLP領域的“當紅辣子雞”BERT

知識星球推薦

掃描上面的二維碼,就可以加入我們的星球,助你成長為一名合格的自然語言處理算法工程師。

知識星球主要有以下內容:

(1) 聊天機器人。考慮到聊天機器人是一個非常復雜的NLP應用場景,幾乎涵蓋了所有的NLP任務及應用。所以小Dream哥計劃以聊天機器人作為切入點,通過介紹聊天機器人的原理和實踐,逐步系統的更新到大部分NLP的知識,會包括語義匹配,文本分類,意圖識別,語義匹配命名實體識別、對話管理以及分詞等。

(2) 知識圖譜。知識圖譜對于NLP各項任務效果好壞的重要性,就好比基礎知識對于一個學生成績好壞的重要性。他是NLP最重要的基礎設施,目前各大公司都在著力打造知識圖譜,作為一個NLP工程師,必須要熟悉和了解他。

(3) NLP預訓練模型。基于海量數據,進行超大規模網絡的無監督預訓練。具體的任務再通過少量的樣本進行Fine-Tune。這樣模式是目前NLP領域最火熱的模式,很有可能引領NLP進入一個全新發展高度。你怎么不深入的了解?


轉載文章請后臺聯系

侵權必究

往期精選

  • 【NLP】自然語言處理專欄上線,帶你一步一步走進“人工智能技術皇冠上的明珠”。

  • 【NLP】用于語音識別、分詞的隱馬爾科夫模型HMM

  • 【NLP】用于序列標注問題的條件隨機場(Conditional Random Field, CRF)

  • 【NLP】經典分類模型樸素貝葉斯解讀

  • 【NLP】 NLP專欄欄主自述,說不出口的話就交給AI說吧

  • 【NLP】 深度學習NLP開篇-循環神經網絡(RNN)

  • 【NLP】 NLP中應用最廣泛的特征抽取模型-LSTM

  • 【NLP】 聊聊NLP中的attention機制

  • 【技術綜述】深度學習在自然語言處理中的應用發展

總結

以上是生活随笔為你收集整理的【NLP】 理解NLP中网红特征抽取器Tranformer的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。