15.transformer全解

Transformer是Google在2017年提出的网络结构,它使用自注意力机制替代RNN,实现并行计算,提高效率。文章详细介绍了Transformer的网络结构,包括Input/OutputEmbedding、自注意力层、点状全连接层和位置编码,以及在编码器和解码器中的应用。

欢迎访问个人网络日志🌹🌹知行空间🌹🌹


1.基础介绍

论文:Attention Is All You Need

这是Google2017年06月份发表的文章,在这篇文章中作者提出了后来对CV和NLP都产生了影响很大的Transformer网络结构,成为继MLPRNN后又一倍受关注的基础模型。用于序列化数据的学习以输出序列化的预测结果,如应用在NLP领域。Transformer最早的提出就是应用在机器翻译领域,在WMT2014 英语翻译成德语的任务上,BLEU指标达到了28.4,比之前的SOTA提升了2个点。Transformer中使用多头注意力层替换了之前序列转录模型中使用循环神经网络单元。

图片来自于1
在这里插入图片描述

在RNN中,如上图,要计算 h t h_t ht必须先计算 h t − 1 h_{t-1} ht1及其之前的所有输出,这导致模型的计算无法在时间上并行,导致运算效率比较低。此外,因时序信息是一步步向后传递的,因此对于序列早期的信息在后面的计算中有可能会丢掉,而存储 h t h_t ht当序列长度过长时又会占用过多的内存。而Transformer结构使用自注意力机制,使得模型能够进行并行化计算,提升训练速度。

2.网络结构

对于序列数据的学习,经典的结构就是编码-解码结构,编码器将输入序列 ( x 1 , x 2 , . . . , x n ) (x_1,x_2,...,x_n) (x1,x2,...,xn)映射成 ( z 1 , z 2 , . . . , z n ) (z_1,z_2,...,z_n) (z1,z2,...,zn),解码器以 z z z为输入得到 ( y 1 , y 2 , . . . , y m ) (y_1,y_2,...,y_m) (y1,y2,...,ym)作为输出,这里的输出过程是先输出 y 1 y_1 y1,再根据 y 1 y_1 y1输出 y 2 y_2 y2,再根据 y 1 , y 2 y_1,y_2 y1,y2再输出 y 3 y_3 y3

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值