国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

深入理解深度學(xué)習(xí)——Transformer:解碼器(Decoder)部分

這篇具有很好參考價(jià)值的文章主要介紹了深入理解深度學(xué)習(xí)——Transformer:解碼器(Decoder)部分。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

分類目錄:《深入理解深度學(xué)習(xí)》總目錄

相關(guān)文章:
·注意力機(jī)制(Attention Mechanism):基礎(chǔ)知識
·注意力機(jī)制(Attention Mechanism):注意力匯聚與Nadaraya-Watson核回歸
·注意力機(jī)制(Attention Mechanism):注意力評分函數(shù)(Attention Scoring Function)
·注意力機(jī)制(Attention Mechanism):Bahdanau注意力
·注意力機(jī)制(Attention Mechanism):自注意力(Self-attention)
·注意力機(jī)制(Attention Mechanism):多頭注意力(Multi-head Attention)
· 注意力機(jī)制(Attention Mechanism):帶掩碼的多頭注意力(Masked Multi-head Attention)
·注意力機(jī)制(Attention Mechanism):位置編碼(Positional Encoding)
· Transformer:編碼器(Encoder)部分
· Transformer:解碼器(Decoder)的多頭注意力層(Multi-headAttention)


假設(shè)我們想把英語句子“I am good.”(原句)翻譯成法語句子“Je vais bien.”(目標(biāo)句)。首先,將原句“I am good.”送入編碼器,使編碼器學(xué)習(xí)原句,并計(jì)算特征值?!渡钊肜斫馍疃葘W(xué)習(xí)——Transformer:編碼器(Encoder)部分》中,我們學(xué)習(xí)了編碼器是如何計(jì)算原句的特征值的。然后,我們把從編碼器求得的特征值送入解碼器。解碼器將特征值作為輸入,并生成目標(biāo)句Je vais bien,如下圖所示。
深入理解深度學(xué)習(xí)——Transformer:解碼器(Decoder)部分

在編碼器部分,我們了解到可以疊加 N N N個(gè)編碼器。同理,解碼器也可以有 N N N個(gè)疊加在一起。為簡化說明,我們設(shè)定 N = 2 N=2 N=2。如下圖所示,一個(gè)解碼器的輸出會(huì)被作為輸入傳入下一個(gè)解碼器。我們還可以看到,編碼器將原句的特征值(編碼器的輸出)作為輸入傳給所有解碼器,而非只給第一個(gè)解碼器。因此,一個(gè)解碼器(第一個(gè)除外)將有兩個(gè)輸入:一個(gè)是來自前一個(gè)解碼器的輸出,另一個(gè)是編碼器輸出的特征值。
深入理解深度學(xué)習(xí)——Transformer:解碼器(Decoder)部分

接下來,我們學(xué)習(xí)解碼器究竟是如何生成目標(biāo)句的。當(dāng) t = 1 t=1 t=1時(shí)( t t t表示時(shí)間步),解碼器的輸入是<sos>,這表示句子的開始。解碼器收到<sos>作為輸入,生成目標(biāo)句中的第一個(gè)詞,即Je,如下圖 t = 1 t=1 t=1所示。當(dāng) t = 2 t=2 t=2時(shí),解碼器使用當(dāng)前的輸入和在上一步( t ? 1 t-1 t?1)生成的單詞,預(yù)測句子中的下一個(gè)單詞。在本例中,解碼器將<sos>Je作為輸入,并試圖生成目標(biāo)句中的下一個(gè)單詞,如下圖 t = 2 t=2 t=2所示。同理,解碼器在 t = 3 t=3 t=3時(shí),將<sos>、Jevais作為輸入,并試圖生成句子中的下一個(gè)單詞,如下圖 t = 3 t=3 t=3所示。在每一步中,解碼器都將上一步新生成的單詞與輸入的詞結(jié)合起來,并預(yù)測下一個(gè)單詞。因此,在最后一步( t = 4 t=4 t=4),解碼器將<sos>、Jevaisbien作為輸入,并試圖生成句子中的下一個(gè)單詞,如下圖 t = 4 t=4 t=4所示。
深入理解深度學(xué)習(xí)——Transformer:解碼器(Decoder)部分
從上圖中可以看到,一旦生成表示句子結(jié)束的<eos>標(biāo)記,就意味著解碼器已經(jīng)完成了對目標(biāo)句的生成工作。

