您当前的位置:首页 > 电脑百科 > 人工智能

详解深度学习中的注意力机制(Attention)

时间:2021-06-09 10:39:33  来源:今日头条  作者:自由技艺

0 前言

大家好,欢迎来到“自由技艺”的知识小馆。今天我们来探讨下深度学习中的 Attention 机制,中文名为“注意力”。本文内容结构组织如下:

1 为什么需要引入 Attention 机制?

2 深度学习中的 Encoder-Decoder 框架

3 Soft Attention 模型

4 Attention 机制的本质

5 Self Attention 模型

6 总结

1 为什么要引入 Attention 机制?

当我们用深度 CNN 模型识别图像时,一般是通过卷积核去提取图像的局部信息,然而,每个局部信息对图像能否被正确识别的影响力是不同的,如何让模型知道图像中不同局部信息的重要性呢?答案就是注意力机制。

详解深度学习中的注意力机制(Attention)

人类视觉注意力

视觉注意力机制是人类大脑的一种天生的能力。当我们看到一幅图片时,先是快速扫过图片,然后锁定需要重点关注的目标区域。比如当我们观察上述图片时,注意力很容易就集中在了人脸、文章标题和文章首句等位置。

试想,如果每个局部信息都不放过,那么必然耗费很多精力,不利于人类的生存进化。同样地,在深度学习网络中引入类似的机制,可以简化模型,加速计算

另外,利用循环神经网络去处理 NLP 任务时,长距离“记忆”能力一直是个大难题,而引入“注意力机制”也能有效缓解这一问题。

2 Encoder-Decoder 框架

常见的深度学习模型有 CNN、RNN、LSTM、AE 等,其实都可以归为一种通用框架 - Encoder-Decoder.

详解深度学习中的注意力机制(Attention)

Encoder-Decoder 框架

在文本处理领域,有一类常见的任务就是从一个句子(Source)生成另一个句子(Target),比如翻译,其中 xi 是输入单词的向量表示,yi 表示输出单词。

详解深度学习中的注意力机制(Attention)

 

Source 经过 Encoder,生成中间的语义编码 C

详解深度学习中的注意力机制(Attention)

 

C 经过 Decoder 之后,输出翻译后的句子。在循环神经网络中,先根据 C 生成 y1,再基于(C,y1)生成 y2,依此类推。

详解深度学习中的注意力机制(Attention)

 

3 Soft Attention 模型

详解深度学习中的注意力机制(Attention)

RNN 模型

传统的循环神经网络中,y1y2 和 y3 的计算都是基于同一个 C. 深入思考一下,发现这可能并不是最好的方案,因为 Source 中不同单词对 y1y2 和 y3 的影响是不同的,所以,很自然地就有了如下思路:

详解深度学习中的注意力机制(Attention)

引入注意力机制的 Encoder-Decoder 框架

上述改良模型中的 C1、C2、C3 是怎么计算的呢?其实也非常简单,就是在计算 C1C2 和 C3 时,分别使用不同的权重向量:

详解深度学习中的注意力机制(Attention)

 

上述公式中的权重向量 (a11, a12, a13)、(a21, a22, a23)、(a31, a32, a33) 又是如何计算的呢?请看下图。

详解深度学习中的注意力机制(Attention)

注意力分配的概率计算

上述模型中: h1 = f(Tom)、h2 = f(h1, Chase)、h3 = f(h2, Jerry).

当计算出 Hi-1 之后,通过函数 F(hj,Hi-1) 获得输入语句中不同单词(Tom、Chase、Jerry)对目标单词 yi 的影响力,F 的输出再经过 Softmax 进行归一化就得到了符合概率分布取值区间的注意力分配概率。其中,F 函数的实现方法有多种,比如余弦相似度、MLP 等。

详解深度学习中的注意力机制(Attention)

google 神经网络机器翻译系统结构图

4 Attention 机制的本质

现在,请你把 Source 想象成是内存里的一块存储空间,它里面存储的数据按 <Key, Value> 存储。给定 Query,然后取出对应的内容。这里与一般的 hash 查询方式不同的是,每个地址都只取一部分内容,然后对所有的 Value 加权求和。

详解深度学习中的注意力机制(Attention)

Attention 的实质:软寻址(soft addressing)

公式描述如下:

详解深度学习中的注意力机制(Attention)

 

Attention 的计算可以分成如下三个阶段:

详解深度学习中的注意力机制(Attention)

三阶段计算 Attention 过程


详解深度学习中的注意力机制(Attention)

注意力打分机制


详解深度学习中的注意力机制(Attention)

归一化的注意力概率分配


