一文看懂 Bahdanau 和 Luong 两种 Attention 机制的区别

Attention 机制作为近年来自然处理领域最重要的理念之一,在许多 NLP 子领域中得到了广泛应用。以注意力机制为核心的 Transformer、BERT、GPT 等模型也在各类任务 benchmark 不断屠榜。其中,Luong Attention 和 Bahdanau Attention 是最经典的两种注意力机制。二者在理念上大致相同,但在实现细节上存在许多区别。

简单来说,Luong Attention 相较 Bahdanau Attention 主要有以下几点区别:

  1. 注意力的计算方式不同在 Luong Attention 机制中,第 t 步的注意力 mathbf{c}_{t} 是由 decoder 第 t 步的 hidden state mathbf{h}_{t} 与 encoder 中的每一个 hidden state overline{mathbf{h}}_{s} 加权计算得出的。而在 Bahdanau Attention 机制中,第 t 步的注意力 mathbf{c}_{t} 是由 decoder 第 t-1 步的 hidden state mathbf{h}_{t-1} 与 encoder 中的每一个 hidden state overline{mathbf{h}}_{s} 加权计算得出的。
  2. decoder 的输入输出不同在 Bahdanau Attention 机制中,decoder 在第 t 步时,输入是由注意力 mathbf{c}_{t} 与前一步的 hidden state mathbf{h}_{t-1} 拼接(concatenate)得出的,得到第 t 步的 hidden state mathbf{h}_{t} 并直接输出 hat{mathbf{y}}_{t+1} 。而 Luong Attention 机制在 decoder 部分建立了一层额外的网络结构,以注意力 mathbf{c}_{t} 与原 decoder 第 t 步的 hidden state mathbf{h}_{t} 拼接作为输入,得到第 t 步的 hidden state tilde{mathbf{h}}_{t} 并输出 hat{mathbf{y}}_{t}

decoder 部分第二层第 t 步的状态会作为第一层第 t+1 步的输入

总结一下,Bahdanau Attention 机制的计算流程为 mathbf{h}_{t-1} rightarrow mathbf{a}_{t} rightarrow mathbf{c}_{t} rightarrow mathbf{h}_{t} ,而 Luong attention 机制的计算流程为 mathbf{h}_{t} rightarrow mathbf{a}_{t} rightarrow mathbf{c}_{t} rightarrow tilde{mathbf{h}}_{t} 。相较而言, Luong attention 机制中的 decoder 在每一步使用当前步(而非前一步)的 hidden state 来计算注意力,从逻辑上更自然,但需要使用一层额外的 RNN decoder 来计算输出。

此外,Bahdanau Attention 机制的论文中只尝试了使用 concat 作为对齐函数,而 Luong Attention 机制的论文在多种对齐函数上做了实验。

根据计算区域的大小,可以将对齐函数分为全局注意力(Global Attention)和局部注意力(Local Attention)两种机制。全局注意力模式会将 encoder 的每一步 hidden state 进行注意力计算,而局部注意力模式则计算部分范围的 hidden state。

根据所用信息,可以分为基于内容的对齐和基于位置的对齐。前者同时考虑了 encoder 的 hidden state overline{mathbf{h}}_{s} 和当前步 decoder 的 hidden state mathbf{h}_{t},而后者只考虑当前步 decoder 的 hidden state mathbf{h}_{t}

参考:

  1. Neural Machine Translation by Jointly Learning to Align and Translate
  2. Effective Approaches to Attention-based Neural Machine Translation
  3. Attention Variants
  4. BahdanauAttention与LuongAttention注意力机制简介-CSDN博客
  5. 胡文星:seq2seq中的两种attention机制(图+公式)

发表回复

相关推荐

核心期刊与CSCD有何区别?

核心期刊与CSCD有何区别?   很多作者咨询核心期刊与CSCD有何区别?一般来说作者评审中高级职称的需要投稿核心期刊,有的作 ...

· 31分钟前

還說你不是老司機,你下瞭什麼小電影我都知道!

HI,大傢好,角落吧是一個集軟件、資源、經驗教程於一身的公眾號。號內提供的全部資源均為免費分享,大部分資源來源於網絡,...

· 31分钟前

日本一小哥喝多後把插銷插在墻上

相信很多小夥伴都有過醉酒的經歷。約上三兩好友,點些小菜美食,聊到開心處,難免會忍不住想喝兩杯。對於酒,有人覺得喝到微...

· 31分钟前

种族软性屠杀无处不在——邪恶的日本动漫

这是日本动画蜡笔小新第七季中的截图,十分恶心,这种恶心的人妖都出现动漫中,这也许是现在同性恋增多的原因。

· 31分钟前

民辦園營利性和非營利性、普惠性和非普惠性分類選擇,應厘清的7對基本概念!

《民辦教育促進法》自2016年修訂以來,2018年又進行瞭少量修訂。目前,國務院及其有關部門正在推動修訂《民辦教育促進法實施...

· 33分钟前