小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Transformer網(wǎng)絡(luò)解讀

 漢無為 2023-09-25

終于到序列模型課程最后一周的內(nèi)容了,本篇博客依然是基于Andrew Ng的深度學(xué)習(xí)專項(xiàng)課程的序列模型來編寫的,本篇內(nèi)容不會很多,主要就是Transformer網(wǎng)絡(luò)相關(guān)的知識點(diǎn),Transformer網(wǎng)絡(luò)是一種基于注意力機(jī)制的神經(jīng)網(wǎng)絡(luò)架構(gòu),被廣泛應(yīng)用于自然語言處理領(lǐng)域,尤其是機(jī)器翻譯任務(wù)中。本文將詳細(xì)介紹Transformer網(wǎng)絡(luò)的關(guān)鍵概念和工作原理。廢話不多說,現(xiàn)在開始吧。

Transformer 網(wǎng)絡(luò)介紹

我們前面講解過在序列模型中常用的技術(shù)包括RNN、GRU和LSTM,這些模型雖然解決了一些問題,包括梯度消失、長距離依賴等,但模型的復(fù)雜度也隨之增加了不少。它們都是順序模型,會將輸入一個(gè)詞或一個(gè)標(biāo)記地順序處理。顯然這樣的處理性能是比較弱的。

Transformer架構(gòu)創(chuàng)新性地將注意力機(jī)制和CNN相結(jié)合,允許我們對整個(gè)序列進(jìn)行并行計(jì)算,可以一次處理整個(gè)句子,而不是從左到右逐詞處理。它的核心理念主要是自注意力(Self Attention)和多頭注意力(Multi-Head Attention) 這兩點(diǎn)。
簡單來說,如果我們有一個(gè)包含5個(gè)詞的句子,自注意的目標(biāo)是并行地為這五個(gè)詞計(jì)算出五個(gè)標(biāo)識。而多頭注意力就是對自注意力過程進(jìn)行循環(huán),從而得到這些表示的多個(gè)版本,這些表示是非常豐富的,可以用于機(jī)器翻譯或其他NLP任務(wù)。

Self-Attention

自注意力(Self-Attention)機(jī)制是Transformer網(wǎng)絡(luò)的核心組件。它可以對序列進(jìn)行并行計(jì)算,為序列中的每個(gè)詞匯生成一個(gè)注意力向量,表示其在特定上下文中的含義。

自注意力機(jī)制可以幫助我們理解每個(gè)單詞在特定上下文中的含義。比如,'Africa'這個(gè)詞,在不同的上下文中可能代表歷史興趣的地點(diǎn),或者假期的目的地,或者世界第二大洲。自注意力機(jī)制會根據(jù)周圍的單詞來確定在此句子中我們談?wù)摰?非洲'的最合適的表示方式。

圖片

自注意力機(jī)制為序列中每個(gè)詞匯計(jì)算出一個(gè)Query向量、Key向量和Value向量。其具體計(jì)算步驟如下:

  1. 首先,我們將每個(gè)單詞與查詢、鍵和值對應(yīng)起來。這些對由學(xué)習(xí)到的矩陣和該單詞的嵌入向量相乘得到。

  2. 查詢可以看作是對單詞的一個(gè)問題,例如,對'Africa'的問題可能是'那里發(fā)生了什么?'。

  3. 我們計(jì)算查詢和每個(gè)鍵的內(nèi)積,來確定其他單詞對查詢問題的回答的質(zhì)量。

  4. 我們對所有內(nèi)積結(jié)果進(jìn)行softmax運(yùn)算,這樣可以獲得每個(gè)單詞的注意力值。

  5. 最后,我們將得到的softmax值與相應(yīng)單詞的值向量相乘,并將結(jié)果相加,得到的就是我們需要的自注意力表示。

自注意力機(jī)制的優(yōu)點(diǎn)在于可以根據(jù)整個(gè)序列的上下文來獲得每個(gè)詞匯的表示,而非僅依賴于臨近詞匯。同時(shí),其并行計(jì)算性質(zhì)也大大提升了模型的訓(xùn)練和推理效率。

我們對序列中的所有單詞執(zhí)行上述計(jì)算過程,以獲取相應(yīng)的自注意力表示。最后,所有這些計(jì)算可以由Attention(Q, K, V)進(jìn)行概括,其中Q,K,V是所有查詢、鍵和值的矩陣。值得注意的是,這里Query、Key、Value矩陣的計(jì)算都使用了不同的權(quán)重矩陣,這使得自注意力機(jī)制可以學(xué)習(xí)輸入序列的不同表示。

圖片

自注意力機(jī)制的結(jié)果是每個(gè)詞的表示都更為豐富和細(xì)致,因?yàn)樗紤]了每個(gè)詞左右的上下文。

Multi-Head Attention

Multi-Head Attention 機(jī)制對自注意力機(jī)制進(jìn)行拓展,允許模型聯(lián)合學(xué)習(xí)序列的不同表示子空間。

多頭注意力將輸入序列重復(fù)進(jìn)行自注意力計(jì)算n次,每次使用不同的權(quán)重矩陣,得到n個(gè)注意力向量序列。然后將這n個(gè)序列拼接并線性轉(zhuǎn)換,得到最終的序列表示,即:

