1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        【NLP】關(guān)于Transformer的常見問(wèn)題及解答

        共 11604字,需瀏覽 24分鐘

         ·

        2021-03-27 11:06


        作者 | Adherer 

        編輯 | NewBeeNLP

        PDF版文末自行下載哈~

        寫在前面

        前些時(shí)間,趕完論文,開始對(duì) Transformer、GPT、Bert 系列論文來(lái)進(jìn)行仔仔細(xì)細(xì)的研讀,然后順手把相關(guān)問(wèn)題整理了一下,但是發(fā)現(xiàn)鮮有回答仔細(xì)的~所以自己就在網(wǎng)上針對(duì)每個(gè)問(wèn)題收集了一些資料,并做了整理,有些問(wèn)題還寫了一些自己的看法,可能會(huì)有紕漏,甚至還有錯(cuò)誤,還請(qǐng)大家賜教 ??

        模型總覽:

        Transformer模型總覽

        1.Transformer 的結(jié)構(gòu)是什么樣的?

        Transformer 本身還是一個(gè)典型的 encoder-decoder 模型,如果從模型層面來(lái)看,Transformer 實(shí)際上就像一個(gè) seq2seq with attention 的模型,下面大概說(shuō)明一下 Transformer 的結(jié)構(gòu)以及各個(gè)模塊的組成。

        1.1 Encoder 端 & Decoder 端總覽


        • Encoder 端由 N(原論文中「N=6」)個(gè)相同的大模塊堆疊而成,其中每個(gè)大模塊又由「兩個(gè)子模塊」構(gòu)成,這兩個(gè)子模塊分別為多頭 self-attention 模塊,以及一個(gè)前饋神經(jīng)網(wǎng)絡(luò)模塊;
          • 「需要注意的是,Encoder 端每個(gè)大模塊接收的輸入是不一樣的,第一個(gè)大模塊(最底下的那個(gè))接收的輸入是輸入序列的 embedding(embedding 可以通過(guò) word2vec 預(yù)訓(xùn)練得來(lái)),其余大模塊接收的是其前一個(gè)大模塊的輸出,最后一個(gè)模塊的輸出作為整個(gè) Encoder 端的輸出?!?/span>

        • Decoder 端同樣由 N(原論文中「N=6」)個(gè)相同的大模塊堆疊而成,其中每個(gè)大模塊則由「三個(gè)子模塊」構(gòu)成,這三個(gè)子模塊分別為多頭 self-attention 模塊,「多頭 Encoder-Decoder attention 交互模塊」,以及一個(gè)前饋神經(jīng)網(wǎng)絡(luò)模塊;
          • 同樣需要注意的是,Decoder端每個(gè)大模塊接收的輸入也是不一樣的,其中第一個(gè)大模塊(最底下的那個(gè))訓(xùn)練時(shí)和測(cè)試時(shí)的接收的輸入是不一樣的,并且每次訓(xùn)練時(shí)接收的輸入也可能是不一樣的(也就是模型總覽圖示中的"shifted right",后續(xù)會(huì)解釋),其余大模塊接收的是同樣是其前一個(gè)大模塊的輸出,最后一個(gè)模塊的輸出作為整個(gè)Decoder端的輸出
          • 對(duì)于第一個(gè)大模塊,簡(jiǎn)而言之,其訓(xùn)練及測(cè)試時(shí)接收的輸入為:
            • 訓(xùn)練的時(shí)候每次的輸入為上次的輸入加上輸入序列向后移一位的 ground truth(例如每向后移一位就是一個(gè)新的單詞,那么則加上其對(duì)應(yīng)的 embedding),特別地,當(dāng) decoder 的 time step 為 1 時(shí)(也就是第一次接收輸入),其輸入為一個(gè)特殊的 token,可能是目標(biāo)序列開始的 token(如),也可能是源序列結(jié)尾的 token(如),也可能是其它視任務(wù)而定的輸入等等,不同源碼中可能有微小的差異,其目標(biāo)則是預(yù)測(cè)下一個(gè)位置的單詞(token)是什么,對(duì)應(yīng)到 time step 為 1 時(shí),則是預(yù)測(cè)目標(biāo)序列的第一個(gè)單詞(token)是什么,以此類推;
              • 這里需要注意的是,在實(shí)際實(shí)現(xiàn)中可能不會(huì)這樣每次動(dòng)態(tài)的輸入,而是一次性把目標(biāo)序列的embedding通通輸入第一個(gè)大模塊中,然后在多頭attention模塊對(duì)序列進(jìn)行mask即可
            • 而在測(cè)試的時(shí)候,是先生成第一個(gè)位置的輸出,然后有了這個(gè)之后,第二次預(yù)測(cè)時(shí),再將其加入輸入序列,以此類推直至預(yù)測(cè)結(jié)束。

        1.2 Encoder 端各個(gè)子模塊

        「1.2.1 多頭 self-attention 模塊」

        在介紹 self-attention 模塊之前,先介紹 self-attention 模塊,圖示如下:

        self-attention

        上述 attention 可以被描述為「將 query 和 key-value 鍵值對(duì)的一組集合映射到輸出」,其中 query,keys,values 和輸出都是向量,其中 query 和 keys 的維度均為,values 的維度為(論文中),輸出被計(jì)算為 values 的加權(quán)和,其中分配給每個(gè) value 的權(quán)重由 query 與對(duì)應(yīng) key 的相似性函數(shù)計(jì)算得來(lái)。這種 attention 的形式被稱為“Scaled Dot-Product Attention”,對(duì)應(yīng)到公式的形式為:

        而多頭 self-attention 模塊,則是將通過(guò)參數(shù)矩陣映射后(給分別接一個(gè)全連接層),然后再做 self-attention,將這個(gè)過(guò)程重復(fù)(原論文中)次,最后再將所有的結(jié)果拼接起來(lái),再送入一個(gè)全連接層即可,圖示如下:

        multi-head attention

        對(duì)應(yīng)到公式的形式為:

        其中

        「1.2.2 前饋神經(jīng)網(wǎng)絡(luò)模塊」

        前饋神經(jīng)網(wǎng)絡(luò)模塊(即圖示中的 Feed Forward)由兩個(gè)線性變換組成,中間有一個(gè) ReLU 激活函數(shù),對(duì)應(yīng)到公式的形式為:

        論文中前饋神經(jīng)網(wǎng)絡(luò)模塊輸入和輸出的維度均為,其內(nèi)層的維度.

        1.3 Decoder 端各個(gè)子模塊

        「1.3.1 多頭 self-attention 模塊」

        Decoder 端多頭 self-attention 模塊與 Encoder 端的一致,但是「需要注意的是 Decoder 端的多頭 self-attention 需要做 mask,因?yàn)樗陬A(yù)測(cè)時(shí),是“看不到未來(lái)的序列的”,所以要將當(dāng)前預(yù)測(cè)的單詞(token)及其之后的單詞(token)全部 mask 掉?!?/span>

        「1.3.2 多頭 Encoder-Decoder attention 交互模塊」

        多頭 Encoder-Decoder attention 交互模塊的形式與多頭 self-attention 模塊一致,唯一不同的是其矩陣的來(lái)源,其矩陣來(lái)源于下面子模塊的輸出(對(duì)應(yīng)到圖中即為 masked 多頭 self-attention 模塊經(jīng)過(guò) Add & Norm 后的輸出),而矩陣則來(lái)源于整個(gè) Encoder 端的輸出,仔細(xì)想想其實(shí)可以發(fā)現(xiàn),這里的交互模塊就跟 seq2seq with attention 中的機(jī)制一樣,目的就在于讓 Decoder 端的單詞(token)給予 Encoder 端對(duì)應(yīng)的單詞(token)“更多的關(guān)注(attention weight)”

        「1.3.3 前饋神經(jīng)網(wǎng)絡(luò)模塊」

        該部分與 Encoder 端的一致

        1.4 其他模塊

        「1.4.1 Add & Norm 模塊」

        Add & Norm 模塊接在 Encoder 端和 Decoder 端每個(gè)子模塊的后面,其中 Add 表示殘差連接,Norm 表示 LayerNorm,殘差連接來(lái)源于論文Deep Residual Learning for Image Recognition[1],LayerNorm 來(lái)源于論文Layer Normalization[2],因此 Encoder 端和 Decoder 端每個(gè)子模塊實(shí)際的輸出為:LayerNorm ,其中Sublayer 為子模塊的輸出。

        「1.4.2  Positional Encoding」

        Positional Encoding 添加到 Encoder 端和 Decoder 端最底部的輸入 embedding。Positional Encoding 具有與 embedding 相同的維度

        ,因此可以對(duì)兩者進(jìn)行求和。


        具體做法是使用不同頻率的正弦和余弦函數(shù),公式如下:

        其中為位置,為維度,之所以選擇這個(gè)函數(shù),是因?yàn)槿我馕恢?span role="presentation" data-formula="P E_{p o s+k}" style="">可以表示為的線性函數(shù),這個(gè)主要是三角函數(shù)的特性:

        需要注意的是,Transformer 中的 Positional Encoding 不是通過(guò)網(wǎng)絡(luò)學(xué)習(xí)得來(lái)的,而是直接通過(guò)上述公式計(jì)算而來(lái)的,論文中也實(shí)驗(yàn)了利用網(wǎng)絡(luò)學(xué)習(xí) Positional Encoding,發(fā)現(xiàn)結(jié)果與上述基本一致,但是論文中選擇了正弦和余弦函數(shù)版本,「因?yàn)槿枪讲皇苄蛄虚L(zhǎng)度的限制,也就是可以對(duì) 比所遇到序列的更長(zhǎng)的序列 進(jìn)行表示?!?/span>

        2.Transformer Decoder 端的輸入具體是什么?

        見上述 Encoder 端 & Decoder 端總覽中,對(duì) Decoder 端的輸入有詳細(xì)的分析

        3.Transformer 中一直強(qiáng)調(diào)的 self-attention 是什么?self-attention 的計(jì)算過(guò)程?為什么它能發(fā)揮如此大的作用?self-attention 為什么要使用 Q、K、V,僅僅使用 Q、V/K、V 或者 V 為什么不行?

        3.1 self-attention是什么?

        「self-attention」,也叫 「intra-attention」,是一種通過(guò)自身和自身相關(guān)聯(lián)的 attention 機(jī)制,從而得到一個(gè)更好的 representation 來(lái)表達(dá)自身,self-attention 可以看成一般 attention 的一種特殊情況。在 self-attention 中,,序列中的每個(gè)單詞(token)和該序列中其余單詞(token)進(jìn)行 attention 計(jì)算。self-attention 的特點(diǎn)在于「無(wú)視詞(token)之間的距離直接計(jì)算依賴關(guān)系,從而能夠?qū)W習(xí)到序列的內(nèi)部結(jié)構(gòu)」,實(shí)現(xiàn)起來(lái)也比較簡(jiǎn)單,值得注意的是,在后續(xù)一些論文中,self-attention 可以當(dāng)成一個(gè)層和 RNN,CNN 等配合使用,并且成功應(yīng)用到其他 NLP 任務(wù)。

        3.2 關(guān)于 self-attention 的計(jì)算過(guò)程?

        問(wèn)題 1 中有詳細(xì)的解答

        3.3 關(guān)于 self-attention 為什么它能發(fā)揮如此大的作用

        在上述 self-attention 的介紹中實(shí)際上也有所提及,self-attention 是一種自身和自身相關(guān)聯(lián)的 attention 機(jī)制,這樣能夠得到一個(gè)更好的 representation 來(lái)表達(dá)自身,在多數(shù)情況下,自然會(huì)對(duì)下游任務(wù)有一定的促進(jìn)作用,但是 Transformer 效果顯著及其強(qiáng)大的特征抽取能力是否完全歸功于其 self-attention 模塊,還是存在一定爭(zhēng)議的,參見論文:How Much Attention Do You Need?A Granular Analysis of Neural Machine Translation Architectures[3],如下例子可以大概探知 self-attention 的效果:

        圖 1 可視化 self-attention 實(shí)例
        圖 2 可視化 self-attention 實(shí)例

        從兩張圖(圖 1、圖 2)可以看出,self-attention 可以捕獲同一個(gè)句子中單詞之間的一些句法特征(比如圖 1 展示的有一定距離的短語(yǔ)結(jié)構(gòu))或者語(yǔ)義特征(比如圖 1 展示的 its 的指代對(duì)象 Law)。

        很明顯,引入 Self Attention 后會(huì)更容易捕獲句子中長(zhǎng)距離的相互依賴的特征,因?yàn)槿绻?RNN 或者 LSTM,需要依次序序列計(jì)算,對(duì)于遠(yuǎn)距離的相互依賴的特征,要經(jīng)過(guò)若干時(shí)間步步驟的信息累積才能將兩者聯(lián)系起來(lái),而距離越遠(yuǎn),有效捕獲的可能性越小。

        但是 Self Attention 在計(jì)算過(guò)程中會(huì)直接將句子中任意兩個(gè)單詞的聯(lián)系通過(guò)一個(gè)計(jì)算步驟直接聯(lián)系起來(lái),所以遠(yuǎn)距離依賴特征之間的距離被極大縮短,有利于有效地利用這些特征。除此外,Self Attention 對(duì)于增加計(jì)算的并行性也有直接幫助作用。這是為何 Self Attention 逐漸被廣泛使用的主要原因。

        3.4  關(guān)于 self-attention 為什么要使用 Q、K、V,僅僅使用 Q、V/K、V 或者 V 為什么不行?

        這個(gè)問(wèn)題我覺(jué)得并不重要,self-attention 使用 Q、K、V,這樣三個(gè)參數(shù)獨(dú)立,模型的表達(dá)能力和靈活性顯然會(huì)比只用 Q、V 或者只用 V 要好些,當(dāng)然主流 attention 的做法還有很多種,比如說(shuō) seq2seq with attention 也就只有 hidden state 來(lái)做相似性的計(jì)算,處理不同的任務(wù),attention 的做法有細(xì)微的不同,但是主體思想還是一致的,不知道有沒(méi)有論文對(duì)這個(gè)問(wèn)題有過(guò)細(xì)究,有空去查查~

        「其實(shí)還有個(gè)小細(xì)節(jié),因?yàn)?self-attention 的范圍是包括自身的(masked self-attention 也是一樣),因此至少是要采用 Q、V 或者 K、V 的形式,而這樣“詢問(wèn)式”的 attention 方式,個(gè)人感覺(jué) Q、K、V 顯然合理一些?!?/span>

        4.Transformer 為什么需要進(jìn)行 Multi-head Attention?這樣做有什么好處?Multi-head Attention 的計(jì)算過(guò)程?各方論文的觀點(diǎn)是什么?

        4.1 Why Multi-head Attention

        原論文中說(shuō)到進(jìn)行 Multi-head Attention 的原因是將模型分為多個(gè)頭,形成多個(gè)子空間,可以讓模型去關(guān)注不同方面的信息,最后再將各個(gè)方面的信息綜合起來(lái)。其實(shí)直觀上也可以想到,如果自己設(shè)計(jì)這樣的一個(gè)模型,必然也不會(huì)只做一次 attention,多次 attention 綜合的結(jié)果至少能夠起到增強(qiáng)模型的作用,也可以類比 CNN 中同時(shí)使用「多個(gè)卷積核」的作用,直觀上講,多頭的注意力「有助于網(wǎng)絡(luò)捕捉到更豐富的特征/信息」。

        4.2 關(guān)于 Multi-head Attention 的計(jì)算過(guò)程

        在 1 中也有詳細(xì)的介紹,但是需要注意的是,論文中并沒(méi)有對(duì) Multi-head Attention 有很強(qiáng)的理論說(shuō)明,因此后續(xù)有不少論文對(duì) Multi-head Attention 機(jī)制都有一定的討論,一些相關(guān)工作的論文如下(還沒(méi)看,先攢著)

        4.3 Multi-head Attention 機(jī)制相關(guān)的論文:

        A Structured Self-attentive Sentence Embedding[4]

        Analyzing Multi-Head Self-Attention: Specialized Heads Do the Heavy Lifting, the Rest Can Be Pruned[5]

        Are Sixteen Heads Really Better than One?[6]

        What Does BERT Look At? An Analysis of BERT's Attention[7]

        A Multiscale Visualization of Attention in the Transformer Model[8]

        Improving Deep Transformer with Depth-Scaled Initialization and Merged Attention[9]

        5.Transformer 相比于 RNN/LSTM,有什么優(yōu)勢(shì)?為什么?

        5.1 RNN 系列的模型,并行計(jì)算能力很差

        RNN 系列的模型時(shí)刻隱層狀態(tài)的計(jì)算,依賴兩個(gè)輸入,一個(gè)是時(shí)刻的句子輸入單詞,另一個(gè)是時(shí)刻的隱層狀態(tài)的輸出,這是最能體現(xiàn) RNN 本質(zhì)特征的一點(diǎn),RNN 的歷史信息是通過(guò)這個(gè)信息傳輸渠道往后傳輸?shù)?。?RNN 并行計(jì)算的問(wèn)題就出在這里,因?yàn)?span role="presentation" data-formula="t" style="">時(shí)刻的計(jì)算依賴時(shí)刻的隱層計(jì)算結(jié)果,而時(shí)刻的計(jì)算依賴時(shí)刻的隱層計(jì)算結(jié)果,如此下去就形成了所謂的序列依賴關(guān)系。

        5.2 Transformer 的特征抽取能力比 RNN 系列的模型要好

        上述結(jié)論是通過(guò)一些主流的實(shí)驗(yàn)來(lái)說(shuō)明的,并不是嚴(yán)格的理論證明,具體實(shí)驗(yàn)對(duì)比可以參見:

        放棄幻想,全面擁抱 Transformer:自然語(yǔ)言處理三大特征抽取器(CNN/RNN/TF)比較[10]

        但是值得注意的是,并不是說(shuō) Transformer 就能夠完全替代 RNN 系列的模型了,任何模型都有其適用范圍,同樣的,RNN 系列模型在很多任務(wù)上還是首選,熟悉各種模型的內(nèi)部原理,知其然且知其所以然,才能遇到新任務(wù)時(shí),快速分析這時(shí)候該用什么樣的模型,該怎么做好。

        6.Transformer 是如何訓(xùn)練的?測(cè)試階段如何進(jìn)行測(cè)試呢?

        6.1 訓(xùn)練

        Transformer 訓(xùn)練過(guò)程與 seq2seq 類似,首先 Encoder 端得到輸入的 encoding 表示,并將其輸入到 Decoder 端做交互式 attention,之后在 Decoder 端接收其相應(yīng)的輸入(見 1 中有詳細(xì)分析),經(jīng)過(guò)多頭 self-attention 模塊之后,結(jié)合 Encoder 端的輸出,再經(jīng)過(guò) FFN,得到 Decoder 端的輸出之后,最后經(jīng)過(guò)一個(gè)線性全連接層,就可以通過(guò) softmax 來(lái)預(yù)測(cè)下一個(gè)單詞(token),然后根據(jù) softmax 多分類的損失函數(shù),將 loss 反向傳播即可,所以從整體上來(lái)說(shuō),Transformer 訓(xùn)練過(guò)程就相當(dāng)于一個(gè)有監(jiān)督的多分類問(wèn)題。

        • 需要注意的是,「Encoder 端可以并行計(jì)算,一次性將輸入序列全部 encoding 出來(lái),但 Decoder 端不是一次性把所有單詞(token)預(yù)測(cè)出來(lái)的,而是像 seq2seq 一樣一個(gè)接著一個(gè)預(yù)測(cè)出來(lái)的?!?/span>

        6.2 測(cè)試

        而對(duì)于測(cè)試階段,其與訓(xùn)練階段唯一不同的是 Decoder 端最底層的輸入,詳細(xì)分析見問(wèn)題 1。

        7.Transformer 中的 Add & Norm 模塊,具體是怎么做的?

        見 1 其他模塊的敘述,對(duì) Add & Norm 模塊有詳細(xì)的分析

        8.為什么說(shuō) Transformer 可以代替 seq2seq?

        這里用代替這個(gè)詞略顯不妥當(dāng),seq2seq 雖已老,但始終還是有其用武之地,seq2seq 最大的問(wèn)題在于「將 Encoder 端的所有信息壓縮到一個(gè)固定長(zhǎng)度的向量中」,并將其作為 Decoder 端首個(gè)隱藏狀態(tài)的輸入,來(lái)預(yù)測(cè) Decoder 端第一個(gè)單詞(token)的隱藏狀態(tài)。在輸入序列比較長(zhǎng)的時(shí)候,這樣做顯然會(huì)損失 Encoder 端的很多信息,而且這樣一股腦的把該固定向量送入 Decoder 端,Decoder 端不能夠關(guān)注到其想要關(guān)注的信息。

        上述兩點(diǎn)都是 seq2seq 模型的缺點(diǎn),后續(xù)論文對(duì)這兩點(diǎn)有所改進(jìn),如著名的Neural Machine Translation by Jointly Learning to Align and Translate[11],雖然確確實(shí)實(shí)對(duì) seq2seq 模型有了實(shí)質(zhì)性的改進(jìn),但是由于主體模型仍然為 RNN(LSTM)系列的模型,因此模型的并行能力還是受限,而 transformer 不但對(duì) seq2seq 模型這兩點(diǎn)缺點(diǎn)有了實(shí)質(zhì)性的改進(jìn)(多頭交互式 attention 模塊),而且還引入了 self-attention 模塊,讓源序列和目標(biāo)序列首先“自關(guān)聯(lián)”起來(lái),這樣的話,源序列和目標(biāo)序列自身的 embedding 表示所蘊(yùn)含的信息更加豐富,而且后續(xù)的 FFN 層也增強(qiáng)了模型的表達(dá)能力(ACL 2018 會(huì)議上有論文對(duì) Self-Attention 和 FFN 等模塊都有實(shí)驗(yàn)分析,見論文:How Much Attention Do You Need?A Granular Analysis of Neural Machine Translation Architectures[12]),并且 Transformer 并行計(jì)算的能力是遠(yuǎn)遠(yuǎn)超過(guò) seq2seq 系列的模型,因此我認(rèn)為這是 transformer 優(yōu)于 seq2seq 模型的地方。

        9.Transformer 中句子的 encoder 表示是什么?如何加入詞序信息的?

        Transformer Encoder 端得到的是整個(gè)輸入序列的 encoding 表示,其中最重要的是經(jīng)過(guò)了 self-attention 模塊,讓輸入序列的表達(dá)更加豐富,而加入詞序信息是使用不同頻率的正弦和余弦函數(shù),具體見 1 中敘述。

        10.Transformer 如何并行化的?

        Transformer 的并行化我認(rèn)為主要體現(xiàn)在 self-attention 模塊,在 Encoder 端 Transformer 可以并行處理整個(gè)序列,并得到整個(gè)輸入序列經(jīng)過(guò) Encoder 端的輸出,在 self-attention 模塊,對(duì)于某個(gè)序列,self-attention 模塊可以直接計(jì)算的點(diǎn)乘結(jié)果,而 RNN 系列的模型就必須按照順序從計(jì)算到。

        11.self-attention 公式中的歸一化有什么作用?

        首先說(shuō)明做歸一化的原因,隨著的增大,點(diǎn)積后的結(jié)果也隨之增大,這樣會(huì)將 softmax 函數(shù)推入梯度非常小的區(qū)域,使得收斂困難(可能出現(xiàn)梯度消失的情況)

        為了說(shuō)明點(diǎn)積變大的原因,假設(shè)的分量是具有均值 0 和方差 1 的獨(dú)立隨機(jī)變量,那么它們的點(diǎn)積均值為 0,方差為,因此為了抵消這種影響,我們將點(diǎn)積縮放,對(duì)于更詳細(xì)的分析,參見(有空再來(lái)總結(jié),哈哈~):transformer 中的 attention 為什么 scaled?[13]

        寫在后面

        17 年提出的 Transformer 模型,在當(dāng)時(shí)確實(shí)引起了很大的轟動(dòng),但是到現(xiàn)在事后看來(lái),Transformer 模型也確實(shí)能力很強(qiáng),但是我覺(jué)得并不像論文題目說(shuō)的那樣《attention is all you need》,反而我覺(jué)得論文最大的貢獻(xiàn)在于它第一次做到了在自然語(yǔ)言處理任務(wù)中把網(wǎng)絡(luò)的深度堆疊上去還能取得很好的效果,而機(jī)器翻譯恰好也是一個(gè)目前數(shù)據(jù)量非常豐富且問(wèn)題本身難度不大的一個(gè)任務(wù)了,這樣充分發(fā)揮了 Transformer 的優(yōu)勢(shì)。另外,self-attention 其實(shí)并不是 Transformer 的全部,實(shí)際上從深度 CNN 網(wǎng)絡(luò)中借鑒而來(lái)的 FFN 可能更加重要。所以,理智看待 Transformer,面對(duì)不同的任務(wù),選擇最合適自己任務(wù)的模型就好了~[14][15][16][17][18][19][20][21][22][23][24]

        這篇有點(diǎn)長(zhǎng),手機(jī)閱讀可能不太舒服,特意為大家準(zhǔn)備了PDF版本,老規(guī)矩后臺(tái)回復(fù)"TS"獲取吧,記得隨手轉(zhuǎn)分享噢

        一起交流

        想和你一起學(xué)習(xí)進(jìn)步!『NewBeeNLP』目前已經(jīng)建立了多個(gè)不同方向交流群(機(jī)器學(xué)習(xí) / 深度學(xué)習(xí) / 自然語(yǔ)言處理 / 搜索推薦 / 圖網(wǎng)絡(luò) / 面試交流 / 等),名額有限,趕緊添加下方微信加入一起討論交流吧?。ㄗ⒁庖欢ㄒ?strong>備注信息才能通過(guò))

        本文參考資料

        [1]

        Deep Residual Learning for Image Recognition: https://arxiv.org/abs/1512.03385

        [2]

        Layer Normalization: https://arxiv.org/abs/1607.06450

        [3]

        How Much Attention Do You Need?A Granular Analysis of Neural Machine Translation Architectures: http://aclweb.org/anthology/P18-1167

        [4]

        A Structured Self-attentive Sentence Embedding: https://arxiv.org/abs/1703.03130

        [5]

        Analyzing Multi-Head Self-Attention: Specialized Heads Do the Heavy Lifting, the Rest Can Be Pruned: https://arxiv.org/abs/1905.09418

        [6]

        Are Sixteen Heads Really Better than One?: https://arxiv.org/abs/1905.10650

        [7]

        What Does BERT Look At? An Analysis of BERT's Attention: https://arxiv.org/abs/1906.04341

        [8]

        A Multiscale Visualization of Attention in the Transformer Model: https://arxiv.org/abs/1906.05714

        [9]

        Improving Deep Transformer with Depth-Scaled Initialization and Merged Attention: https://arxiv.org/abs/1908.11365

        [10]

        放棄幻想,全面擁抱 Transformer:自然語(yǔ)言處理三大特征抽取器(CNN/RNN/TF)比較: https://zhuanlan.zhihu.com/p/54743941

        [11]

        Neural Machine Translation by Jointly Learning to Align and Translate: https://arxiv.org/abs/1409.0473

        [12]

        How Much Attention Do You Need?A Granular Analysis of Neural Machine Translation Architectures: http://aclweb.org/anthology/P18-1167

        [13]

        transformer 中的 attention 為什么 scaled?: https://www.zhihu.com/question/339723385

        [14]

        The Illustrated Transformer: https://jalammar.github.io/illustrated-transformer/

        [15]

        The Annotated Transformer: http://nlp.seas.harvard.edu/2018/04/03/attention.html

        [16]

        BERT 大火卻不懂 Transformer?讀這一篇就夠了: https://zhuanlan.zhihu.com/p/54356280

        [17]

        放棄幻想,全面擁抱 Transformer:自然語(yǔ)言處理三大特征抽取器(CNN/RNN/TF)比較: https://zhuanlan.zhihu.com/p/54743941

        [18]

        為什么 Transformer 需要進(jìn)行 Multi-head Attention?: https://www.zhihu.com/question/341222779

        [19]

        transformer 中的 attention 為什么 scaled?: https://www.zhihu.com/question/339723385

        [20]

        【NLP】Transformer 詳解: https://zhuanlan.zhihu.com/p/44121378

        [21]

        transformer 和 LSTM 對(duì)比的設(shè)想?: https://www.zhihu.com/question/311377593

        [22]

        目前主流的 attention 方法都有哪些?: https://www.zhihu.com/question/68482809

        [23]

        谷歌論文《Attention is all you need》里 Transformer 模型的一些疑問(wèn)?: https://www.zhihu.com/question/269481411

        [24]

        《Attention is All You Need》淺讀(簡(jiǎn)介+代碼): https://spaces.ac.cn/archives/4765

        - END -

        往期精彩回顧





        本站qq群851320808,加入微信群請(qǐng)掃碼:




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

        手機(jī)掃一掃分享

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

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            日韩欧美乱 | 麻豆久久3 | 夜色av网 | 成人A片无码永久免费第三集 | 黄动漫视频在线观看 | 99久热在线精品视频播放 | 乖乖怀孕高h调教1v1小说 | 日韩三级短视频 | 成人日韩无码电影 | 又大又硬视频 |