|
終于到序列模型課程最后一周的內(nèi)容了,本篇博客依然是基于Andrew Ng的深度學習專項課程的序列模型來編寫的,本篇內(nèi)容不會很多,主要就是Transformer網(wǎng)絡(luò)相關(guān)的知識點,Transformer網(wǎng)絡(luò)是一種基于注意力機制的神經(jīng)網(wǎng)絡(luò)架構(gòu),被廣泛應(yīng)用于自然語言處理領(lǐng)域,尤其是機器翻譯任務(wù)中。本文將詳細介紹Transformer網(wǎng)絡(luò)的關(guān)鍵概念和工作原理。廢話不多說,現(xiàn)在開始吧。 Transformer 網(wǎng)絡(luò)介紹我們前面講解過在序列模型中常用的技術(shù)包括RNN、GRU和LSTM,這些模型雖然解決了一些問題,包括梯度消失、長距離依賴等,但模型的復(fù)雜度也隨之增加了不少。它們都是順序模型,會將輸入一個詞或一個標記地順序處理。顯然這樣的處理性能是比較弱的。 Transformer架構(gòu)創(chuàng)新性地將注意力機制和CNN相結(jié)合,允許我們對整個序列進行并行計算,可以一次處理整個句子,而不是從左到右逐詞處理。它的核心理念主要是自注意力(Self Attention)和多頭注意力(Multi-Head Attention) 這兩點。 Self-Attention自注意力(Self-Attention)機制是Transformer網(wǎng)絡(luò)的核心組件。它可以對序列進行并行計算,為序列中的每個詞匯生成一個注意力向量,表示其在特定上下文中的含義。 自注意力機制可以幫助我們理解每個單詞在特定上下文中的含義。比如,'Africa'這個詞,在不同的上下文中可能代表歷史興趣的地點,或者假期的目的地,或者世界第二大洲。自注意力機制會根據(jù)周圍的單詞來確定在此句子中我們談?wù)摰?非洲'的最合適的表示方式。 ![]() 自注意力機制為序列中每個詞匯計算出一個Query向量、Key向量和Value向量。其具體計算步驟如下:
自注意力機制的優(yōu)點在于可以根據(jù)整個序列的上下文來獲得每個詞匯的表示,而非僅依賴于臨近詞匯。同時,其并行計算性質(zhì)也大大提升了模型的訓(xùn)練和推理效率。 我們對序列中的所有單詞執(zhí)行上述計算過程,以獲取相應(yīng)的自注意力表示。最后,所有這些計算可以由Attention(Q, K, V)進行概括,其中Q,K,V是所有查詢、鍵和值的矩陣。值得注意的是,這里Query、Key、Value矩陣的計算都使用了不同的權(quán)重矩陣,這使得自注意力機制可以學習輸入序列的不同表示。 ![]() 自注意力機制的結(jié)果是每個詞的表示都更為豐富和細致,因為它考慮了每個詞左右的上下文。 Multi-Head AttentionMulti-Head Attention 機制對自注意力機制進行拓展,允許模型聯(lián)合學習序列的不同表示子空間。 多頭注意力將輸入序列重復(fù)進行自注意力計算n次,每次使用不同的權(quán)重矩陣,得到n個注意力向量序列。然后將這n個序列拼接并線性轉(zhuǎn)換,得到最終的序列表示,即:
每次計算一個序列的自注意力被稱為一個'頭',因此,'多頭注意力'就是多次進行自注意力計算。每個'頭'可能對應(yīng)著不同的問題,例如第一個'頭'可能關(guān)注'發(fā)生了什么',第二個'頭'可能關(guān)注'何時發(fā)生',第三個'頭'可能關(guān)注'與誰有關(guān)'等等。 多頭注意力的計算過程與自注意力基本一致,但是使用了不同的權(quán)重矩陣(,并且將所有的注意力向量(一般情況下是8個)進行拼接,再乘以一個權(quán)重矩陣,最后得到的結(jié)果就是多頭注意力的輸出。在實際計算中,由于不同'頭'的計算互不影響,可以同時計算所有的'頭',即并行計算,以提高計算效率。 總的來說,多頭注意力機制可以為每個單詞學習到更豐富、更好的表示,每個'頭'都能從不同的角度去理解序列中的每個單詞。 Transformer 網(wǎng)絡(luò)在Transformer網(wǎng)絡(luò)中,Encoder和Decoder均由多頭注意力層和全連接前饋網(wǎng)絡(luò)組成,網(wǎng)絡(luò)的高層結(jié)構(gòu)如下:
![]() 我們以一個法語翻譯成英語的例子來講解這個過程:
總結(jié)Transformer網(wǎng)絡(luò)通過引入自注意力和多頭注意力等機制,實現(xiàn)了序列建模的質(zhì)的飛躍,在機器翻譯、文本摘要、問答系統(tǒng)等任務(wù)上都取得了極大的成功。研究表明,其并行計算結(jié)構(gòu)也使Transformer網(wǎng)絡(luò)相比RNN等模型具有顯著的計算效率優(yōu)勢,如今百家爭鳴的大模型底層其實也離不開它的身影,理解它對于學習那些大語言模型是非常有幫助的。 |
|
|
來自: 漢無為 > 《Transform》