AI面试题第三弹(知识面之RNN)

2020-08-28  本文已影响0人  加油11dd23

简单介绍一下RNN、LSTM 、GRU

RNN

共用一个f,实际上是一个⚪。

LSTM

由初始的1个传输状态h转变为2个传输状态c,h。

c变化的较慢,h变化的较快。

1、·⚪ 是Hadamard Product,也就是操作矩阵中对应的元素相乘,因此要求两个相乘矩阵是同型的。 

2、+⚪ 代表进行矩阵加法。

LSTM内部主要有三个阶段:

1、具备长时记忆能力的c状态的记忆阶段 (ct计算)【忘记阶段】

之前的c状态与现在的输入x和h共同改变c

2、具备短时记忆能力的h状态的记忆阶段(ht计算)【选择记忆阶段】

改变后的c与现在的输入x和h共同改变h

3、输出此状态的值的阶段【输出阶段】

用此状态的短时状态h结合参数矩阵W进行输出

GRU

宏观上GRU的结构

微观上GRU的内部结构

r: reset gate

z: update gate

h t-1 ' = r ·⚪ h t-1

这里h' 记忆了xt的数据

附录:常问问题

1、LSTM的参数量问题

LSTM每层每个w矩阵的维度为 hidden_size * [ht-1 , xt],一层有4个这样的w矩阵,所以一层的参数量为 4 * ( hidden_size * [ht-1 , xt] ) 如果是双向LSTM,还要乘2。

GRU一层有3个这样的w矩阵,所以一层的参数量为3 * ( hidden_size * [ht-1 , xt] )

参考:

https://zhuanlan.zhihu.com/p/32085405

https://colah.github.io/posts/2015-08-Understanding-LSTMs/

上一篇下一篇

猜你喜欢

热点阅读