ViT (Vision Transformer) ---- RNN

2021/12/22 23:52:37

本文主要是介绍ViT (Vision Transformer) ---- RNN,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.one to one 模型

如何对时序数据建模?

人类大脑在阅读时,并不是把一段文字看完在思考,而是边思考变阅读,随着看完后就积累了整段文字的大意,因此处理时序数据就不能使用one to one 模型

什么是one to one模型?

  一个输入对应一个输出,例如输入一张图片,输出类别概率值,one to one 适应图片,但是不适应文件,因为文本的输入不固定,输出也不固定,一句话可长可短,翻译时输出也是可长可短,

因此one to one模型不适合时序数据,适合时序数据的模型应该是 many to many 或者 many to one,RNN就是这样的模型

rnn的ht和人的大脑很类似,人的大脑随着阅读会积累信息,那么ht也会随着输入积累序列的信息

h_0 只积累了输入x_0的信息,h_1积累了输入x_0和x_1的信息,,,,h_t积累了输入的x_0、x_1、x_2、、、x_t的信息,注意这里的rnn只有一个参数A,无论链多长,只有一个参数A,A的参数开始是随机初始化,利用训练数据学习A的参数

2.Simple RNN

  1. 简单的simple RNN可以发现输入和输出以及参数之间的关系,首先输入是有两部分组成,输入的x_t和上一个输出的状态h_t-1的concat链接,A矩阵就是RNN的需要学习的矩阵,tanh是激活函数,h_t是当前的输出

2.这里在获取状态前需要经过tanh激活函数,没有激活函数是否可以?答案是不可以

因为如果没有激活函数,多层后,输出的状态值要么爆炸,要么为0,使用激活的目的就是对数据进行正则化,使其规范到0到-1



这篇关于ViT (Vision Transformer) ---- RNN的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程