【自然语言处理】:seq2seq当中的Attention注意力机制

技术【自然语言处理】:seq2seq当中的Attention注意力机制 【自然语言处理】:seq2seq当中的Attention注意力机制一.seq2seq机制
传统的seq2seq机制在语言翻译当中使

【自然语言处理】:seq2seq中的注意机制。

一.seq2seq机制

传统的seq2seq机制在语言翻译中使用了两个rnn,一个是编码器,对语言进行编码,另一个是解码器,对我们获得的语言代码进行解码。在解码的过程中,我们可以把我们的语言翻译成另一种语言。其机制如下:

当然,有了这个机制,也会出现一些问题。比如一个隐藏层需要捕捉整个句子的所有信息,但实际上,我们面前的一些信息可能会被省略。同样,一些本应更重要的信息可能不会被模型认为是重要的。

比如输入的英文句子是:Tom chase Jerry,目标翻译结果是:Tom Chase Jerry。在没有注意机制的模型中,该模型认为汤姆的翻译受到汤姆、蔡斯和杰瑞相同权重的影响。但其实不应该这样对待。单词Tom受输入单词Tom的影响应该最大,而其他输入单词的影响应该很小。显然,在不考虑注意机制的编码器-解码器模型中,这种不同输入的重要性并不反映处理,这通常被称为分心模型.

因此,我们引入注意力机制,即注意力,来改变这种情况。

二.Attention注意力机制的原理

你只需要注意杨丽坤的名言。让我们来看看注意力机制是如何实现的。首先,我们将解码器第一隐藏层的值乘以编码器的每个值,即点积,得到一个关注度分数。如下图所示:

然后我们使用softmax得到这些点积结果的概率分布。众所周知,softmax得到的概率之和只有1。使用softmax后的概率分布在这里称为注意力分布。我们找到了第一个编码器单元通过softmax后注意力得分的概率。说明目前我们的注意力集中在第一个编码器单元上。机器的主要注意力是翻译当前单位对应的单词。

然后我们用加权和计算当前编码器的隐藏状态作为我们的注意力输出,并形成一个向量。就是注意力分配的结果应该转化为一个向量。

然后,我们用注意力作用的解码器拼接这个向量,并使用这个拼接结果来计算我们最终的翻译结果。

最后,使用刚才的结果作为我们第二个隐藏层的输入(通常可以这样做)。然后,第二次关注之后,我们两个隐藏层的预测结果就是:命中。然后依次重复这个过程,得到我们最终的翻译结果。

最后,我们总结了注意机制。

其中,我们的隐藏状态或隐藏层可以称为h1、h2.然后我们可以通过点积得到我们的注意力分数。

把这个et放到softmax函数中,得到关注度分布:at。我们用这个at来计算加权和,这个权重就是我们隐藏状态(层)的一个权重(最后恍然大悟,知道这个加权和是怎么来的了!)

最后组合拼接(左右拼接,不上下拼接),得到我们的预测值!具体公式如下图所示:

,

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/48881.html

(0)

相关推荐

  • 华为手机丢失,丢失的华为手机怎样定位

    技术华为手机丢失,丢失的华为手机怎样定位华为手机丢了可以定位找回华为手机丢失,以华为G9手机为例,操作步骤如下:1、在手机的设置中,找到高级设置,点击进入。
    2、在高级设置中,找到安全,点击进入。
    3、在安全界面,选择手

    生活 2021年10月31日
  • 如何使用GPG验证你的提交

    技术如何使用GPG验证你的提交这篇文章给大家介绍如何使用GPG验证你的提交,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。最近 发现 gitee.com 也跟github.com一样开始使用gpg提交

    攻略 2021年10月28日
  • jquery如何修改tr的类

    技术jquery如何修改tr的类这篇文章主要介绍“jquery如何修改tr的类”,在日常操作中,相信很多人在jquery如何修改tr的类问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jqu

    攻略 2021年11月19日
  • Thinkphp5.1怎么实现邮箱验证

    技术Thinkphp5.1怎么实现邮箱验证本篇内容介绍了“Thinkphp5.1怎么实现邮箱验证”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔

    攻略 2021年11月16日
  • C++ 调试问题:对象包含与成员函数不兼容的类型限定符

    技术C++ 调试问题:对象包含与成员函数不兼容的类型限定符 C++ 调试问题:对象包含与成员函数不兼容的类型限定符今天调试C++自定义String代码的时候,碰到一个问题,编译期报错:对象包含与成员函数

    礼包 2021年11月13日
  • go环境变量怎么配置

    技术go环境变量怎么配置这篇文章将为大家详细讲解有关go环境变量怎么配置,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。export GOROOT=/usr/local/goexport

    攻略 2021年11月18日