Neural Network with Memory

目录

Vanilla Recurrent Neural Network (RNN)

RNN

Cost

Application

Variants of RNN

Long Short-term Memory (LSTM)


链接:http://speech.ee.ntu.edu.tw/~tlkagk/courses/MLDS_2015_2/Lecture/RNN%20(v4).pdf

Vanilla Recurrent Neural Network (RNN)

RNN

在了解RNN之前,也许会有人想我都学会了之前的DNN为啥还需要再学习这玩意儿呢?我们就拿语音识别来说吧,我们把每一帧的当作DNN的输入,输出为每一帧对应的因素,但是此时帧与帧之间是相互独立,对于语音帧来说,每一帧之间是相互关联的,因此会漏掉很多信息。

考虑到上下文信息,我们使用RNN,此时每个RNN中的所有网络都是一样的;当决定y2的值时,不止要考虑x2的值,还考虑a1的值,而a1又是由x1决定的。即yi是由x1,x2,…,xi共同决定,这是DNN无法做到的。

但是RNN却难以做到的是:如果让x2不要影响y3的值,x1影响y3的值,RNN却很难做到。

 

Cost

RNN的cost function和DNN的是大同小异。但是RNN会出现一种情况,随着epoch的增加,cost逐渐下降,但是到了某一个epoch会突然增加。这种情况与bug无关,至今尚未得到解决。

 

Application

应用:句子中名词的抓取,比如让机器知道Harry是一个人,Howgwarts是一个机构,Privet是一个地方。信息提取,比如让机器能够自动地学出Boston是出发地,November 2nd是出时间,Taipei是目的地,2 p.m是到达时间。

 

Variants of RNN

Input和Output是一样的数目,在Jordan Network当中,output输出为1w维的时候,网络很容易被训坏,不过Jordan Network的效果要比Elman Network要好一些。整个网络都是由左向右训的。

Input和Output是一样的数目,整个网络都是由左向右训的。

整个网络都是由左向右和由右向左训的两部分组成。

Input的数目是多个,Output的数目是一个,我们好需要把当前的内容转化为vector。

Input的数目是多个,Output的数目是多个且比较短。对于有叠字的情况,语音识别效果会特别差,所以可以使用Connectionist Temporal Classification (CTC)。

一般用于机器翻译的场合,Input和Output的数目都是很多的,而且长度也完全不一样。一般输入可以通过“==”去判断是否终止。

Input的数目是一个,为一张图片,而Output的数目是多个,为很多的文字。

Long Short-term Memory (LSTM)

 

 

下面是一些关于循环神经网络的笔记:

 

猜你喜欢

转载自blog.csdn.net/qq_18124075/article/details/81190330