search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

自然語言處理中的注意力機制是幹什麼的?

王小新 編譯自Quora

量子位 出品 | 公眾號 QbitAI

談神經網路中注意力機制的論文和博客都不少,但很多人還是不知道從哪看起。於是,在國外問答網站Quora上就有了這個問題:如何在自然語言處理中引入注意力機制?

Quora自家負責NLP和ML的技術主管Nikhil Dandekar做出了一個簡要的回答:

概括地說,在神經網路實現預測任務時,引入注意力機制能使訓練重點集中在輸入數據的相關部分,忽略無關部分。

注意力是指人的心理活動指向和集中於某種事物的能力。比如說,你將很長的一句話人工從一種語言翻譯到另一種語言,在任何時候,你最關注的都是當時正在翻譯的詞或短語,與它在句子中的位置無關。在神經網路中引入注意力機制,就讓它也學會了人類這種做法。

注意力機制最經常被用於序列轉換(Seq-to-Seq)模型中。如果不引入注意力機制,模型只能以單個隱藏狀態單元,如下圖中的S,去捕獲整個輸入序列的本質信息。這種方法在實際應用中效果很差,而且輸入序列越長,這個問題就越糟糕。

圖1:僅用單個S單元連接的序列轉換模型

注意力機制在解碼器(Decoder)運行的每個階段中,通過回顧輸入序列,來增強該模型效果。解碼器的輸出不僅取決於解碼器最終的狀態單元,還取決於所有輸入狀態的加權組合。

圖2:引入注意力機制的序列轉換模型

注意力機制的引入增加了網路結構的複雜性,其作為標準訓練模型時的一部分,通過反向傳播進行學習。這在網路中添加模塊就能實現,不需要定義函數等操作。

下圖的例子,是將英語翻譯成法語。在輸出翻譯的過程中,你可以看到該網路「注意」到輸入序列的不同部分。

圖3:翻譯網路示意圖

由於英語和法語語序比較一致,從網路示意圖可以看出,除了在把短語「European Economic Zone(歐洲經濟區)」翻譯成法語「zone économique européenne」時,網路線有部分交叉,在大多數時,解碼器都是按照順序來「注意」單詞的。

文中配圖來自Distill

推薦閱讀:

Attention and Augmented Recurrent Neural Networks

Attention and Memory in Deep Learning and NLP

Peeking into the neural network architecture used for Google』s Neural Machine Translation

【完】

招聘

量子位正在招募編輯記者、運營、產品等崗位,工作地點在北京中關村。相關細節,請在公眾號對話界面,回復:「招聘」。

今天AI界還有哪些事值得關注?在量子位(QbitAI)公眾號對話界面回復「今天」,看我們全網搜羅的AI行業和研究動態。筆芯~

另外,,如果你研究或者從事AI領域,小助手會把你帶入量子位的交流群里。

掃碼強行關注『量子位』



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