Transformer(未完成)

本文详细介绍了Transformer模型,这是一种序列到序列(seq2seq)模型,用于解决多种问题,如语音识别和翻译等。文章解释了seq2seq模型的工作原理,包括encoder和decoder两大部分,并深入探讨了Transformer中的block结构,包括self-attention机制、全连接层、残差链接和层规范化等关键组件。

Transformer

是一个sequence to sequence(seq2seq)的模型

即是一个输入是一个sequence, 输出是一个sequence. 并且输出的sequence的长度由模型来决定.

如语音辨识: 输入是声音信号, 输出是语音识别的文字. 或者翻译: 输入一种语言输出另一种语言.

虽然seq2seq可以解决各式各样的的问题, 但是不见得是最好用的. 针对问题客制化模型会更好, 但是seq2seq还是很厉害的.

很多问题虽然并不觉得是seq2seq的model的问题但是也可以用它硬解.

比如multi-label classification

一个文章可以归类到很多类. seq2seq输入文章, 输出model认为的类别.

Seq2seq 结构!

两大块:encoder, decoder. input一个sequence, 由encoder处理, 处理好的结果给decoder, 然后决定要输出什么样的结果.

seq2seq 的任务就是给一排向量输出另外一排向量.

encoder

encoder里面有很多block, 用来实现不同的功能, 每个block都需要多个layer来实现他们需要的功能.

每个block里面都是输入一个向量, 输出一个向量.

在transformer中 每个block的流程大致是:

先对输入的一排向量或者叫sequence做self-attention.
然后将得到的一组向量再输入给FC fully connected network中,输出一排向量, 这一排就是整个block的输出.

细致来说: transformer对self-attention的应用还有变化:

  1. 会将self-attention输出的向量, 与对应的输入向量相加得到真正的输出. 这样的架构叫做residual connection 残差链接. 得到residual之后在进行normalization(不是batch normalization, 而是layer normalization)

layer normalization: 输入一个向量, 对这个向量的所有dimension维度计算平均值mean m 和标准差 standard variance σ\sigmaσ.
然后normalize: xi′=xi−mσx'_i = \frac{x_i - m}{\sigma}xi=σxim

  1. 得到layer normalization之后的输出才是FC的输入. 而FC也同样经过residual的处理. 同样将FC的input和output加起来. 然后在layer normalization.
  2. 输出上一步的结果

这就是一个block的内容.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值