关于注意力机制

注意力机制

  • 注意力的种类有如下四种:

加法注意力, Bahdanau Attention
点乘注意力, Luong Attention
自注意力, Self-Attention
多头点乘注意力, Multi-Head Dot Product Attention(请转至Transformer模型

  • seq2seq注意力机制:
    这里关键的操作是计算encoder与decoder state之间的关联性的权重,得到Attention分布。
    1、可以先对encoder中隐藏层状态自身加权。
    2、求每次输入decoder的隐藏层状态与encoder中隐藏层状态的相关性。初始状态仍然为encoder_state,第一次可以选择不使用注意力机制。
    3、softmax求相关性权重。
    4、对encoder中隐藏层状态加权求和得到相应的context vector输入decoder。

  • Bahdanau Attention注意力:

    • 在encoder会有一个注意力机制
      在这里插入图片描述
    • decoder注意力:
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
  • Luong Attention

    • 在encoder同样有一个注意力机制
    • decoder注意力:
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      Bahdanau Attention与Luong Attention两种注意力机制大体结构一致,区别在于计算影响程度的对齐函数。在计算时刻的影响程度时。从逻辑来看貌似后者更合逻辑,但两种机制现在都有在用,TensorFlow中两者都有对应的函数,效果应该没有很大差别。
  • api:

    • tf.contrib.seq2seq.LuongAttention
      def __init__(self,
                   num_units,
                   memory,
                   memory_sequence_length=None,
                   scale=False,
                   probability_fn=None,
                   score_mask_value=None,
                   dtype=None,
                   custom_key_value_fn=None,
                   name="LuongAttention"):
    
    • tf.contrib.seq2seq.BahdanauAttention
      def __init__(self,
                   num_units,
                   memory,
                   memory_sequence_length=None,
                   normalize=False,
                   probability_fn=None,
                   score_mask_value=None,
                   dtype=None,
                   custom_key_value_fn=None,
                   name="BahdanauAttention"):
    
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值