RNN
内容来源Datawhale学习资料
【终于对这个像电路图一样的RNN的各个参数清楚了一点hhh】
循环神经网络
适用于序列数据
- 文本:字母和词汇的序列
- 语音:音节的序列
- 视频:图像帧的序列
- 时态数据:气象观测数据,股票交易数据、房价数据等
循环神经网络是一种人工神经网络,它的节点见的链接形成一个遵循时间序列的有向图。它的核心思想:样本见存在顺序关系,每个样本和它之前的样本存在关联。通过神经网络在时序上展开,我们能够找到样本之间的序列相关性。
长短时记忆网络
在RNN中存在梯度消失问题。梯度消失的两个原因:BPTT算法和激活函数Tanh。
两种解决方案,分别是ReLU和门控RNN(LSTM)。
LSTM:长短时记忆网络,一个LSTM单元由输入门、输出门和遗忘门,三个门控制信息进出单元。
LSTM依靠贯穿隐藏层的细胞状态实现隐藏单元之间的信息传递,其中只有少量的线性操作
LSTM引入了“门”机制对细胞状态信息进行添加或删除,由此实现长程记忆
“门”机制由一个Sigmoid激活函数层和一个向量点乘操作组成,Sigmoid层的输出控制了信息传递的比例
遗忘门:LSTM通过遗忘门实现对细胞状态信息遗忘程度的控制,输出当前状态的遗忘权重【ft】
输入门: 输出当前【输入信息的接受权重】
输出门:输出当前输出信息的【认可权重】
状态更新:“门”机制对细胞状态信息进行添加或删除
所以大概这个单元的输出状态C = 遗忘权重×上一个状态 + 当前输入信息的接受权重 × Ct~
而h(t)的输出 = 认可权重 * tanh(Ct)
【这些权重大佬们咋想的呢hhhh】
其他经典的循环神经网络
-
Gated Recurrent Unit(GRU)
只包含重置门和更新门,参数比LSTM更少 -
Peephole LSTM
让门层也接受细胞状态的输入,同时考虑隐层信息的输入。
-
Bi-directionalRNN 双向RNN
双向RNN假设当前t的输出不仅仅和之前的序列有关,并且还与之后的序列有关。 -
Continuous time RNN (CTRNN)
利用常微分方程系统对输入脉冲序列神经元的影响进行建模。CTRNN被应用到金华机器人,用于解决视觉、写作和最小认知行为等问题。
循环神经网络的主要应用
- 语言模型
根据之前和当前词预测下一个单词或者字母 - 问答系统
- 自动作曲
- 机器翻译
- 自动写作
- 图像描述
根据图像形成语言描述
内容来源Datawhale学习资料