Simple Recurrent Neural Networks(RNN)

前言

语言本身就具有时间的属性,不管是说话还是写文章,都是一个字一个字的吐。当我们在说一句话的时候,这些单词在我们脑子里的处理过程几乎是一次性或者一瞬间的。如果用machine learning的方法来处理文本,在多数情况下是很难捕捉到文本的时间信息,FFN也更擅长处理定长的数据,而对于变长的文本也是无可奈何。

于是,产生了滑窗的做法,用滑窗在不定长的文本上面滑动,用滑窗内固定长度的输入,通过全连接神经网络预测下一个词。原理如图:

如图所示,我们用“the ground there”三个单词来预测“lived”。

具体步骤:
(1)分别获得三个单词的embedding,d是词向量维度
(2) 将三个向量concat在一起,输入维度是1*3d
(3)接入一个两层的全连接神经网络,第一层是h*3d,第二层是h*V,h是隐藏层维度,V是词表维度即输出层维度。
(4)从输出层中选择概率最大的作为预测单词
缺点:
(1)用滑窗内的单词预测输出,上下文信息无法学到
(2)滑窗会将短语或者固定搭配割裂开来,造成语义分割
那么RNN的诞生比较好的解决了上述问题,RNN(循环神经网络)其实是一类神经网络模型,那么我们下面讲的RNN是最简单的网络结构。

RNN网络结构


就像之前滑窗的网络结构一样,(抛开虚线不看)RNN是由两层的神经网络构成,输入层、隐藏层和输出层都惊人的相似,但不同的是滑窗结构的输入是多个单词,而这里是一个单词。RNN之所以能捕捉时间信息并且能处理变长结构,关键就在于蓝色的虚线,这也是和滑窗结构及其他网络结构的重大区别。
首先这个蓝色虚线到底是什么,有什么用?蓝色虚线是建立上一个单词与当前单词的桥梁,将上一个单词的信息传递给下一个单词,具体是用一个U矩阵实现的。正因为U矩阵的存在,使得文本的序列信息能够联系起来,并且在时间上是一个单词一个单词往下传递,这使得RNN在神经网络结构中脱颖而出。

RNN如何推理

所谓推理,就是前向传播的过程。过程图解如下:

推理的步骤如下:
(1)接受一个单词的词向量作为输入xt
(2)关键在于隐层的计算:接收当前单词xt的输入与W相乘,同时接收上一个单词的隐层与U相乘,将二者加和并经过激活函数,得到ht
(3)用ht和V相乘,并经过激活函数,得到输出层。

这么看来,其实和全连接层推理的关键不同就是隐层的计算方式。我们用公式表达就是(当然你可以加上偏置项,这不是重点):

上述是一个时间步的推理过程,那么在整个序列上就是遍历一个序列长度,上图中的xt就是下图中x的其中一个元素:

RNN如何训练

所谓训练,就是反向传播的过程。过程图解如下:


在讲解反向传播之前,我们先来做一些符号规定,便于公式理解:
\delta:误差项;
L:损失函数;
g:激活函数;
a^{[i]}:第i层激活后的值;
z^{[i]}:第i层激活前的值;
我们来看一个时间步的输出yt,yt的值受两个方向的影响:xt和上一个时间步的隐层ht-1,那么根据影响的方向以及链式法则,我们分别计算一个时间步的误差项分别对V\W\U的梯度。
对V求导:

对W和U求导:
前向过程中,RNN中隐层的计算很特殊,那么梯度回传的时候自然也特殊。前向的时候隐层会接收当前时间步的输入和上一个隐层状态,那么后向的时候就反过来,误差是来自当前时间步的输出和下一个隐层传递过来的误差。

那么很容易得到:

到这里,最简单的RNN便讲完了。接下来讲,RNN如何运用?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,012评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,589评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,819评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,652评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,954评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,381评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,687评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,404评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,082评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,355评论 2 241
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,880评论 1 255
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,249评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,864评论 3 232
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,007评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,760评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,394评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,281评论 2 259

推荐阅读更多精彩内容