当前位置:   article > 正文

保姆级教程:硬核图解Transformer

transfomer 教程

一、前言

今天的主角是 Transformer

Transformer 可以做很多有趣而又有意义的事情。

比如 OpenAIDALL·E,可以魔法一般地按照自然语言文字描述直接生成对应图片!

输入文本:鳄梨形状的扶手椅。

AI 生成的图像:

1e232d1754d29f2f3fffcaecdb771559.png

两者都是多模态的应用,这也是各大巨头的跟进方向,可谓大势所趋

Transformer 最初主要应用于一些自然语言处理场景,比如翻译、文本分类、写小说、写歌等。

随着技术的发展,Transformer 开始征战视觉领域,分类、检测等任务均不在话下,逐渐走上了多模态的道路。

a767a31de104407ec6f3d564297c3a1a.png

Transformer 近两年非常火爆,内容也很多,要想讲清楚,还涉及一些基于该结构的预训练模型,例如著名的 BERTGPT,以及刚出的 DALL·E 等。

它们都是基于 Transformer 的上层应用,因为 Transformer 很难训练,巨头们就肩负起了造福大众的使命,开源了各种好用的预训练模型

我们都是站在巨人肩膀上学习,用开源的预训练模型在一些特定的应用场景进行迁移学习

篇幅有限,本文先讲解 Transformer 的基础原理,希望每个人都可以看懂。

后面我会继续写 BERTGPT 等内容,更新可能慢一些,但是跟着学,绝对都能有所收获。

还是那句话:如果你喜欢这个 AI 算法系列教程,一定要让我知道,转发在看支持,更文更有动力!

二、Transformer

TransformerGoogle2017 年提出的用于机器翻译的模型。

8d1a2e6b64e708ca99f0f865b06753ff.png

Transformer 的内部,在本质上是一个 Encoder-Decoder 的结构,即 编码器-解码器

e6834bc4784bd94b2fd5d264c540120c.png

Transformer 中抛弃了传统的 CNNRNN,整个网络结构完全由 Attention 机制组成,并且采用了 6Encoder-Decoder 结构。

946a5b99310598a4abe6f5a47f78c36c.png

显然,Transformer 主要分为两大部分,分别是编码器解码器

整个 Transformer 是由 6 个这样的结构组成,为了方便理解,我们只看其中一个Encoder-Decoder 结构。

以一个简单的例子进行说明:

46e2a20aa562f21c2861704c120d07d8.png

Why do we work?,我们为什么工作?

左侧红框是编码器,右侧红框是解码器

编码器负责把自然语言序列映射成为隐藏层(上图第2步),即含有自然语言序列的数学表达。

解码器把隐藏层再映射为自然语言序列,从而使我们可以解决各种问题,如情感分析、机器翻译、摘要生成、语义关系抽取等。

简单说下,上图每一步都做了什么:

  • 输入自然语言序列到编码器: Why do we work?(为什么要工作);

  • 编码器输出的隐藏层,再输入到解码器;

  • 输入 <声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】

推荐阅读
相关标签