Attention的基本原理與模型結構
我們嘗試用人記憶和理解事物的方式來思考人工智慧:
為什麼我們需要引入這種Attention機制,以seq2seq為例:
傳統的seq2seq可以理解為讓RNN從左往右看一遍要Encode的序列,並將記憶不斷存入隱藏層。但是隱藏層的維度是有限的,就像人類的記憶力有限,當序列很長時,讀到最後一個word時很可能已經對開頭的word發生遺忘,要以看一遍的記憶完整複述整個序列或者對序列做翻譯等操作,是存在侷限的。
因此我們可以藉助人類產生工作記憶的方式,在decode時計算當前隱藏層和之前序列隱藏層的關聯度,或者說當前這個decoder模組要關注的encoder隱藏層有哪些,要有多少關注度。
decoder端的隱藏層 z z z和encoder端隱藏層 h h h的關聯度 α \alpha α計算可以有幾種常見的方法:
- 利用餘弦相似度計算 c o s ( z , h ) cos(z,h) cos(z,h)
- 以[ z , h z,h z,h]為輸入, α \alpha α為目標輸入訓練全連線層
- α = h T W z \alpha = h^TWz α=hTWz, W W W是可訓練引數
求得每一個decoder隱藏層 z 0 , z 1 . . . z i , . . . z n z_0,z_1...z_i,...z_n z0,z1...zi,...zn和encoder端隱藏層 h 0 , h 1 , . . . , h j , . . . h m h_0,h_1,...,h_j,...h_m h0,h1,...,hj,...hm的關聯度 α i j \alpha_i^j αij,並對其做softmax歸一化,得到 α 0 ^ , α 1 ^ . . . α n ^ \hat{\alpha_0},\hat{\alpha_1}...\hat{\alpha_n} α0^,α1^...αn^, c i = ∑ k α i k ^ h k c_i = \sum_k \hat{\alpha_i^k}h^k ci=∑kαik^hk
c i 和 z i c_i和z_i ci和zi作為decoder端RNN的輸入和隱藏層
相關文章
- 深度學習的Attention模型深度學習模型
- 機器閱讀理解Attention-over-Attention模型模型
- OBJ模型檔案的結構、匯入與渲染OBJ模型
- 中文巨量模型“源1.0”:模型結構與生成效果解析模型
- Attention Model(注意力模型)思想初探模型
- RealFormer: 殘差式 Attention 層的Transformer 模型ORM模型
- 因果模型:邊緣結構模型MSM模型
- JAVA的記憶體模型及結構Java記憶體模型
- 分散式儲存系統,HBase的基本原理與基本架構分散式架構
- 與物料管理結構的連結
- 與會計結構的連結
- Redis資料結構—連結串列與字典的結構Redis資料結構
- Qt 5模型/檢視結構QT模型
- Stata實現結構方程模型模型
- 結構化與非結構化
- Attention
- 大模型API與前端的結合使用大模型API前端
- Self-Attention GAN 中的 self-attention 機制
- 谷歌全attention機器翻譯模型Transformer的TensorFlow實現谷歌模型ORM
- 順序結構與選擇結構
- 結構與OIL
- DOM(文件物件模型):理解網頁結構與內容操作的關鍵技術物件模型網頁
- C/S結構與B/S結構的特點分析
- 域結構進化的馬爾可夫模型馬爾可夫模型
- CNN結構演變總結(一)經典模型CNN模型
- Attention模型方法綜述 | 多篇經典論文解讀模型
- 消費結構 | 基於消費需求結構模型的城鎮居民消費傾向與消費彈性評析模型
- 注意力(Attention)與Seq2Seq的區別
- python分支結構與迴圈結構Python
- 如何使得軟體架構與業務模型相結合? - VLINGO架構模型Go
- 非同步IO模型和Overlapped結構非同步模型APP
- 通用的人員和組織結構模型模型
- 類與結構體結構體
- HarmonyOS:應用程式包結構(1)Stage模型應用程式包結構模型
- 指令集結構與微體系結構
- 資料結構知識點--儲存結構與邏輯結構資料結構
- 結構化資料與非結構化資料的差異
- RxJava基本原理與使用(二)RxJava