RNN笔记

1.序列数据

序列数据是常见的数据类型,前后数据通常具有关联性,例如句子文本,音乐生成,DNA序列分析,视频行为识别等。

2.语言模型

概念:计算一个句子是句子的概率的模型,语言模型是NLP重要技术,NLP中常把文本看为离散时间序列,一段长度为T的文本的词依次为w1,w2,...,wn,其中wt是时间步t的输出或标签。

P(w1,w2,...,wn)=P(w1)P(w2|w1)P(w3|w1w2)...P(wn|w1w2...wn-1)

语言模型会计算该序列是句子的概率P(w1,w2,...,wn)。

统计语料库中的词频,得到以上概率。

缺点:时间步t的词需要考虑t-1步的词,其计算量随t呈指数增长。

3.RNN

RNN是针对序列数据而生的神经网络结构,核心在于循环使用网络参数以避免时间步增大带来的参数激增,同时引入隐藏状态用于记录历史信息处理数据的前后关联性。

隐藏状态(Hidden State)用于记录历史信息,有效处理数据的前后关联性。激活函数用tanh,将输出值限制在(-1,1)防止数值呈指数级变化。

 特性:隐藏状态捕捉截至当前时间步的序列的历史信息;模型参数的数量不随时间步的增加而增长

RNN反向传播中的问题:梯度会随时间t呈指数变化,易引发梯度消失或梯度爆炸(连乘)

4.门控循环单元(GRU)

为了缓解RNN梯度消失带来的问题,引入门概念来控制信息流动使模型更好的记住长远时期的信息,并缓解梯度消失。

激活函数:sigmoid(0,1)0表示遗忘,1表示保留

重置门:用于候选隐藏状态计算过程当中用来控制上一时间步隐藏状态中要遗忘哪些信息

R_{t}=\sigma (X_{t}W_{xr}+H_{t-1}W_{hr}+b_{r})

更新门:更新当前时间步隐藏状态的时候,去组合上一时间步隐藏状态以及当前时间步的候选隐藏状态(若更新门自第一个时间步到t-1时间过程中一直保持为1,信息可有效传递到当前时间步)

Z_{t}=\sigma (X_{t}W_{xz}+H_{t-1}W_{hz}+b_{z})

候选隐藏状态:输入与上一时间步隐藏状态共同计算得到候选隐藏状态,用于最终的隐藏状态计算。通过重置门,对上一时间步隐藏状态进行选择性遗忘,对历史信息更好的选择。

\widetilde{H}_{t}=tanh(X_{t}W_{xh}+(R_{t}\odot H_{t-1})W_{hh}+b_{h})

隐藏状态:由候选隐藏状态及上一时间步隐藏状态组合得来。

H_{t}=Z_{t}\odot H_{t-1}+(1-Z_{t})\odot \widetilde{H}_{t}

5.长短期记忆网络(LSTM)

引入3个门和记忆细胞,控制信息传递。

遗忘门:由输入和上一时间步隐藏状态计算得出,控制上一时间步记忆细胞有哪些信息要流入记忆细胞。

F_{t}=\sigma (X_{t}W_{xf}+H_{t-1}W_{hf}+b_{f})

输入门:由输入和上一时间步隐藏状态计算得出,控制候选记忆细胞有哪些信息要流入记忆细胞。

I_{t}=\sigma (X_{t}W_{xi}+H_{t-1}W_{hi}+b_{i})

输出门:由输入和上一时间步隐藏状态计算得出,控制记忆细胞有哪些信息要流入隐藏状态。

O_{t}=\sigma (X_{t}W_{xo}+H_{t-1}W_{ho}+b_{o})

候选记忆细胞:由输入和上一时间步隐藏状态计算得出,与输入门结合流入记忆细胞。

\widetilde{C}_{t}=tanh(X_{t}W_{xc}+H_{t-1}W_{hc}+b_{c})

记忆细胞:特殊的隐藏状态,记忆历史信息,由候选记忆细胞及上一时间步记忆细胞组合得来。

C_{t}=F_{t}\odot C_{t-1}+I_{t}\odot \widetilde{C}_{t}

隐藏状态:由输出门控制记忆细胞信息流入隐藏状态。

H_{t}=O_{t}\odot tanh(C_{t})

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值