38 lines
1.7 KiB
Markdown
38 lines
1.7 KiB
Markdown
# 循环神经网络
|
||
|
||
## RNN结构
|
||
RNN结构如下:
|
||
|
||
![rnn](http://index.zeekling.cn/gogsPics/ml/neuralNetwork/rnn1.png)
|
||
|
||
- 左侧是RNN的原始结构, 右侧是RNN在时间上展开的结果
|
||
- RNN的结构,本质上和全连接网络相同
|
||
|
||
![rnn](http://index.zeekling.cn/gogsPics/ml/neuralNetwork/rnn2.gif)
|
||
|
||
|
||
## LSTM 网络
|
||
LSTM 同样是这样的结构,但是重复的模块拥有一个不同的结构。不同于单一神经网络层,这里是有四个,以一种非常特殊的方式进行交互。
|
||
|
||
![SLTM](http://index.zeekling.cn/gogsPics/ml/neuralNetwork/005BVyzmly1fotnatxsm7j30jg07bjsi.jpg)
|
||
|
||
|
||
### 遗忘门
|
||
在我们 LSTM 中的第一步是决定我们会从细胞状态中丢弃什么信息。这个决定通过一个称为忘记门层完成。该门会读取ht−1和xt,输出一个在
|
||
0到 1之间的数值给每个在细胞状态 Ct−1 中的数字。1 表示“完全保留”,0 表示“完全舍弃”。
|
||
|
||
![遗忘门](http://index.zeekling.cn/gogsPics/ml/neuralNetwork/005BVyzmly1fotoa9sgm5j30jg06074q.jpg)
|
||
|
||
### 输入门
|
||
我们把旧状态与ft相乘,丢弃掉我们确定需要丢弃的信息。接着加上it∗C~t。这就是新的候选值,根据我们决定更新每个状态的程度进行变化。
|
||
|
||
![输入门](http://index.zeekling.cn/gogsPics/ml/neuralNetwork/005BVyzmly1fotoftw50ij31eq0fomz4.jpg)
|
||
|
||
### 输出门
|
||
在语言模型的例子中,因为他就看到了一个 代词,可能需要输出与一个 动词 相关的信息。例如,可能输出是否代词是单数还是负数,这样如
|
||
果是动词的话,我们也知道动词需要进行的词形变化。
|
||
|
||
![输出门](http://index.zeekling.cn/gogsPics/ml/neuralNetwork/005BVyzmly1fotoky28zbj30jg06074w.jpg)
|
||
|
||
|