详解深度学习中的注意力机制(Attention)

 

上述公式中的 Lx 表示输入语句的长度。上一节的例子中,Key 是等于 Value 的。

5 Self Attention 模型

详解深度学习中的注意力机制(Attention)

可视化 Self Attention 例子

在 Soft Attention 模型中,Source 和输出 Target 的内容是不同的,比如中-英机器翻译,Source 对应中文语句,Target 对应英文语句。

现在有另一个任务,如上图所示:给定一个句子和句子中某个单词 making,如何找出与 making 强相关的其他单词呢?比如上图中的 more difficult(因为它们和 making 可以组成一个短语).

这就用到了 Self Attention 机制,顾名思义,指的是 Source 内部元素之间或者 Target 内部元素之间发生的 Attention 机制,也可以理解为 Source = Target 这种特殊情况下的 Attention 机制,具体计算过程和 Soft Attention 是一样的。

6 总结

下图展示了注意力机制如何在图片描述任务(Image-Caption)中发挥作用的。

图片描述任务,就是给你一张图片,请输出一句话去描述它。一般会用 CNN 来对图片进行特征提取,Decoder 部分使用 RNN 或者 LSTM 来输出描述语句。此时如果加入注意力机制,能够大大改善输出效果。

详解深度学习中的注意力机制(Attention)

图片描述任务中的注意力机制

另外,在语音识别、目标物体检测等领域,注意力机制同样取得了很好的效果。

实际上,Attention 机制听起来高大上,其关键就是学出一个权重分布,然后作用在特征上

  • 这个权重可以保留所有的分量,叫加权(Soft Attention),也可以按某种采样策略选取部分分量(Hard Attention)。
  • 这个权重可以作用在原图上,如目标物体检测;也可以作用在特征图上,如 Image-Caption
  • 这个权重可以作用在空间尺度上,也可以作用于 Channel 尺度上,给不同通道的特征加权
  • 这个权重可以作用在不同时刻上,如机器翻译

文中图片及部分内容来源于 CSDN 账号“csdn人工智能”的文章《深度学习中的注意力机制》,写得非常好,强烈推荐大家阅读。