圖片

圖片

每次計(jì)算一個(gè)序列的自注意力被稱為一個(gè)'頭',因此,'多頭注意力'就是多次進(jìn)行自注意力計(jì)算。每個(gè)'頭'可能對應(yīng)著不同的問題,例如第一個(gè)'頭'可能關(guān)注'發(fā)生了什么',第二個(gè)'頭'可能關(guān)注'何時(shí)發(fā)生',第三個(gè)'頭'可能關(guān)注'與誰有關(guān)'等等。

多頭注意力的計(jì)算過程與自注意力基本一致,但是使用了不同的權(quán)重矩陣(,并且將所有的注意力向量(一般情況下是8個(gè))進(jìn)行拼接,再乘以一個(gè)權(quán)重矩陣,最后得到的結(jié)果就是多頭注意力的輸出。在實(shí)際計(jì)算中,由于不同'頭'的計(jì)算互不影響,可以同時(shí)計(jì)算所有的'頭',即并行計(jì)算,以提高計(jì)算效率。

總的來說,多頭注意力機(jī)制可以為每個(gè)單詞學(xué)習(xí)到更豐富、更好的表示,每個(gè)'頭'都能從不同的角度去理解序列中的每個(gè)單詞。

Transformer 網(wǎng)絡(luò)

在Transformer網(wǎng)絡(luò)中,Encoder和Decoder均由多頭注意力層和全連接前饋網(wǎng)絡(luò)組成,網(wǎng)絡(luò)的高層結(jié)構(gòu)如下:

  • Encoder由N個(gè)編碼器塊(Encoder Block)串聯(lián)組成,每個(gè)編碼器塊包含:

    • 一個(gè)多頭注意力(Multi-Head Attention)層

    • 一個(gè)前饋全連接神經(jīng)網(wǎng)絡(luò)(Feed Forward Neural Network)

  • Decoder也由N個(gè)解碼器塊(Decoder Block)串聯(lián)組成,每個(gè)解碼器塊包含:

    • 一個(gè)多頭注意力層

    • 一個(gè)對Encoder輸出的多頭注意力層

    • 一個(gè)前饋全連接神經(jīng)網(wǎng)絡(luò)

圖片

我們以一個(gè)法語翻譯成英語的例子來講解這個(gè)過程:

  1. 首先,輸入句子的嵌入會被傳遞到編碼器塊,該塊具有多頭注意力機(jī)制。將嵌入和權(quán)重矩陣計(jì)算出的Q,K和V值輸入到這個(gè)模塊,然后生成一個(gè)可以傳遞到前饋神經(jīng)網(wǎng)絡(luò)的矩陣,用于確定句子中有趣的特性。在Transformer的論文中,這個(gè)編碼塊會被重復(fù)N次,一般N的值為6。

  2. 然后,編碼器的輸出會被輸入到解碼器塊。解碼器的任務(wù)是輸出英文翻譯。解碼器塊的每一步都會輸入已經(jīng)生成的翻譯的前幾個(gè)單詞。當(dāng)我們剛開始時(shí),唯一知道的是翻譯會以一個(gè)開始句子的標(biāo)記開始。這個(gè)標(biāo)記被輸入到多頭注意力塊,并用于計(jì)算這個(gè)多頭注意力塊的Q,K和V。這個(gè)塊的輸出會用于生成下一個(gè)多頭注意力塊的Q矩陣,而編碼器的輸出會用于生成K和V。

  3. 解碼器塊的輸出被輸入到前饋神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)的任務(wù)是預(yù)測句子中的下一個(gè)單詞。
    除了主要的編碼器和解碼器塊,Transformer Network還有一些額外的特性:

  • 位置編碼:對輸入進(jìn)行位置編碼,以便在翻譯中考慮單詞在句子中的位置。使用一組正弦和余弦方程來實(shí)現(xiàn)。

  • 殘差連接:除了將位置編碼添加到嵌入中,還通過殘差連接將它們傳遞到網(wǎng)絡(luò)中。這與之前在ResNet中看到的殘差連接類似,其目的是在整個(gè)架構(gòu)中傳遞位置信息。

  • Adenome層:Adenome層類似于BatchNorm層,其目的是傳遞位置信息。

  • 遮掩多頭注意力:這只在訓(xùn)練過程中重要,它模擬網(wǎng)絡(luò)在預(yù)測時(shí)的行為,看看給定正確的前半部分翻譯,神經(jīng)網(wǎng)絡(luò)是否能準(zhǔn)確地預(yù)測序列中的下一個(gè)單詞。

總結(jié)

Transformer網(wǎng)絡(luò)通過引入自注意力和多頭注意力等機(jī)制,實(shí)現(xiàn)了序列建模的質(zhì)的飛躍,在機(jī)器翻譯、文本摘要、問答系統(tǒng)等任務(wù)上都取得了極大的成功。研究表明,其并行計(jì)算結(jié)構(gòu)也使Transformer網(wǎng)絡(luò)相比RNN等模型具有顯著的計(jì)算效率優(yōu)勢,如今百家爭鳴的大模型底層其實(shí)也離不開它的身影,理解它對于學(xué)習(xí)那些大語言模型是非常有幫助的。

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多