在編碼器部分,我們將輸入轉(zhuǎn)換為嵌入矩陣,并將位置編碼添加到其中,然后將其作為輸入送入編碼器。同理,我們也不是將輸入直接送入解碼器,而是將其轉(zhuǎn)換為嵌入矩陣,為其添加位置編碼,然后再送入解碼器。如下圖所示,假設(shè)在時(shí)間步 t = 2 t=2 t=2,我們將輸入轉(zhuǎn)換為嵌入(我們稱之為嵌入值輸出,因?yàn)檫@里計(jì)算的是解碼器在以前的步驟中生成的詞的嵌入),將位置編碼加入其中,然后將其送入解碼器。
深入理解深度學(xué)習(xí)——Transformer:解碼器(Decoder)部分
一個(gè)解碼器模塊及其所有的組件如下圖所示。解碼器內(nèi)部有3個(gè)子層:

  • 帶掩碼的多頭注意力層
  • 多頭注意力層
  • 前饋網(wǎng)絡(luò)層

與編碼器模塊相似,解碼器模塊也有多頭注意力層和前饋網(wǎng)絡(luò)層,但多了帶掩碼的多頭注意力層。
深入理解深度學(xué)習(xí)——Transformer:解碼器(Decoder)部分
以英法翻譯任務(wù)為例,假設(shè)訓(xùn)練數(shù)據(jù)集樣本如下樣本:

原句(英語) 目標(biāo)句(法語)
I am good. Je vais bien.
Good morning. Bonjour.
Thank you very much. Merci beaucoup.

上述數(shù)據(jù)集由兩部分組成:原句和目標(biāo)句。在上文中我們學(xué)習(xí)了解碼器在測試期間是如何在每個(gè)步驟中逐字預(yù)測目標(biāo)句的。在訓(xùn)練期間,由于有正確的目標(biāo)句,解碼器可以直接將整個(gè)目標(biāo)句稍作修改作為輸入。解碼器將輸入的<sos>作為第一個(gè)標(biāo)記,并在每一步將下一個(gè)預(yù)測詞與輸入結(jié)合起來,以預(yù)測目標(biāo)句,直到遇到<eos>標(biāo)記為止。因此,我們只需將<sos>標(biāo)記添加到目標(biāo)句的開頭,再將整體作為輸入發(fā)送給解碼器。比如要把英語句子“I am good.”轉(zhuǎn)換成法語句子“Je vais bien.”。我們只需在目標(biāo)句的開頭加上<sos>標(biāo)記,并將<sos>Je vais bien作為輸入發(fā)送給解碼器。解碼器將預(yù)測輸出為Je vais bien<eos>,如下圖所示。
深入理解深度學(xué)習(xí)——Transformer:解碼器(Decoder)部分

我們不是將輸入直接送入解碼器,而是將其轉(zhuǎn)換為嵌入矩陣(輸出嵌入矩陣)并添加位置編碼,然后再送入解碼器。假設(shè)添加輸出嵌入矩陣和位置編碼后得到下圖所示的矩陣 X X X。深入理解深度學(xué)習(xí)——Transformer:解碼器(Decoder)部分
將矩陣 X X X送入解碼器。解碼器中的第一層是帶掩碼的多頭注意力層。這編碼器中的多頭注意力層的工作原理相似,但有一點(diǎn)不同,具體的原理可以參考《深入理解深度學(xué)習(xí)——注意力機(jī)制(Attention Mechanism):帶掩碼的多頭注意力(Masked Multi-head Attention)》中的帶掩碼的多頭注意力。最后,我們把注意力矩陣 M M M送到解碼器的下一個(gè)子層,也就是另一個(gè)多頭注意力層。這個(gè)多頭注意力層的設(shè)計(jì)可以參考文章《深入理解深度學(xué)習(xí)——Transformer:解碼器(Decoder)的多頭注意力層(Multi-headAttention)》,它會(huì)輸出一個(gè)注意力矩陣到后面的前饋網(wǎng)絡(luò)層。

