前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从零开始入门——Transformer模型简介

从零开始入门——Transformer模型简介

原创
作者头像
Paulette
发布2023-07-12 23:30:48
2.4K0
发布2023-07-12 23:30:48
举报
文章被收录于专栏:小白实例

Transformer是2017年由Google团队在论文《Attention Is All You Need》中提出的一种全新的神经网络架构,主要用于自然语言处理领域,后也广泛应用在计算机视觉等领域。本文将系统地介绍Transformer的背景、结构设计、训练方法以及应用,让大家从零开始了解这一划时代的新型网络结构。

背景简介

在Transformer出现之前,循环神经网络(RNN)一直是自然语言处理任务的标准模型。但是RNN存在梯度消失/爆炸问题,训练并行度低的缺点。随着GPU计算能力的提升,研究者开始尝试使用全连接网络取代RNN结构。全连接网络可以高效利用GPU并行计算,但是无法学习序列数据的上下文信息。

为了同时保持并行计算能力和序列建模能力,Google团队提出了全新的Transformer网络结构。Transformer利用Attention机制来建模词语之间的依赖关系,以此来学习语义信息。另外,Transformer的Encoder-Decoder结构也成为后续许多语言生成模型的标准框架。

整体结构

Transformer主要由Encoder和Decoder两部分组成。

  1. Encoder: 主要通过Self-Attention和前馈全连接网络(Feed Forward)来对输入序列进行特征提取和建模。
  2. Decoder: 除了包含Encoder的模块外,还在Attention模块后面添加Encoder-Decoder Attention层,以便Decoder可以关注Encoder的输出。 在Encoder和Decoder中,都使用了重复堆叠的模块,每个模块包含以下子模块:
  3. Multi-Head Self-Attention:多头自注意力机制,用于学习词语间关联
  4. Add & Norm:残差连接和Layer Norm
  5. Feed Forward:前馈全连接网络

Add & Norm: 残差连接和Layer Norm Multi-Head Attention Multi-Head Attention是Transformer的核心创新点之一,用来实现自注意力机制。 它将输入映射到Query,Key和Value三个向量空间,然后计算Query与Key的相似度,用来决定Value的组合权重,从而产生自注意力的输出。 另外,Multi-Head Attention同时学习输入的多个子空间表示,然后拼接输出,相当于做多个自注意力的集成,这就是“多头”的由来。 残差连接和Layer Norm 每经过一个Sub-layer模块,Transformer都会进行残差连接(Add)和Layer Norm操作。 残差连接可以避免深度网络的梯度消失问题,保证梯度可以顺畅传播到底层。Layer Norm对每个样本做归一化,可以使模型训练更稳定。 positional encoding 因为Transformer网络里面不存在RNN等顺序敏感的结构,所以需要通过positional encoding在embedding层inject位置信息。一般会使用正弦和余弦函数来生成固定的编码向量。

训练方法

Transformer的训练依赖大规模数据集,一般需要数万条以上的高质量样本。它使用标准的最大似然训练和Adam优化器来更新参数。 为了稳定训练,Transformer的论文中使用了label smooth、warm up等技巧。另外,会使用Dropout技术来正则化,防止过拟合。

应用场景

Transformer经过预训练后,可以用于机器翻译、文本生成、序列标注、文本摘要等自然语言处理任务。 一些常见的Transformer模型包括BERT、GPT、T5等,它们都使各自领域取得了 state-of-the-art 的效果。

总结

本文从背景、结构、训练等方面系统地介绍了Transformer模型。

Transformer通过引入Attention机制,成功地解决了Seq2Seq模型中encoder-decoder结构的缺陷。

它利用Attention学习任意距离词语之间的依赖关系,而不是RNN中的顺序迭代。

另外,Transformer的全连接网络结构,及其中的残差连接和Layer Norm技术,使其可以并行计算和快速训练。

借助GPU集群,Transformer可以pretrain超大规模的模型。

综上所述,Transformer架构是NLP领域里程碑式的创新,已经在机器翻译、对话系统、推荐系统等取得广泛应用。它标志着深度学习在NLP领域的转型升级。希望大家通过本文可以对Transformer有一个系统全面的了解。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景简介
  • 整体结构
  • 训练方法
  • 应用场景
  • 总结
相关产品与服务
GPU 云服务器
GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于生成式AI,自动驾驶,深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档