学了又忘又学的 RNN(一)

大家好,我是小轩

这两天在忙着完成手头上的任务,没来得及更新

任务也涉及到NLP领域方面的知识,关于这个领域我就不做过多的介绍了,我也是个小白,现在连脚趾头都还没有迈过门槛

我要完成的就是用模型训练数据,之前的数据格式和前几天的数据格式不太一样,数据里边的实体类型和个数也不一样,所以我就得先对数据格式进行处理

另外,输入到模型的那部分代码也不一样,由于我论文的算法和代码实现不是很熟,所以就看了好几天代码...

由于之前的知识基本已经忘了,所以我准备再看一遍,也做做笔记,仅供大家参考和学习 

废话不多说了,开始今天的正题

  • 什么是循环神经网络RNN?

  • RNN是用来干什么的呢?

  • 和普通的神经网络有什么不同呢?

先看这段文字

那边窗子里亮起来的是什么光?那就是东方,朱丽叶就是太阳!起来吧,美丽的太阳!那是我的意中人

如果现在让你先背下来,然后让你倒着背一遍,可能就很难了

这就说明对于预测顺序排列很重要

按照文字顺序读,我们知道这段文字是什么意思,但是如果顺序打乱,就很难理解是什么意思了

a3334250d1ce66d63f88c1f8f5a3be46.png

看这张图片

对输入的四个数据进行预测最终的结果,这四个数据都是使用同一个神经网络NN

如果上面四个数据之间有关系,上面使用的神经网络并没有把这四个输入数据关联起来,只是对每个数据单独进行预测

9f3dd9f5b7d2c1736122b96aa0a57f10.png

所以普通的神经网络不能满足其需求

如何可以进行关联呢?

就是记住之前发生的事情

如何具有记住发生之前事情的能力呢?

在对第一个输入数据进行预测时,可以把分析的结果存入记忆,当分析下一个数据时候,会产生新的记忆,可以把上一个记忆调用过来对下一个数据进行预测,以此类推

看下面的图,画的比较粗糙,下面把神经网路换成RNN了, 每次RNN运算完之后,都会产生一个对于当前状态的描述state,简写成S(t),表示在t时刻的结果

70229bc7ab4e01a251915b24a085cd5e.png

然后RNN在t+1时刻,会根据X(t+1)产生S(t+1),此时的Y(t+1)是由S(t)和S(t+1)共同创造的

ab2d3c19be5ad16ffbb2cab41bfe96b6.png

上面两张图可以用下面这张表示,就是在t时刻计算的S(t)然后再到下一层和S(t+1)同时计算t+1时刻的结果 

b84137603bd137f512a35af426a7d2aa.png

其实RNN的结构形式有很多种

f35413bf255ee536761c6737509be55a.png

比如一句话,判断这句话的感情色彩是积极的还是消极的,可以使用下面这个,只需要在最后输出结果就可以了

0c148ebf7091d580f4efb6f6fd626aab.png

如果是对一张图片进行分析,可以使用一个输入X

e49d445706045e3261ceb0944999f09d.png

现在RNN有很多应用,所以有很多形式

比如让RNN描述照片、写论文等等

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值