ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Transformer架构记录(二)

2021-10-03 14:33:32  阅读:195  来源: 互联网

标签:Transformer 架构 记录 Add Encoder add norm mha block


在 Transformer架构记录(一)中,得到了一句话的数字表示 X,下面将 X 输入到Encoder的第一个Encoder-block中对其做进一步处理。

一个完整的Encoder-block如下图所示:

一个完整的Encoder-block由两个子模块构成,分别为Multi-Head Attention + Add&Norm 组成的第一子层,Feed Forward + Add&Norm 组成的第二子层。

Multi-Head Attention + Add&Norm 第一子层

1.1 Multi-Head Attention

Multi-Head Attention的输入为 X (当然,排在后面的Encoder-block的Multi-Head Attention的输入为前一个Encoder-block第二子层Add&Norm的输出);

Multi-Head Attention的输出记为 X_mha(X_mha与X的size相同);

具体从 X 到 X_mha 见 “Transformer架构记录(三)”。

1.2 Add&Norm

Add&Norm的输入为 X 与 X_mha,处理流程如下:

X_add_1 = X + X_mha(此处理解为普通的矩阵加法, X_add_1 、 X 、 X_mha的size相同)
这是一种残差连接处理方法;

X_norm_1 = LayerNorm( X_add_1 ) ,X_norm_1 、 X_add_1 、 X 、 X_mha的size相同;
Layer Normalization 会将每一层神经元的输入都转成均值方差都一样的,这样可以加快收敛。

Feed Forward + Add&Norm 第二子层

2.1 Feed Forward

Feed Forward的输入为第一子层Add&Norm的输出,本例中为 X_norm_1 ,

Feed Forward对X_norm_1的处理为:X_ff = max(0, X_norm_1W_1 + b_1)W_2 + b_2 (X_ff 、 X_norm_1 、 X_add_1 、 X 、 X_mha的size相同)

2.2 Add&Norm

Add&Norm的输入为 X_norm_1 与 X_ff,处理流程如下:

X_add_2 = X_norm_1 + X_ff(X_add_2 、X_ff 、 X_norm_1 、 X_add_1 、 X 、 X_mha的size相同)

X_norm_2 = LayerNorm( X_add_2 ) (X_norm_2 、 X_add_2 、X_ff 、 X_norm_1 、 X_add_1 、 X 、 X_mha的size相同)

最终一个Encoder-block的输出为X_norm_2,它与该Encoder-block的输入 X 的size相同;即每个Encoder-block的输入与输出的大小一致。
第一个 Encoder block 的输入为句子单词的表示向量矩阵,后续 Encoder block 的输入是前一个 Encoder block 的输出,最后一个 Encoder block 输出的矩阵就作为 整个Encoder部分的输出,如下图所示:

下期预告:Multi-Head Attention的详细

标签:Transformer,架构,记录,Add,Encoder,add,norm,mha,block
来源: https://www.cnblogs.com/pythonfl/p/15364105.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有