计算机领域热知识【1】Transformer与attention

请添加图片描述

要说近些年来最火的深度学习模型,十个人中会有九个人说是Transformer。Transformer的通用性与易训性使得其在自然语言处理领域大方异彩。自2017年提出以来,近5年来大量NLP领域的创新均是基于transformer进行的,例如我们熟知的BERT,GPT2等,均取得良好的实验效果。本篇博客介绍transformer的结构,并提出自己对模型结构的看法。

transformer结构

transformer最初被应用在文本翻译中,即输入一段文本sequence,输出其翻译文本sequence。一个sequence由多个token组成,每个token本身就是一个向量,一个sequence可以理解成是一个向量序列,其中每个元素是向量,元素之间有顺序关系。transformer有2个最核心的模块:encoder和decoder,二者均使用了attention机制残差神经网络结构

请添加图片描述
上面这张图你从各种各样讲解transformer的博客中都能看见,它就是transformer的完整结构。事实上encoder和decoder的框架设计并不是transforme的创新点,在transformer之前的GAN和a utoencoder均有encoder+decoder的设计。transformer最核心的创新点在于:只使用attention机制,避免使用循环神经网络和卷积网络,从而增加并行性,提升速度。1

encoder

encoder即是一个编码器,其作用是获得一个输入的中间表示。其有3个核心要点:

  1. multi-head attention机制
  2. add & Norm 归一化
  3. add & Norm 残差结构

multi-head attention

这个模块是transformer摆脱RNN的关键,在整个transformer中应用广泛,不仅在encoder中使用,也在decoder中有使用。在介绍multi-head attention之前,我们先要了解self-attention机制。self-attention机制最核心的想法是通过计算相关性(也可以理解成相似性)来获得每个value的权重,进而得到一个加权平均的表示。聪明的你一定猜到了,这里的相关性即是attention的由来,哪个元素的相关性大,则其获得的attention则越多。multi-head attention是在self-attention基础上的变形。self-attention可以用公式表示成:
a t t e n t i o n = s o f t m a x ( Q K T / ( d k ) ) V attention=softmax(QK^T/\sqrt(d_k))V attention=softmax(QKT/( dk))V
这里的 Q Q Q K K K V V V是矩阵,举例来说如果 Q

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值