美文网首页机器学习与深度学习
LSTM相关疑问以及解答(持续更新)

LSTM相关疑问以及解答(持续更新)

作者: LCG22 | 来源:发表于2019-11-08 11:46 被阅读0次

    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,此时的参数更新很缓慢。在多层网络中,可能浅层的参数更新很缓慢,但是深层的参数更新很快

    相关文章

      网友评论

        本文标题:LSTM相关疑问以及解答(持续更新)

        本文链接:https://www.haomeiwen.com/subject/ccjibctx.html