Raki的读paper小记:Attention Is All You Need

82 篇文章 10 订阅

大名鼎鼎的transformer原文,虽然早就读过了,并且看了两遍沐神的带读,但是却没有写博客,今天想起来决定还是要记录一下,毕竟它太重要了,记录一下也能加深印象。

模型

transformer模型总览如下

Encoder

encoder层由六层堆叠而成
每一个encoder里面有两个子层
第一个子层是多头注意力机制
第二个子层是全连接层
都使用残差连接,并且使用LN输出维度为512
并且在输入之前都加上位置编码:
P E ( p o s , 2 i ) = s i n ( p o s / 1000 0 2 i / d m o d e l ) P E ( p o s , 2 i + 1 ) = c o s ( p o s / 1000 0 2 i / d m o d e l ) \begin{aligned} PE_{(pos,2i)} = sin(pos/10000^{2i/dmodel}) \\ PE_{(pos,2i+1)} = cos(pos/10000^{2i/dmodel}) \end{aligned} PE(pos,2i)=sin(pos/100002i/dmodel)PE(pos,2i+1)=cos(pos/100002i/dmodel)

连接层是一个Position-wise Feed-Forward Networks,意思是对每个token投影到2048维,再投影回512维:
F F N ( x ) = m a x ( 0 , x W 1 + b 1 ) W 2 + b 2 \begin{aligned} FFN(x) = max(0, xW_1 + b_1)W_2 + b_2 \end{aligned} FFN(x)=max(0,xW1+b1)W2+b2

Decoder

decoder和encoder一样由六层组成,不一样的是,每一层分为3个子层
第一个子层接受上一个子层的输出作为输入,在加上位置编码的同时,加上了mask
第二个子层接受encoder的最后一层输出作为V和K第一个子层的输出作为Q
第三个子层是全连接层

都使用残差连接,并且使用LN

input embedding,output embedding,还有softmax层之前的linear层,都使用同一个投影矩阵,并且embedding都会乘以一个 d m o d e l \mathbf{\sqrt{d_{model}}} dmodel
在这里插入图片描述

训练参数:

优化器:Adam
在这里插入图片描述
正则化:Dropout
在这里插入图片描述
标签平滑:
只要softmax的输出值>=0.1就直接当做正确答案,这会影响模型的困惑度,但是提高了准确性和BLEU分数
在这里插入图片描述

实验

在这里插入图片描述
在这里插入图片描述

评价

到真正自己要写博客才发现,对transformer的理解还有盲点,所以还是得写博客,虽然我不是在写解读,但是记录的过程也勉强算是跟费曼学习法沾边,果然好记性不如烂笔头呀!(更别说我现在记性变差了好多呜呜呜)

Transformer算是开启了MLP,CNN,RNN模型之后的第四范式,可以说是划时代级别的paper,入门的时候一定要把它吃的透透的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值