注意力机制可视化_深度学习第47讲:注意力机制Attention Model与机器翻译

本文介绍了注意力机制的概念,它模拟人类的注意力分配方式,改进了seq2seq模型在自然语言处理任务中的表现。通过示例详细讲解了注意力模型在机器翻译中的应用,并展示了如何构建和训练包含注意力机制的RNN模型,以及通过可视化来理解模型的注意力焦点。
摘要由CSDN通过智能技术生成

833c882abfeddfd68ebd353eb5f87a1b.png
作者:louwill 个人公众号:机器学习实验室,致力于数据科学、机器学习和深度学习的应用与研究。有着多年的R语言和Python编程经验 配套视频教程:Python机器学习全流程项目实战精 https:// edu.hellobi.com/course/ 284 涵盖需求分析->数据采集->数据清洗与预处理->数据分析与可视化->特征工程->机器学习建模->模型调优->报告输出。以Python为工具实现机器学习全流程。

上一讲我们讲到了 seq2seq 模型,seq2seq 模型虽然强大,但如果仅仅是单一使用的话,效果会大打折扣。本节要介绍的注意力模型就是基于编码-解码框架下的一种模拟人类注意力直觉的一种模型。

注意力机制原理

人脑的注意力机制本质上是一种注意力资源分配的模型,比如说我们在阅读一篇论文的时候,在某个特定时刻注意力肯定只会在某一行文字描述,在看到一张图片时,我们的注意力肯定会聚焦于某一局部。随着我们的目光移动,我们的注意力肯定又聚焦到另外一行文字,另外一个图像局部。所以,对于一篇论文、一张图片,在任意一时刻我们的注意力分布是不一样的。这便是著名的注意力机制模型的由来。早在计算机视觉目标检测相关的内容学习时,我们就提到过注意力机制的思想,目标检测中的 Fast R-CNN 利用 RoI(兴趣区域)来更好的执行检测任务,其中 RoI 便是注意力模型在计算机视觉上的应用。

注意力模型的使用更多是在自然语言处理领域,在机器翻译等序列模型应用上有着更为广泛的应用。在自然语言处理中,注意力模型通常是应用在经典的 Encoder-Decoder 框架下的,也就是 RNN 中著名的 N vs M 模型,seq2seq 模型正是一种典型的 Encoder-Decoder 框架。

764c566751f62b3d08ae32eb8ee6fe53.png

Encoder-Decoder 作为一种通用框架,在具体的自然语言处理任务上还不够精细化。换句话说,单纯的Encoder-Decoder 框架并不能有效的聚焦到输入目标上,这使得像 seq2seq 的模型在独自使用时并不能发挥最大功效。比如说在上图中,编码器将输入编码成上下文变量 c,在解码时每一个输出 Y 都会不加区分的使用这个 c 进行解码。而注意力模型要做的事就是根据序列的每个时间步将编码器编码为不同 c,在解码时,结合每个不同的 c 进行解码输出,这样得到的结果会更加准确。

统一编码为 c:

0acc1e7337db055f792936500d0e6421.png


使用统一的 c 进行解码:

e625fe813e89f57602867aee72787fa9.png


在应用了注意力模型之后,每个输入会被独立编码,解码时就会有各自对应的 c 进行解码,而不是简单的一刀切:

a87c523bc8d11d68269872ef971fb9fd.png


相应的,原先的 Encoder-Decoder 框架在引入了注意力机制后就变成了如下结构:

211e544f4a8463159e9b6d4a5ede2aea.png

以上是注意力模型的图示,下面我们再来看如何注意力模型如何用公式来描述。公式描述如下:

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值