注意力机制学习笔记


    注意力机制最初是一种在编码器-解码器结构中使用到的机制,在多种任务中使用:机器翻译、图像转换等。如今,注意力机制在深度学习模型中无处不在,而不仅仅是在编码器-解码器上下文中使用。

注意力机制

Encoder-Decoder机制

在这里插入图片描述

    如上图所示,编码器将输入嵌入为一个向量, 解码器根据这个向量得到输出。由于这种结构一般的应用场景(机器翻译等),其输入输出都是序列, 因此也被称为序列到序列的模型Seq2Seq。

    原始输入首先通过一个神经网络被编码为一个向量,以RNN为例,在每个时间步t,将前向和后向的句子嵌入连接起来,以获得双向RNN的内部表示形式:
h t = [ h t → ; h t ← ] h_t=[\overrightarrow{h_t};\overleftarrow{h_t}] ht=[ht ;ht ]

    注意力机制允许解码器在每一个时间步t处考虑整个编码器输出的隐藏状态序列 ( h 1 , h 2 , ⋯ , h T x ) (h_1,h_2,⋯,h_{Tx}) (h1,h2,,hTx),从而编码器将更多的信息分散地保存在所有隐藏状态向量中,解码器在使用这些隐藏向量时, 就能决定对哪些向量更关心。

    解码器得到的目标序列 ( h 1 , h 2 , ⋯ , h T y ) (h_1,h_2,⋯,h_{Ty}) (h1,h2,,hTy)中的输出 y t y_t yt, 都是基于以下的条件分布:
h t ~ = t a n h ( W c [ c t ; h t ] ) \tilde{h_t}=tanh(W_c[c_t;h_t]) ht~=tanh(Wc[ct;ht])
P [ y t ∣ { y 1 , … , y t − 1 } , c t ] = s o f t m a x ( W s h t ~ ) P[y_t|\{y_1, …, y_{t-1}\}, c_t]=softmax(W_s\tilde{h_t}) P[yt{ y1,,yt1},ct]=softmax(Wsht~)
   其中, h t ~ \tilde{h_t} ht~为隐藏状态向量; c t c_t ct是上下文向量,可由全局和局部两种计算方法得到; W s W_s Ws W c W_c W

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值