| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 注意力机制的架构 -> 正文阅读 |
|
[人工智能]注意力机制的架构 |
注意力机制在机器学习中日益流行,包含注意力机制的模型架构也在增加。本文将探讨如何有目的的将注意力机制并入不同的网络架构中。 一、编码-解码器架构编码器-解码器已广泛应用于语言处理领域的序列到序列(seq2seq)任务中,如机器翻译、图片说明。 最早使用注意力的是基于RNN的编码-解码器,用来对长输入句进行编码,随后注意力在这种结构中得到了最广泛的应用。 关于注意力应用的调查论文: <<Atention_Survey.pdf>> 在机器翻译上下文时,seq2seq的任务是将输入序列:I = {A,B,C,<E OS>} 以不同的长度翻译成输出序列:O = {W,X,Y,Z,<E OS>} 一个基于RNN的解码编码结构没有注意力,展开后如下: 如上图所示,编码器负责一次读取一个输入词序列,并每次更新其内部状态,在遇到位于序列末端的<EOS>符号时停止。编码器生成的隐藏状态本质包含输入序列的向量表示,然后再由解码器处理。 解码器一次生成一个单词输出序列,取前一个时间步长的单词(t-1)作为输入,来生成下一个单词输出序列,遇到解码端的<EOS>符号表示解码结束。 但,当不同长度和复杂度的序列由固定长度的向量表示时,编码-解码器架构就会出现问题,若是序列比较长,会致使解码器丢失重要信息。 因此,为了规避这个问题,基于注意力架构的解码编码器就出现了,引入了一种注意力机制。 如上图所示,其中,注意力机制学习Φ学习一组注意力权重,这些权重捕获编码向量v和解码器的隐藏状态h之间的关系,通过解码器所有的隐藏状态和加权来生成上下文向量c。因此,解码器可以访问整个输入序列,尤其关注与生成序列最相关的输入信息。 二、transformerTransformer 架构也实现了编码器和解码器,但是,与我们上面回顾的架构相反,它不依赖于RNN的使用。因此,将分别审查此体系结构及其变体。Transformer摒弃了任何重复,而是完全依赖于自我关注(或注意力内)机制。 有人研究发现,在计算复杂度方面,当序列长度 n 小于表示维数 d 时,自注意力层比循环层更快 自注意力机制依赖于queries, keys 和 values的使用,它们是通过将编码器对同一输入序列的表示形式与不同权重矩阵相乘而生成的。Transformers 使用点积(或乘法)注意,其中每个query都通过点积操作与key数据库进行匹配,以生成注意权重。然后将这些权重乘以这些值,来生成最终的注意向量。 所有的query,key,value来自同一输入序列,因此注意力机制来捕获同一序列中不同元素间的关系,突出显示那些彼此最相关的元素。 由于Transformer不依赖于RNN,故可以通过使用位置编码来增强对每个元素的表示,以此保留每个元素的位置信息。因此,信息不按顺序的任务也可使用transformer架构,如图像分类、分割或图片说明等计算机视觉方面。 Transformer 可以捕获输入和输出间的全局/远程依赖关系,支持并行处理,需要先验知识,展示对大型序列和数据集的可扩展性,并允许对多种形式(文本、图像、语音)进行领域无关处理。 此外,多个注意力曾可以并行堆叠,成为Multi-head注意力,每个head在同一输入的不同线性变换上并行工作,然后将head的输出连接起来以产生最终的注意力结果。拥有multi-head模型的最大好处是每个head可以处理序列不同的元素。 变体: Transformer-XL:引入循环,以便它可以学习在训练期间通常使用的固定长度的片段序列之外的长期依赖性。 XLNet:一种双向转换器,通过引入基于排列的机制构建在 Transfomer-XL 上,其中训练不仅在构成输入序列的元素的原始顺序上进行,而且在输入序列顺序的不同排列上进行。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 0:15:48- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |