【自然语言处理】: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)

相关推荐

  • 刘羽冲偶得古兵书翻译,刘羽冲偶得古兵书 赏析

    技术刘羽冲偶得古兵书翻译,刘羽冲偶得古兵书 赏析看看刘羽冲的表现:他偶然得过一部古兵书,苦读了一年左右,自己感觉可以统领十万军兵冲锋陷阵了刘羽冲偶得古兵书翻译。正巧当时乡里出现土匪,刘羽冲就自己训练乡兵与土匪们打仗,

    生活 2021年10月29日
  • 怎么用keil编程C语言

    技术怎么用keil编程C语言本篇文章给大家分享的是有关怎么用keil编程C语言,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。单片机需要用到C语言作为程序来对

    攻略 2021年10月27日
  • 什么是TeamGantt

    技术什么是TeamGantt本篇内容主要讲解“什么是TeamGantt”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“什么是TeamGantt”吧!  TeamGantt是一款

    攻略 2021年11月12日
  • 孙悟空的外貌,孙悟空的外貌描写50字左右优秀

    技术孙悟空的外貌,孙悟空的外貌描写50字左右优秀孙悟空的外貌是孙悟空的外貌:1、拐子(腿的下部与脚相连处)脸、别颏腮(凹陷皱缩的脸)、雷公嘴(尖鸟嘴)、红眼睛的一个痨病魔鬼。
    2、圆眼睛,查耳朵(张开耳朵),满面毛,雷公

    生活 2021年10月25日
  • pytorch 训练集尺寸必须一致吗(pytorch如何防止加载模型改变参数)

    技术torch.nn.ModuleList有什么用本篇内容主要讲解“torch.nn.ModuleList有什么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“torch.n

    攻略 2021年12月21日
  • Docker怎样进行部署dotnetcore

    技术Docker怎样进行部署dotnetcore这篇文章给大家介绍Docker怎样进行部署dotnetcore,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。安装docker系统还是之前centos

    攻略 2021年11月19日