解碼器的下一個(gè)子層是前饋網(wǎng)絡(luò)層,且解碼器的前饋網(wǎng)絡(luò)層的工作原理與我們在《深入理解深度學(xué)習(xí)——Transformer:編碼器(Encoder)部分》中學(xué)習(xí)的編碼器部分的前饋網(wǎng)絡(luò)層完全相同。同樣,疊加和歸一組件連接子層的輸入和輸出,如下圖所示。
深入理解深度學(xué)習(xí)——Transformer:解碼器(Decoder)部分
一旦解碼器學(xué)習(xí)了目標(biāo)句的特征,我們就將頂層解碼器的輸出送入線性層和Softmax層,如下圖所示。
深入理解深度學(xué)習(xí)——Transformer:解碼器(Decoder)部分
線性層將生成一個(gè)logit向量,其大小等于原句中的詞匯量。假設(shè)原句只由以下3個(gè)詞組成:

vocabulary = {bien, Je, vais}

那么,線性層返回的logit向量的大小將為3。接下來,使用Softmax函數(shù)將logit向量轉(zhuǎn)換成概率,然后解碼器將輸出具有高概率值的詞的索引值。讓我們通過一個(gè)示例來理解這一過程。假設(shè)解碼器的輸入詞是<sos>Je?;谳斎朐~,解碼器需要預(yù)測目標(biāo)句中的下一個(gè)詞。然后,我們把頂層解碼器的輸出送入線性層。線性層生成logit向量,其大小等于原句中的詞匯量。假設(shè)線性層返回如下logit向量: logit = [ 45 , 40 , 49 ] \text{logit}=[45, 40, 49] logit=[45,40,49],則Softmax函數(shù)應(yīng)用于logit向量,從而得到概率: prob = [ 0.018 , 0.000 , 0.981 ] \text{prob}=[0.018, 0.000, 0.981] prob=[0.018,0.000,0.981]。從概率矩陣中,我們可以看出索引2的概率最高。所以,模型預(yù)測出的下一個(gè)詞位于詞匯表中索引2的位置。由于vais這個(gè)詞位于索引2,因此解碼器預(yù)測目標(biāo)句中的下一個(gè)詞是vais。通過這種方式,解碼器依次預(yù)測目標(biāo)句中的下一個(gè)詞。

上文就是解碼器的所有組件。下面,讓我們把它們放在一起,看看它們是如何作為一個(gè)整體工作的。下圖顯示了兩個(gè)解碼器。為了避免重復(fù),只有解碼器1被展開說明。
深入理解深度學(xué)習(xí)——Transformer:解碼器(Decoder)部分
通過上圖,我們可以得出以下幾點(diǎn):

  1. 我們將解碼器的輸入轉(zhuǎn)換為嵌入矩陣,然后將位置編碼加入其中,并將其作為輸入送入底層的解碼器(解碼器1)。
  2. 解碼器收到輸入,并將其發(fā)送給帶掩碼的多頭注意力層,生成注意力矩陣 M M M
  3. 將注意力矩陣 M M M和編碼器輸出的特征值 R R R作為多頭注意力層(編碼器—解碼器注意力層)的輸入,并再次輸出新的注意力矩陣。
  4. 把從多頭注意力層得到的注意力矩陣作為輸入,送入前饋網(wǎng)絡(luò)層。前饋網(wǎng)絡(luò)層將注意力矩陣作為輸入,并將解碼后的特征作為輸出。
  5. 我們把從解碼器1得到的輸出作為輸入,將其送入解碼器2。
  6. 解碼器2進(jìn)行同樣的處理,并輸出目標(biāo)句的特征。我們還可以將 N N N個(gè)解碼器層層堆疊起來。從最后的解碼器得到的輸出(解碼后的特征)將是目標(biāo)句的特征。
  7. 我們將目標(biāo)句的特征送入線性層和Softmax層,通過概率得到預(yù)測的詞并輸出。

