1、LSTM 中参数矩阵 W 为什么要跟输入 h 和 x 使用 point wise (或叫点乘、句乘、按列乘)呢?
2、单元状态细胞里的内部结构是怎么样的呢?是二维矩阵?还是其他的呢?如果是矩阵,那么行和列分别代表的是什么呢?
3、LSTM 的节点数指的是什么?指的是 LSTM 里的隐藏层的节点数吗?那它跟遗忘门、输入门、输出门的权重维度有什么关系呢?
答案:LSTM 的节点数指的是遗忘门、输入门、输出门的权重维度的第二维度(即列维度)。因为隐藏层的节点数指的就是隐藏层权重的第二维度,
虽然 LSTM 的结构更复杂,但它的内部仍然是由一层层的隐藏层所组成的,而由于 LSTM 的每一层隐藏层的门结构较为复杂,所以有 3 个权重,
分别是遗忘门的权重、输入门的权重、输出门的权重。
4、在多层的 LSTM 里,是否是所有层都共享同样的参数?还是分别在每一层里共享同样的参数,但是层与层之间共享的参数不相同?
答案:只在同一层内共享参数,不同层之间不共享参数
5、LSTM 为什么比 RNN 好?
答案:①LSTM 引入了细胞状态,能够比 RNN 在更长的时间步内记忆住细胞状态
②因为能够记住更长期的细胞状态,因此可以一定程度上缓解梯度消失的问题
6、为什么LSTM中在每个批次中要将上一个批次的细胞状态重置为 0 呢?
答案:为了避免在当前批次中加入上一个批次的细胞状态
7、为什么 LSTM 在一定程度上解决梯度消失问题?
答案:因为 RNN 的输出是连乘结果,很容易变成接近 0 的值或变成无穷大的,而 LSTM 的输出是累加结果,较不容易变成接近 0 的值。
更详细答案可参考:面试时如何简单准确地回答LSTM怎么在一定程度上解决梯度消失?
8、LSTM 模型中的参数量计算
答案:
定义:word size: 词数量,embedding size:词向量嵌入的大小
input size:输入的大小,hidden size:隐藏层神经元的节点数
故:
词向量的参数量:word embedding size = word size * embedding size
LSTM 的隐藏层的参数量:total hidden size = (hidden size * (hidden size + input size) + hidden size) * 4
LSTM 模型的总的参数量为:word embedding size + total hidden size
注:
①因为 input 只是一个词,故它其实是一维的向量
②因为隐藏层的输出 h 也是一个词,故它也是一维的向量
③参数矩阵 W 因为要跟 [h, x] 进行拼接,故 W 的第二个维度大小需要跟 [h, x] 拼接后的维度大小相同,
即(hidden size + input size)
④因为计算遗忘门结果、输入门结果、输出门结果、当前输入的单元状态结果所用到的参数矩阵 W,其维度大小相同,
故计算参数量时,仅需计算出其中一个,再乘以 4 即可
9、什么情况算梯度消失?梯度消失的情况有可能是怎么样的?
答案:梯度更新很小,例如 1e-6,此时的参数更新很缓慢。在多层网络中,可能浅层的参数更新很缓慢,但是深层的参数更新很快
网友评论