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