循环神经网络

RNN

RNN便于处理具有时序关系的任务

引入“记忆”概念

基本结构

输出不仅依赖于输入,还依赖于记忆

将同一个结构循环利用

image-20200821143618199

两种输入,两种输出,一种函数

image-20200821143634730

三块参数:

U:从输入到隐藏状态

W:从前一隐藏状态到下一隐藏状态

V:从隐藏状态到输出

xt:时间t处的输入

ht:时间t处的记忆,ht=f(ht-1,xt),f可以是tanh等

ht=tanh(Wht-1+Uxt)

yt:时间t时刻的输出,yt=sotfmax(Vht)

image-20200821143653292

f被不断重复利用

模型所需要学习的参数是固定的

无论输入的长度是多少,只需要一个函数f

深度RNN

image-20200821143725183

双向RNN

image-20200821143751415

BPTT算法

image-20200821143802348

image-20200821143830636

image-20200821143835422

image-20200821143843336

LSTM(长短期记忆模型)

image-20200821143853857

遗忘门,输入门,输出门

遗忘门:决定丢弃信息

image-20200821143913132

sigmoid描述每个部分有多少量可以通过

输入门:确定需要更新的信息

image-20200821143929376

首先经过Sigmoid层决定什么信息需要更新,然后通过tanh层输出备选的需要更新的内容,然后加入新的状态中

输出门:输出信息

image-20200821144001976

首先通过sigmoid来决定细胞状态的哪个部分将输出出去。然后将细胞状态通过tanh进行处理并将它和sigmoid门的输出相乘,最终仅仅会输出我们确定输出的那部分

RNN与LSTM不同

image-20200821144022862

处理方式不同

RNN的记忆在每个时间点都会被新的输入覆盖,但LSTM中记忆是与新的输入相加

LSTM:如果前边的输入对Ct产生了影响,那这个影响会一直存在,除非遗忘门的权重为0

LSTM中learning rate可以被尽量设置小

LSTM与GRU(门控循环单元)

image-20200821144040050

差异:

GRU只有两个门,分别为重置门和更新门

混合了细胞状态和隐藏状态

重置门:控制忽略前一时刻的状态信息的程度,重置门越小说明忽略的越多

更新门:控制前一时刻的状态信息被带入到当前状态中的程度,更新门越大表示歉意时刻的状态信息代入得越多

相似:

从t-1到t时刻的记忆的更新都引入加法

可以防止梯度消失

posted @ 2020-08-22 10:19  Arsene_W  阅读(147)  评论(0编辑  收藏  举报