其他分享
首页 > 其他分享> > ViT (Vision Transformer) ---- Seq2Seq

ViT (Vision Transformer) ---- Seq2Seq

作者:互联网

对于seq2seq模型,网上很多文章直接就把抽象模型拿出来,这样对初学者很不友好,这里采用例子进行阐述,最后在通过抽象模型理解

英语翻译成德语

这个网站有很多的数据集

  1. Tokenization 和创建字典

Tokenization

因为是翻译任务,因此需要构建两个input_texts和两个target_texts,即如下:

对于两种语言使用两种不同的tokenizers,构建两个不同的字典,为什么构建两个字典呢?

Tokenization 可以是字符级的也可以是单词级

字符级:

这里采用字符级进行学习,理论上,翻译任务最好采用单词级

例如:

这里解释为什么翻译需要构建两个基于字符级的字典

因为在字符级,每种语言有不同的字母组成或者字符组成,单个字典很难做到,因此两种语言采用两种不同的字典:

创建字典

训练模型

预测第一个字符后,继续预测下一个字符

同理

这个过程,一直下去,一直等到输出停止字符为止

推理很简单,在上面的基础上,去掉便签和交叉熵,prediction就是输出即可

Seq2Seq Model

这里简单的说一下,为什么在编码器中只需要使用最后一个状态的输出,为什么不使用中间的状态,因为最后一个状态包含了输入的所有信息,中间的状态,包含的信息不全

接着:

总结:

1.LSTM虽然比RNN效果好,但是还是无法解决长序列的依赖问题,如何解决呢?

双向的LSTM好处在于,长序列的中,正向学习的到的偏向后部分,忘记前部分,而反向学到的是前项部分,忘记的是后续部分,把他们合并可以同时获取到前后重要信息

使用word-level替换字符级的token ,一方面英语单词平均是4.5个字符组成,那么需要长度比字符级段4.5倍,但是训练需要更大的数据集进行词向量的预训练

多任务的学习更有利于编码器的训练,变相的增加了数据集,这样也可以提升性能

标签:字符,Transformer,模型,----,构建,Tokenization,LSTM,Vision,字典
来源: https://blog.csdn.net/weixin_42398658/article/details/122111151