【问题标题】:How are Sigmoid/Tanh functions forgetting and including information in LSTMsSigmoid/Tanh 函数如何在 LSTM 中遗忘和包含信息
【发布时间】:2017-06-26 00:29:52
【问题描述】:

我在这里阅读了another post,它讨论了 Tanh 函数背后的直觉,但它并不能帮助我理解 sigmoid 和激活函数是如何忘记和包含信息的。

我想我想了解数据在 LSTM 中通过these functions 时发生了什么。

【问题讨论】:

    标签: neural-network lstm recurrent-neural-network


    【解决方案1】:

    看一个 LSTM 单元的示意图更容易:

    所以我猜你已经阅读了另一个问题:sigmoid/tanh 函数有一个固定的输出范围。对于 sigmoid,这是 (0,1),而对于 tanh,它是 (-1,1)。两者都有一个上限和一个下限。

    正如您在上图中看到的,有 3 个门 - 但与您可能认为的相反,这些门实际上并没有以前馈方式连接到细胞中的任何其他神经元。

    门连接到连接而不是神经元。奇怪啊!让我解释。 x_t 正在投射与 c_t 的连接。它们与具有一定乘数(又名权重)的连接相连。所以从x_tc_t 的输入变为x_t * weight

    但这还不是全部。门将另一个乘数添加到该计算中。所以不是x_t * weight,而是x_t * weight * gate。其中对于输入门,相当于x_t * weight * i_t

    基本上,i_t 的激活值乘以 x_t 的值。因此,如果i_t 具有高值,则来自x_t 的值比c_t 具有更高的值。如果i_t 具有低值,那么它可能会有意禁用来自x_t 的输入(如果i_t=0)。

    【讨论】:

    • 这真的很有趣,这张图绝对是一种非常巧妙的方式来表示 LSTM。那么,我认为 LSTM 在向 Cell State 添加新信息之前会忘记信息的理解是不正确的?
    • 另外,假设初始激活值是任意的并且来自x_t 的值在整个训练过程中会有所不同,我是否正确?我想我想了解的是这些门是如何决定什么是重要的(高价值)或不重要的(低价值)?
    猜你喜欢
    • 2020-12-05
    • 2015-11-09
    • 2018-07-04
    • 2017-01-03
    • 2012-01-07
    • 2018-06-21
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    相关资源
    最近更新 更多