ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ViT (Vision Transformer) ---- Text Generation(文本生成器)

2021-12-23 21:03:40  阅读:203  来源: 互联网

标签:字符 Transformer 训练 Generation 生成器 分割 label 滑动 个字符


  1. 使用RNN对文本预测

假如输入的文本是:the cat sat on the ma     那么下一个字符什么呢?

 

这里采用的是many to many模型,如下:

此时模型的输出字符概率为:

  1. 如何训练RNN模型?

如上一段英语文字,我们采用分割的方法,这里采用输入的长度为40,滑动距离为3,即从开始到第40个字符用作输入,

第41个字符用作标签数据label,如上:

输入为:Machine learning is a subset of artifici   label为:a

上面是第一个训练数据对即pairs

第二个如下:

因为滑动为3,因此在第一个训练对的基础上,向后滑动三个字符在进行分割,分割距为40个字符,后面一个为对应的预测label,因此训练标签对为:

输入为:hine learning is a subset of artificial             label为 :I

以此类推,直到把这个段落分割完,做成训练对

制作好的数据集,开始训练,输入数据,通过rnn的最后一个状态查找字符字典,然后和label进行比对,通过交叉熵进行计算loss,在通过优化机制和反向传播更新rnn的参数矩阵,然后迭代多次即可完成训练

  1. 制作数据集

下面就开始整个数据集的制作和训练

  • 分割数据

该步骤主要是把一段话或者一篇文章或者一本书进行字符分割,分割时有两个需要设置的参数,分割的长度,滑动长度,这里分割长度是60,滑动长度为3

  • 字典制作

这里是制作字符的字典,英文有26个字符还要加上各种标点和空格总共有57个字符向量,现在按照顺序进行编号,然后给编号进行向量化,这样从字符到向量就完成了

第一步假设分割的段落长度为60,字符字典为57

那么每个段落对应的矩阵就表示为:

假如这里有200278这样的pair,都这样进行矩阵化,这样数据集就制作完成了

下面就是搭建模型训练了:

  • 搭建模型并训练

标签:字符,Transformer,训练,Generation,生成器,分割,label,滑动,个字符
来源: https://blog.csdn.net/weixin_42398658/article/details/122111049

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有