參考文獻(xiàn):
[1] Lecun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015
[2] Aston Zhang, Zack C. Lipton, Mu Li, Alex J. Smola. Dive Into Deep Learning[J]. arXiv preprint arXiv:2106.11342, 2021.
[3] 車萬翔, 崔一鳴, 郭江. 自然語言處理:基于預(yù)訓(xùn)練模型的方法[M]. 電子工業(yè)出版社, 2021.
[4] 邵浩, 劉一烽. 預(yù)訓(xùn)練語言模型[M]. 電子工業(yè)出版社, 2021.
[5] 何晗. 自然語言處理入門[M]. 人民郵電出版社, 2019
[6] Sudharsan Ravichandiran. BERT基礎(chǔ)教程:Transformer大模型實(shí)戰(zhàn)[M]. 人民郵電出版社, 2023
[7] 吳茂貴, 王紅星. 深入淺出Embedding:原理解析與應(yīng)用實(shí)戰(zhàn)[M]. 機(jī)械工業(yè)出版社, 2021.文章來源地址http://www.zghlxwxcb.cn/news/detail-495880.html

到了這里,關(guān)于深入理解深度學(xué)習(xí)——Transformer:解碼器(Decoder)部分的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 機(jī)器學(xué)習(xí)&&深度學(xué)習(xí)——從編碼器-解碼器架構(gòu)到seq2seq(機(jī)器翻譯)

    機(jī)器學(xué)習(xí)&&深度學(xué)習(xí)——從編碼器-解碼器架構(gòu)到seq2seq(機(jī)器翻譯)

    ?????作者簡介:一位即將上大四,正專攻機(jī)器學(xué)習(xí)的保研er ??上期文章:機(jī)器學(xué)習(xí)深度學(xué)習(xí)——注意力提示、注意力池化(核回歸) ??訂閱專欄:機(jī)器學(xué)習(xí)深度學(xué)習(xí) 希望文章對你們有所幫助 接下來就要慢慢開始實(shí)戰(zhàn)了,把這邊過了,我們接下來就要進(jìn)行機(jī)器翻譯的實(shí)戰(zhàn)

    2024年02月13日
    瀏覽(34)
  • 【Transformer系列(1)】encoder(編碼器)和decoder(解碼器)

    【Transformer系列(1)】encoder(編碼器)和decoder(解碼器)

    前言 這個(gè)專欄我們開始學(xué)習(xí)transformer,自推出以來transformer在深度學(xué)習(xí)中占有重要地位,不僅在NLP領(lǐng)域,在CV領(lǐng)域中也被廣泛應(yīng)用,尤其是2021年,transformer在CV領(lǐng)域可謂大殺四方。 在論文的學(xué)習(xí)之前,我們先來介紹一些專業(yè)術(shù)語。本篇就讓我們先來認(rèn)識一下encoder和decoder吧!

    2024年03月25日
    瀏覽(23)
  • 深度學(xué)習(xí)RNN,GRU,LSTM文本生成解碼器的訓(xùn)練損失講解(附代碼)

    以下以GRU為例講解RNN作為解碼器時(shí)如何根據(jù)用戶、商品特征信息 hidden 生成評價(jià)。 解碼器部分代碼如下: 在訓(xùn)練時(shí),解碼器會(huì)有兩個(gè)輸入:一是編碼器提取的用戶、商品特征,二是用戶對商品的評價(jià)。 評價(jià)是文字,在訓(xùn)練開始前已經(jīng)轉(zhuǎn)換成了Token ID, 比如 I love this item , 每個(gè)

    2024年04月12日
    瀏覽(16)
  • 解碼Transformer:自注意力機(jī)制與編解碼器機(jī)制詳述與代碼實(shí)現(xiàn)

    解碼Transformer:自注意力機(jī)制與編解碼器機(jī)制詳述與代碼實(shí)現(xiàn)

    本文全面探討了Transformer及其衍生模型,深入分析了自注意力機(jī)制、編碼器和解碼器結(jié)構(gòu),并列舉了其編碼實(shí)現(xiàn)加深理解,最后列出基于Transformer的各類模型如BERT、GPT等。文章旨在深入解釋Transformer的工作原理,并展示其在人工智能領(lǐng)域的廣泛影響。 作者 TechLead,擁有10+年互

    2024年02月13日
    瀏覽(24)
  • Transformer中解碼器decoder的詳細(xì)講解(圖文解釋)

    Transformer中解碼器decoder的詳細(xì)講解(圖文解釋)

    假設(shè)我們想把英語句子i am good翻譯成法語句子 Je Vais bein,首先將原句送入編碼器,使編碼器學(xué)習(xí)原句,并計(jì)算特征值,在上一篇博客中已經(jīng)講解了編碼器是如何計(jì)算原句的特征值的,然后我們把從編碼器求得的特征值送入解碼器,解碼器將特征值作為輸入,并生成目標(biāo)據(jù),流

    2023年04月18日
    瀏覽(19)
  • LeViT-UNet:transformer 編碼器和CNN解碼器的有效整合

    LeViT-UNet:transformer 編碼器和CNN解碼器的有效整合

    levi - unet[2]是一種新的醫(yī)學(xué)圖像分割架構(gòu),它使用transformer 作為編碼器,這使得它能夠更有效地學(xué)習(xí)遠(yuǎn)程依賴關(guān)系。levi - unet[2]比傳統(tǒng)的U-Nets更快,同時(shí)仍然實(shí)現(xiàn)了最先進(jìn)的分割性能。 levi - unet[2]在幾個(gè)具有挑戰(zhàn)性的醫(yī)學(xué)圖像分割基準(zhǔn)上取得了比其他法更好的性能,包括Synap

    2024年02月12日
    瀏覽(25)
  • 【人工智能】Transformer 模型數(shù)學(xué)公式:自注意力機(jī)制、多頭自注意力、QKV 矩陣計(jì)算實(shí)例、位置編碼、編碼器和解碼器、常見的激活函數(shù)等

    Transformer模型由多個(gè)編碼器和解碼器層組成,其中包含自注意力機(jī)制、線性層和層歸一化等關(guān)鍵構(gòu)造模塊。雖然無法將整個(gè)模型完美地表示為單個(gè)數(shù)學(xué)公式,但我們可以提供一些重要構(gòu)造模塊的數(shù)學(xué)表示。以下是使用LaTeX格式渲染的部分Transformer關(guān)鍵組件的數(shù)學(xué)公式: 自注意力

    2024年02月14日
    瀏覽(36)
  • FFmpeg的HEVC解碼器源代碼學(xué)習(xí)筆記-1

    FFmpeg的HEVC解碼器源代碼學(xué)習(xí)筆記-1

    一直想寫一個(gè)HEVC的碼流解析工具,看了雷神264碼流解析工具,本來想嘗試模仿寫一個(gè)相似的265碼流分析工具,但是發(fā)現(xiàn)265的解碼過程和結(jié)構(gòu)體和264的不太一樣,很多結(jié)構(gòu)體并沒有完全暴露出來,沒有想到很好的方法獲得量化參數(shù),運(yùn)動(dòng)向量等這些信息。想著從頭學(xué)習(xí)一下ff

    2024年02月22日
    瀏覽(23)
  • 解碼器 | 基于 Transformers 的編碼器-解碼器模型

    基于 transformer 的編碼器-解碼器模型是 表征學(xué)習(xí) 和 模型架構(gòu) 這兩個(gè)領(lǐng)域多年研究成果的結(jié)晶。本文簡要介紹了神經(jīng)編碼器-解碼器模型的歷史,更多背景知識,建議讀者閱讀由 Sebastion Ruder 撰寫的這篇精彩 博文。此外,建議讀者對 自注意力 (self-attention) 架構(gòu) 有一個(gè)基本了解

    2024年02月08日
    瀏覽(25)
  • Netty編解碼器,Netty自定義編解碼器解決粘包拆包問題,Netty編解碼器的執(zhí)行過程詳解

    Netty編解碼器,Netty自定義編解碼器解決粘包拆包問題,Netty編解碼器的執(zhí)行過程詳解

    當(dāng)Netty發(fā)送或者接收一個(gè)消息的時(shí)候,就會(huì)發(fā)生一次數(shù)據(jù)轉(zhuǎn)換。入站消息會(huì)被解碼(從字節(jié)轉(zhuǎn)換為另一種格式,比如java對象);出站消息會(huì)被編碼成字節(jié)。 Netty 提供一系列實(shí)用的編解碼器,他們都實(shí)現(xiàn)了 ChannelInboundHadnler 或者 ChannelOutboundHandler 接口。在這些類中,channelRead 方

    2023年04月23日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包