RNN

前言

循环神经网络,循环神经网络与卷积神经网络有很大的不同。就是有“记忆暂存”功能,可以把过去的输入内容产生的影响量化后与当前时间输入一起反应到网络中参与训练。

RNN理解

个人理解,RNN还是在模仿人类。在模仿人类的学习的过程。根据前言所述,当前输入对未来可能会有影响。那么当前的输出应该也跟之前的输入和当前的输入有关系。
举个生活中的例子:例子背景就是在学校念书读小学。在这里把神经元比做自己,输入Xt比做当前年纪学习的知识,那么X就分为X1,X2、X3、X4、X5、X6。(小学有6个年级)。输出Y比做是一个学年的期末考试。那么Y也有Y1,Y2、Y3、Y4、Y5、Y6。就假装我们上三年级,那么输入就是X3,要想知道Y3。意思就是说我们学完了三年级要去考试了,那么考试的结果不应该只与我们三年级学习的知识有关,还应该跟二年级乃至一年级有关系。接着这个故事背景来看一下具体的RNN算法。

RNN与BPTT

RNN一般是用来作NLP的,因为语言相关的问题往往跟前后输入有关,比如说输入法的自动补充。我们简单输入几个字,输入法会帮我们猜测下一个字可能是什么。

RNN网络结构

直接看图


image.png

这里的W、U、V是权重向量。而且整个RNN中共享这三个变量。X是输入、Y为输出,S为记忆神经元,下标都为时间戳。我们很容易看出输出Yt与前一个记忆神经元和当前输入有关系。


image.png

其中的 f()是一个激活函数,一般用tanh激活函数。这个函数可以把连续函数离散到0~1的值。
仔细观察,看到Yt只与记忆体有关。因为这个输出可能是每个词的概率,所以这里一般使用sigmax激活函数(sigmax激活函数有个特性,输出的种类概率的和是1)
image.png

误差传递

BPTT算法跟BP神经网络是一个思路,就是先正向传递然后得到预测值与真实值计算误差然后进行反向传播进行调整!(细节不做赘述)这里要明确的是,RNN神经网络是共享三个参数变量(W,V,U)。而且误差跟时间 有关系。


image.png

简化一下就是这样的。其中E就是误差。
用E2做样例分析(使用平方损失函数)


image.png

再重复一次
W 是记忆体的权重。
U 是输入的权重。
V 是输出的权重。
那么求 输入部分的权重偏导。


image.png

这好像并不难,每次的loss跟输入有关系。

但是我们再看看对W求偏导,简直是个灾难。


image.png

这里面竟然有个S1 ,因为S1=f(WS0+UX1)这个公式得来的,S1还有W,根据链式法则还要对S1求导。这样看求E2的loss还好,但是要对E1000求导呢。那就。。
需要求出1000前面所有的偏W,这简直会爆炸的。。
所以,RNN在理论上说得通,在实际中效果肯定不是很理想的。

LSTM算法

LSTM模型

说明文中论述都来自https://colah.github.io/posts/2015-08-Understanding-LSTMs/
与RNN 类似,LSTM的模型为

image.png

其中A为记忆体 ,这里称为Cell(细胞)。放大一点可以看到内部结构。


image.png

这与电子电路中的电路板有点像,有点像门电路那种东西。所以也有地方称这是LSTM 是忘记门,其实这个描述很形象,LSTM其实就是每次传播的时候就会忘记一些没有用的东西。
还是拿考试做比方,不是学的每个知识点都要考,我们脑容量有限,可以忘掉一些知识从而学习到更多的知识来应付考试(应试教育都这样)。构成忘记门最重要的单元就是:


image.png

其中黄色的就是sigmoid激活函数,sigmoid会产生一个概率值s, 通过概率值确定留下多少。比如s=0.8 那么输出留下输入的0.8 。如果s=0就说这部分输入不要。如果是s=1代表十分重要,要全部保留。(X 就是乘法,+ 是加法)

LSTM传输过程

Step 1

浅显的理解就是根据当前的输入,和上一个时序的输出选择性忘记一点东西。例子就是,根据初一的期末考试和初二学习的,忘记一点初一的内容。

image.png

其中参数:
ht-1 就是上一次的输出。
xt 就是当前的输入
[ht-1,xt] 就是矩阵的合并。
bf 是偏置项
Wf 是权重项
ft 输出的概率值

Step 2

浅显的理解就是当前输入的信息什么重要,我们决定留下什么。例子就是,根据初一的期末考试和初二学习的,选择性的忘记一点初二的内容。

image.png

参数:
不用解释了吧。
其中it是一个概率值,Ct是一个矩阵。

Step 3

浅显的理解就是,把上一个记忆体中剩下的和新信息剩下的相加形成一个新的记忆体 就是初一的重点+初二的重点 就可以去参加初二的考试了。

image.png

Step 4

浅显的理解就是要根据当前的状态在记忆体中选择要输出的内容。 要考试了,应该从脑海中拿出什么呢,还是得看考试问题问什么吧。

image.png

其中的ht就是输出,同样的作为下一层的输入。

总结

反向传播比较麻烦,还没有弄清楚,不过现在的tensorflow 已经帮忙弄好了,用不是问题了。这只是对LSTM浅显的理解。路还很长,加油。

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