赞
踩
循环神经网络(基础篇)Basic_RNN用于处理具有时间序列的数据的问题,采用权重共享的概念来减少需要训练的权重的数量
举例:用前三天的温度、气压、是否下雨,去预测第四天是否下雨,RNN擅长处理带时间序列关系的数据。
实际上我们要考虑x1(第一天的天气状况)、x2(第二天的天气状况)、x3(第三天的天气状况)之间的时间序列的关系,因为第二天的天气状况跟第一天的天气有很大程度的关系,部分以来前一天的天气。
自然语言,金融股市等等,都是根据时间序列的数据,因此我们要采用RNN来处理。
一、RNN Cell
RNN的本质是一个线性层linear,只不过我们是采用共享权重的方式不断地使用一个线性层,将时序数据x1、x2、x3、x4送进 RNN Cell,只不过我们再将x2送进线性层的同时顺手把隐藏层的输出hi一起传回到线性层linear。以此类推,循环计算x3、x4
对于x1也是如此,需要一个h0,如果我们有先验知识,我们就把先验知识作为h0送给RNN,例如我们想通过图像来生成文本,我们就用CNN+fc(全连接测层)生成h0来作为输入。
如果我们没有先验知识我们就把h0设置成与h1、h2。。。都一样的维度。
这些图里的RNN Cell是同一个线性层,拿时序中的不同数据循环的用一个线性层进行计算,因此权重是共享权重。
采用一个线性层不断地循环计算,采用for函数的形式。
下图是RNN Cell具体的计算过程,xt的维度为
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。