Tags:深度学习   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
现如今,谈起人工智能我们都会想到的是“深度学习”(deep learning),无论是战胜李世石的AlphaGo,还是能够随意写出人类水平文章的GPT-3,它们的背后都依托的是这套算法。 它具有很好...【详细内容】
2021-09-14  Tags: 深度学习  点击:(104)  评论:(0)  加入收藏
0 前言大家好,欢迎来到“自由技艺”的知识小馆。今天我们来探讨下深度学习中的 Attention 机制,中文名为“注意力”。本文内容结构组织如下:1 为什么需要引入 Attention 机制?2...【详细内容】
2021-06-09  Tags: 深度学习  点击:(149)  评论:(0)  加入收藏
微信正用着的深度学习框架,现在你也可以上手试一试了。 就在最近,腾讯把这个名叫deepx_core的深度学习基础库正式对外开源。 相比于PyTorch、TensorFlow等流行深度学习框架,这位选手不仅具有通用性,还针对高维稀疏数据...【详细内容】
2021-04-06  Tags: 深度学习  点击:(205)  评论:(0)  加入收藏
为深度学习项目建立一个良好的环境不是一件容易的任务。因为需要处理的事情太多了:库必须匹配特定的版本,整个环境需要可以复制到其他机器上,所有东西都需要能够机器中的所有...【详细内容】
2021-03-05  Tags: 深度学习  点击:(96)  评论:(0)  加入收藏
深度学习是机器学习的一个子领域,它采用了一个特定的模型:一族通过某种方式连接起来的简单函数。由于这类模型的结构是受到人类大脑结构的启发而创造出来的...【详细内容】
2021-02-26  Tags: 深度学习  点击:(269)  评论:(0)  加入收藏
基于人工智能和深度学习方法的现代计算机视觉技术在过去10年里取得了显著进展。如今,它被用于图像分类、人脸识别、图像中物体的识别、视频分析和分类以及机器人和自动驾驶车辆的图像处理等应用上。...【详细内容】
2021-01-07  Tags: 深度学习  点击:(87)  评论:(0)  加入收藏
什么是深度学习深度学习有如下一些众所周知且被广泛接受的定义。(1)深度学习是机器学习的子集。(2)深度学习使用级联的多层(非线性)处理单元,称为人工神经网络(ANN),以及受大脑结构和...【详细内容】
2020-12-07  Tags: 深度学习  点击:(184)  评论:(0)  加入收藏
本文将介绍在 Windows 计算机上配置深度学习环境的全过程,其中涉及安装所需的工具和驱动软件。出人意料的是,即便只是配置深度学习环境,任务也不轻松。你很有可能在这个过程中犯错。我个人已经很多次从头开始配置深度学...【详细内容】
2020-12-02  Tags: 深度学习  点击:(97)  评论:(0)  加入收藏
一代深度学习框架研究于璠华为技术有限公司摘要:从人工智能的历史出发,简述深度学习发展历程以及目前的挑战,通过介绍新一代深度学习框架的特点,分析总体框架,阐述自动并行、自动...【详细内容】
2020-11-10  Tags: 深度学习  点击:(94)  评论:(0)  加入收藏
HelloGitHub 推出的《讲解开源项目》 系列。这一期是由亚马逊工程师:Keerthan Vasist,为我们讲解 DJL(完全由 Java 构建的深度学习平台)系列的第 4 篇。...【详细内容】
2020-11-03  Tags: 深度学习  点击:(86)  评论:(0)  加入收藏
▌简易百科推荐
作为数据科学家或机器学习从业者,将可解释性集成到机器学习模型中可以帮助决策者和其他利益相关者有更多的可见性并可以让他们理解模型输出决策的解释。在本文中,我将介绍两个...【详细内容】
2021-12-17  deephub    Tags:AI   点击:(15)  评论:(0)  加入收藏
基于算法的业务或者说AI的应用在这几年发展得很快。但是,在实际应用的场景中,我们经常会遇到一些非常奇怪的偏差现象。例如,Facebook将黑人标记为灵长类动物、城市图像识别系统...【详细内容】
2021-11-08  数据学习DataLearner    Tags:机器学习   点击:(32)  评论:(0)  加入收藏
11月2日召开的世界顶尖科学家数字未来论坛上,2013年诺贝尔化学奖得主迈克尔·莱维特、2014年诺贝尔生理学或医学奖得主爱德华·莫索尔、2007年图灵奖得主约瑟夫·斯发斯基、1986年图灵奖得主约翰·霍普克罗夫特、2002...【详细内容】
2021-11-03  张淑贤  证券时报  Tags:人工智能   点击:(39)  评论:(0)  加入收藏
鉴于物联网设备广泛部署、5G快速无线技术闪亮登场,把计算、存储和分析放在靠近数据生成的地方来处理,让边缘计算有了用武之地。 边缘计算正在改变全球数百万个设备处理和传输...【详细内容】
2021-10-26    计算机世界  Tags:边缘计算   点击:(45)  评论:(0)  加入收藏
这是几位机器学习权威专家汇总的725个机器学习术语表,非常全面了,值得收藏! 英文术语 中文翻译 0-1 Loss Function 0-1损失函数 Accept-Reject Samplin...【详细内容】
2021-10-21  Python部落    Tags:机器学习   点击:(43)  评论:(0)  加入收藏
要开始为开源项目做贡献,有一些先决条件:1. 学习一门编程语言:由于在开源贡献中你需要编写代码才能参与开发,你需要学习任意一门编程语言。根据项目的需要,在后期学习另一种语言...【详细内容】
2021-10-20  TSINGSEE青犀视频    Tags:机器学习   点击:(37)  评论:(0)  加入收藏
SimpleAI.人工智能、机器学习、深度学习还是遥不可及?来这里看看吧~ 从基本的概念、原理、公式,到用生动形象的例子去理解,到动手做实验去感知,到著名案例的学习,到用所学来实现...【详细内容】
2021-10-19  憨昊昊    Tags:神经网络   点击:(47)  评论:(0)  加入收藏
语言是人类思维的基础,当计算机具备了处理自然语言的能力,才具有真正智能的想象。自然语言处理(Natural Language Processing, NLP)作为人工智能(Artificial Intelligence, AI)的核心技术之一,是用计算机来处理、理解以及运...【详细内容】
2021-10-11    36氪  Tags:NLP   点击:(48)  评论:(0)  加入收藏
边缘计算是什么?近年来,物联网设备数量呈线性增长趋势。根据艾瑞测算, 2020年,中国物联网设备的数量达74亿,预计2025年突破150亿个。同时,设备本身也变得越来越智能化,AI与互联网在...【详细内容】
2021-09-22  汉智兴科技    Tags:   点击:(54)  评论:(0)  加入收藏
说起人工智能,大家总把它和科幻电影中的机器人联系起来,而实际上这些科幻场景与现如今的人工智能没什么太大关系。人工智能确实跟人类大脑很相似,但它们的显著差异在于人工智能...【详细内容】
2021-09-17  异步社区    Tags:人工智能   点击:(57)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条