谢邀。首先,原文中提到,在encoder与decoder上都使用了4层的LSTM. 可以首先计算LSTM的参数数量. 那么, 一个LSTM有多少个参数呢? 首先,文中提到LSTM在每层使用了1000个cell(对应于
与
的维度)与大小为1000的word embedding(最底层LSTM的输入大小等于word embedding的维度大小,其他层LSTM的输入大小等于上一层
的维度大小,在这里均为1000). 那么就可以计算LSTM的参数个数了:
(1) ![f_{t}=\sigma(W_{f}*[h_{t-1},x_{t}]+b_{f})\ \ \ \ \ \ W_{f}\in\mathbb{R}^{1000\times2000}, b_{f}\in\mathbb{R}^{1000}](https://i-blog.csdnimg.cn/blog_migrate/8500f4a34eb47b3b185b6751e6a124ec.png)
(2) ![i_{t}=\sigma(W_{i}*[h_{t-1},x_{t}]+b_{i})\ \ \ \ \ \ W_{i}\in\mathbb{R}^{1000\times2000}, b_{i}\in\mathbb{R}^{1000}](https://i-blog.csdnimg.cn/blog_migrate/2c7e43288b98edc82050e8e8aa42f3fe.png)
(3) ![\tilde{C}_{t}=tanh(W_{C}*[h_{t-1},x_{t}]+b_{C})\ \ \ \ \ \ W_{C}\in\mathbb{R}^{1000\times2000}, b_{C}\in\mathbb{R}^{1000}](https://i-blog.csdnimg.cn/blog_migrate/e4afdda8a20ddbb8c5c90c5ee7fda67b.png)
(4) 
(5) ![o_{t}=\sigma(W_{o}*[h_{t-1},x_{t}]+b_{o})\ \ \ \ \ \ W_{o}\in\mathbb{R}^{1000\times2000}, b_{o}\in\mathbb{R}^{1000}](https://i-blog.csdnimg.cn/blog_migrate/dd1f7214218b579e05e458500fedbd86.png)
(6) 
因此,可以看到,每个LSTM 有
个参数. 编码器具有4个LSTM,解码器具有4个LSTM,因此共有
个参数.
至于
中其他的
参数,则主要是来自于解码时从隐层状态到80000个词之间的映射(
, 其中4000等于解码器四层LSTM的
的连接).
至于使用8000个实数来表示句子,实际上对应于编码器每层LSTM最终时间步的的cell state与hidden state,因此共有
个实数.
作者:孙建东
链接:https://www.zhihu.com/question/263700757/answer/272342413
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
LSTM参数详解

本文深入解析了使用4层LSTM的编码器和解码器在神经网络中的参数计算,涉及LSTM单元的数量、参数总数以及从隐层状态到词汇映射的细节。
2913

被折叠的 条评论
为什么被折叠?



