Transform Model
self attention?
Q=K=V :輸入一個(gè)句子,那么里面的每個(gè)詞都要和該句子中的所有詞進(jìn)行attention計(jì)算,目的是要學(xué)習(xí)句子內(nèi)部詞之間的依賴關(guān)系,捕獲句子的內(nèi)部結(jié)構(gòu)。
首先,要build Q,K,V,對(duì)其進(jìn)行線性變換 for example: dot,reshape, permute_dimensions
然后,我們要對(duì)序列做mask,忽略填充部分的影響,一般mask是將填充部分置零,但attention中的mask是在softmax之前,將填充部分減去一個(gè)較大的整數(shù)(這樣softmax后就比較接近0)
之后,call函數(shù)?
onece encoder:
vector->self attention->feed forward neural network->r
Q可以理解成篇章的詞向量序列,K= V, 為問題的詞向量序列,那么輸入就是aligned question embedding
?transform:
?
就是谷歌提出的transformer 的架構(gòu)。這其中左半部分是 encoder, 右半部分是 decoder.
Encoder: 這里面有 N=6 個(gè) 一樣的layers, 每一層包含了兩個(gè)sub-layers. 第一個(gè)sub-layer 就是多頭注意力層(multi-head attention layer) 然后是一個(gè)簡單的全連接層。 這里還有一個(gè)殘差連接 (residual connection), 在這個(gè)基礎(chǔ)上, 還有一個(gè)layer norm.? 這里的注意力層會(huì)在下文詳細(xì)解釋。
Decoder: 這里同樣是有六個(gè)一樣的Layer是,但是這里的layer 和encoder 不一樣, 這里的layer 包含了三個(gè)sub-layers,? 其中有 一個(gè)self-attention layer, encoder-decoder attention layer 最后是一個(gè)全連接層。 前兩個(gè)sub-layer 都是基于multi-head attention layer.? 這里有個(gè)特別點(diǎn)就是masking,? masking 的作用就是防止在訓(xùn)練的時(shí)候 使用未來的輸出的單詞。 比如訓(xùn)練時(shí), 第一個(gè)單詞是不能參考第二個(gè)單詞的生成結(jié)果的。 Masking就會(huì)把這個(gè)信息變成0, 用來保證預(yù)測位置 i 的信息只能基于比 i 小的輸出。
tensor2tensor
可以理解成模型和各類數(shù)據(jù)集的一個(gè)集成庫,可以方便的去調(diào)用,解決常見的問題。
?
?
實(shí)踐路線
attention->transform->bert
理解原理->用t2t實(shí)現(xiàn)transform
轉(zhuǎn)載于:https://www.cnblogs.com/ylHe/p/9987054.html
總結(jié)
以上是生活随笔為你收集整理的Transform Model的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA基础——Switch条件语句
- 下一篇: 揭秘数字行为:快速地多次点击