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

  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,都这样进行矩阵化,这样数据集就制作完成了

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

  • 搭建模型并训练

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值