<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【關(guān)于Transformer】 那些的你不知道的事(上)

          共 3793字,需瀏覽 8分鐘

           ·

          2021-01-30 23:09

          ?作者:楊夕


          ?項(xiàng)目地址:https://github.com/km1994/nlp_paper_study


          論文鏈接:https://arxiv.org/pdf/1706.03762.pdf


          【注:手機(jī)閱讀可能圖片打不開!!!】


          個(gè)人介紹:大佬們好,我叫楊夕,該項(xiàng)目主要是本人在研讀頂會(huì)論文和復(fù)現(xiàn)經(jīng)典論文過程中,所見、所思、所想、所聞,可能存在一些理解錯(cuò)誤,希望大佬們多多指正。


          ##?引言


          本博客?主要?是本人在學(xué)習(xí)?Transformer?時(shí)的**所遇、所思、所解**,通過以?**十六連彈**?的方式幫助大家更好的理解?該問題。


          ##?十六連彈


          1.?為什么要有?Transformer?

          2.?Transformer 作用是什么?

          3.?Transformer 整體結(jié)構(gòu)怎么樣?

          4.?Transformer-encoder 結(jié)構(gòu)怎么樣?

          5.?Transformer-decoder?結(jié)構(gòu)怎么樣?

          6.?傳統(tǒng)?attention?是什么?

          7.?self-attention?長(zhǎng)怎么樣?

          8.?self-attention 如何解決長(zhǎng)距離依賴問題?

          9.?self-attention 如何并行化?

          10.?multi-head?attention?怎么解?

          11.?為什么要?加入 position embedding ?

          12.?為什么要?加入?殘差模塊?

          13.?Layer normalization。Normalization 是什么?

          14.?什么是 Mask?

          15.?Transformer 存在問題?

          16.?Transformer?怎么?Coding?


          ##?問題解答


          ###?一、為什么要有?Transformer?


          為什么要有 Transformer? 首先需要知道在 Transformer 之前都有哪些技術(shù),這些技術(shù)所存在的問題:


          -?RNN:能夠捕獲長(zhǎng)距離依賴信息,但是無法并行;

          -?CNN:?能夠并行,無法捕獲長(zhǎng)距離依賴信息(需要通過層疊 or 擴(kuò)張卷積核?來?增大感受野);

          -?傳統(tǒng)?Attention

          ??-?方法:基于源端和目標(biāo)端的隱向量計(jì)算Attention,

          ??-?結(jié)果:源端每個(gè)詞與目標(biāo)端每個(gè)詞間的依賴關(guān)系?【源端->目標(biāo)端】

          ??-?問題:忽略了?遠(yuǎn)端或目標(biāo)端?詞與詞間?的依賴關(guān)系


          ###?二、Transformer 作用是什么?


          基于Transformer的架構(gòu)主要用于建模語言理解任務(wù),它避免了在神經(jīng)網(wǎng)絡(luò)中使用遞歸,而是完全依賴于self-attention機(jī)制來繪制輸入和輸出之間的全局依賴關(guān)系。


          ###?三、Transformer 整體結(jié)構(gòu)怎么樣?


          1.?整體結(jié)構(gòu)


          -?Transformer 整體結(jié)構(gòu):

          ??-??encoder-decoder?結(jié)構(gòu)

          -?具體介紹:

          ??-?左邊是一個(gè)?Encoder;

          ??-?右邊是一個(gè)?Decoder;



          2.?整體結(jié)構(gòu)放大一點(diǎn)

          ???

          從上一張 Transformer 結(jié)構(gòu)圖,可以知道 Transformer 是一個(gè) encoder-decoder 結(jié)構(gòu),但是 encoder 和 decoder 又包含什么內(nèi)容呢?

          -?Encoder 結(jié)構(gòu):

          ??-?內(nèi)部包含6層小encoder 每一層里面有2個(gè)子層;

          -?Decoder 結(jié)構(gòu):

          ??-?內(nèi)部也是包含6層小decoder?,每一層里面有3個(gè)子層


          3.?整體結(jié)構(gòu)再放大一點(diǎn)

          ???

          ?其中上圖中每一層的內(nèi)部結(jié)構(gòu)如下圖所求。

          ?-?上圖左邊的每一層encoder都是下圖左邊的結(jié)構(gòu);

          ?-?上圖右邊的每一層的decoder都是下圖右邊的結(jié)構(gòu);

          ??

          具體內(nèi)容,后面會(huì)逐一介紹。



          ###?四、Transformer-encoder 結(jié)構(gòu)怎么樣?



          -?特點(diǎn):

          ??-?與 RNN,CNN 類似,可以當(dāng)成一個(gè)特征提取器;

          -?組成結(jié)構(gòu)介紹

          ??-?embedding 層:將 input 轉(zhuǎn)化為 embedding 向量 X;

          ??-?Position?encodding:?input的位置與?input?的?embedding??X?相加?得到?向量?$X$

          ??-?self-attention?:?將融合input的位置信息?與?input?的?embedding?信息的?$X$?輸入?Self-Attention?層得到?Z;

          ??-?殘差網(wǎng)絡(luò):Z?與 X 相加后經(jīng)過 layernorm 層;

          ??-?前饋網(wǎng)絡(luò):經(jīng)過一層前饋網(wǎng)絡(luò)以及 Add&Normalize,(線性轉(zhuǎn)換+relu+線性轉(zhuǎn)換?如下式)

          ??


          -?舉例說明(假設(shè)序列長(zhǎng)度固定,如100,如輸入的序列是“我愛中國(guó)”):

          ??-?首先需要?**encoding**

          ????-?將詞映射成一個(gè)數(shù)字,encoding后,由于序列不足固定長(zhǎng)度,因此需要padding,

          ????-?然后輸入 embedding層,假設(shè)embedding的維度是128,則輸入的序列維度就是100*128;

          ??-?接著是**Position?encodding**,論文中是直接將每個(gè)位置通過cos-sin函數(shù)進(jìn)行映射;

          ????-?分析:這部分不需要在網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,因?yàn)樗枪潭ā5F(xiàn)在很多論文是將這塊也embedding,如bert的模型,至于是encoding還是embedding可取決于語料的大小,語料足夠大就用embedding。將位置信息也映射到128維與上一步的embedding相加,輸出100*128

          ??-?經(jīng)過**self-attention層**

          ????-?操作:假設(shè)v的向量最后一維是64維(假設(shè)沒有多頭),該部分輸出100*64;

          ??-?經(jīng)過殘差網(wǎng)絡(luò):

          ????-?操作:即序列的embedding向量與上一步self-attention的向量加總;

          ??-?經(jīng)過?**layer-norm**

          ????-?原因:

          ??????-?由于在self-attention里面更好操作而已;

          ??????-?真實(shí)序列的長(zhǎng)度一直在變化;

          ??-?經(jīng)過?**前饋網(wǎng)絡(luò)**

          ????-?目的:增加非線性的表達(dá)能力,畢竟之前的結(jié)構(gòu)基本都是簡(jiǎn)單的矩陣乘法。若前饋網(wǎng)絡(luò)的隱向量是512維,則結(jié)構(gòu)最后輸出100*512;


          ###?五、Transformer-decoder?結(jié)構(gòu)怎么樣?



          -?特點(diǎn):與 encoder 類似

          -?組成結(jié)構(gòu)介紹

          ??-?masked 層:

          ????-?目的:確保了位置 i 的預(yù)測(cè)僅依賴于小于 i 的位置處的已知輸出;

          ??-?Linear layer:

          ????-?目的:將由解碼器堆棧產(chǎn)生的向量投影到一個(gè)更大的向量中,稱為對(duì)數(shù)向量。這個(gè)向量對(duì)應(yīng)著模型的輸出詞匯表;向量中的每個(gè)值,對(duì)應(yīng)著詞匯表中每個(gè)單詞的得分;

          ??-?softmax層:

          ????-?操作:這些分?jǐn)?shù)轉(zhuǎn)換為概率(所有正數(shù),都加起來為1.0)。選擇具有最高概率的單元,并且將與其相關(guān)聯(lián)的單詞作為該時(shí)間步的輸出



          ##?參考資料


          1.?[Transformer理論源碼細(xì)節(jié)詳解](https://zhuanlan.zhihu.com/p/106867810)

          2.?[論文筆記:Attention is all you need(Transformer)](https://zhuanlan.zhihu.com/p/51089880)

          3.?[深度學(xué)習(xí)-論文閱讀-Transformer-20191117](https://zhuanlan.zhihu.com/p/92234185)

          4.?[Transform詳解(超詳細(xì))?Attention?is?all?you?need論文](https://zhuanlan.zhihu.com/p/63191028)

          5.?[目前主流的attention方法都有哪些?](https://www.zhihu.com/question/68482809/answer/597944559)

          6.?[transformer三部曲](https://zhuanlan.zhihu.com/p/85612521)

          7.?[Character-Level?Language?Modeling?with?Deeper?Self-Attention](https://aaai.org/ojs/index.php/AAAI/article/view/4182)

          8.?[Transformer-XL:?Unleashing?the?Potential?of?Attention?Models](https://ai.googleblog.com/2019/01/transformer-xl-unleashing-potential-of.html)

          9.?[The?Importance?of?Being?Recurrent?for?Modeling?Hierarchical?Structure](https://arxiv.org/abs/1803.03585)

          10.?[Linformer](https://arxiv.org/abs/2006.04768)



          瀏覽 79
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  色色色色综合网 | 日韩乱伦图片区 | 国产性爱手机在线 | www.色情AA | 小黄片在线视频 |