机器学习04 Transformer

Transformer

Transformer 是什么?

本质上是一种 Sequence to sequence (Seq2seq) 的转换

输入是序列,输出也是序列(输出长度不确定)

适合用于语音识别(现在多使用 RNN-Transducer)、文本翻译、QA、NLP(转化为QA)等(输出序列长度不确定,没有明确关系)

image-20220414014551597

也可用于 Multi-label Classification 多标签分类

输入符合输出结果中的多种标签,是一对多的分类问题,比如输入是一篇文章,输出既有语言,又有体裁,又有正负面评价等等标签。

image-20220414020620729

Multi-class Classification 多类别分类(传统分类问题,与前者区分)

输入属于输出结果中的某一个类,是一对一的分类问题,比如输入是一段语音,输出分类为中文或英文(看似与多标签分类问题相似,实际两者很难用同一类模型解决)

Seq2seq 基本结构

image-20220414021014715

基本结构:输入序列经过 **编码器 Encoder **部分处理,交由 **解码器 Decoder **处理为输出序列

Encoder 编码器

image-20220414021341139

Encoder 的任务是将一个向量输入转化为另一个向量输出,可以使用 RNN、CNN 等各种模型。

Decoder 解码器

Autoregressive Decoder 自回归解码器

image-20220414023057892

以语音识别为例,Decoder 将 Encoder 的输出作为输入,在得到开始信号(BEGIN)之后,计算得到第一个输出结果,并将这一结果连同 Encoder 输出作为新的输入,计算得到下一个输出结果,如此反复直到输出结束

image-20220414023356616

事实上,编解码器结构是比较相似的。


机器学习04 Transformer
https://username.github.io/2022/08/06/机器学习04-Transformer/
作者
ZhuoRan-Takuzen
发布于
2022年8月6日
许可协议