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

相关推荐

  • 好用的开源JavaScript图表库有哪些

    技术好用的开源JavaScript图表库有哪些这篇文章主要介绍好用的开源JavaScript图表库有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、 Chart.jsChart.js 是一个

    攻略 2021年10月30日
  • mysql 发生系统错误1067(mysql数据库1067错误是怎么回事)

    技术mysql出现服务1067错误怎么办这篇文章将为大家详细讲解有关mysql出现服务1067错误怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 my

    攻略 2021年12月22日
  • 怎么利用C++实现赫夫曼编码译码器

    技术怎么利用C++实现赫夫曼编码译码器本篇内容主要讲解“怎么利用C++实现赫夫曼编码译码器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么利用C++实现赫夫曼编码译码器”吧

    攻略 2021年11月29日
  • hbase shell学习-2

    技术hbase shell学习-2 hbase shell学习-2一个学生成绩表的例子来演示hbase的用法。name
    grade
    coursemath
    englishTom
    5
    97
    87Jim
    4

    礼包 2021年12月22日
  • Python使用协程的缺点是什么

    技术Python使用协程的缺点是什么这篇文章给大家分享的是有关Python使用协程的缺点是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、多核资源不能使用:协程的本质是单线程,它不能同时

    攻略 2021年10月27日
  • 下拉表格组件

    技术下拉表格组件 下拉表格组件封装下拉表格组件
    !-- my-selectv-model="changeForm.productname" //双向绑定的数据 (必传):arrData="cpNameO

    礼包 2021年11月1日