Posted sweetheart7_7

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了相关的知识,希望对你有一定的参考价值。


文章目录

  • ​​Seq2seq​​
  • ​​Encoder​​
  • ​​Decoder​​
  • ​​Autoregressive​​
  • ​​Non-autoregressive​​
  • ​​Encoder-Decoder (Cross attention)​​
  • ​​Training​​

Seq2seq

Transformer 是一个 Sequence-to-sequenceModel(缩写 Seq2seq

input 是 一个 sequenceoutput 是一个 sequence,但是不知道多长,由机器自己决定 output 的长度。

应用:语音辨识,机器翻译,语音翻译

Transformer【第五章】_深度学习


一般的 Seq2seq model 可以分为两块:Encoder + Decoder

input 一个 sequence,由 Encoder 负责处理这个 sequence,再把处理好的结果丢给 Decoder,由 Decoder 决定它要输出什么样的 sequence

Transformer【第五章】_语音辨识_02

Encoder

作用:给一排向量输出另外一排向量(相同长度),TransformerEncoder 使用的就是 Self-attention

Transformer【第五章】_transformer_03

Encoder 中分为很多 block,每个 block 都是输入一排向量,输出一排向量,每个 block 实际并不是 Neuron Network 的一层,每个 block 作的事情,是好几个 layer 在作的事情:Self-attention、再丢到 FC 中,output 另外一排 vector(就是 block 的输出)

Transformer【第五章】_transformer_04

在原来的 Transformer 里面更复杂:

self-attention 的输出后加上原来的 inputvector,得到新的 ouput(残差网络),然后作 normalizationlayer normalization),然后作为 FC 的输入,FC 也有 Residual 的架构,即将 FC 的输出加上 FC 的输入再作 layer normalization,然后作为 Block 的输出。

Transformer【第五章】_语音辨识_05

Decoder

Autoregressive

Decoder 产生输出

Decoder 先将 Encoder 的输出先读进去。

Decoder 如何产生一段文字:

  1. 先给它一个特殊符号代表开始(BOS)一个Specialtoken
  2. Decoder吃到这个特殊的符号,每个Token都可以用One-HotVector表示(其中一维是 1,其它是 0)
  3. Decoder输出一个vector,大小和Vocabularysize一样(通过softmax来确定输出是哪个字),然后再将Encoder的输出、begin、 跟这个字的One-HotVector作为Decoder的下一个输入,然后再得到输出,依次类推…,

Transformer【第五章】_人工智能_06

Decoder 的结构:

Transformer【第五章】_人工智能_07

EncoderDecoder 的区别:

除了遮着的地方 和 Masked Self-attention,其它基本相似

Transformer【第五章】_深度学习_08

Masked Self-attention (不考虑右边的)因为 Decoder 的输入是从左边输出产生的,没办法看到右边。

Transformer【第五章】_人工智能_09


Transformer【第五章】_人工智能_10

只和自己及左边的

Transformer【第五章】_语音辨识_13

Decoder 决定输出的长度。

Transformer【第五章】_人工智能_14

需要加一个特殊的符号,表示结束。

Transformer【第五章】_语音辨识_15


Transformer【第五章】_人工智能_16

Non-autoregressive

一次产生整个句子

  1. Classifier来决定输入的Begin的数量
  2. 确定最长长度的begin,然后将输出在End处截断。

Transformer【第五章】_机器翻译_17

Encoder-Decoder (Cross attention)

Cross attention(连接 EncoderDecoder 的桥梁)

有两个输入来自 Encoder,一个来自 Decoder

Transformer【第五章】_transformer_18

Encoder 的输出是 begin 经过 Self-attention(Mask),产生一个向量,然后将这个向量乘一个矩阵得到向量 Query 产生 句子升降调

自己喜欢的一些句子摘录-2017-12-02

句子级ws4j中的语义匹配

ws4j 中句子级别的语义匹配

自己喜欢的一些句子摘录-2018-04-24

带always的句子是现在进行时态吗