Sigmoid / Tanh如何在LSTM中忘记并包含信息

时间:2017-06-26 00:29:52

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

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

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

1 个答案:

答案 0 :(得分:0)

查看LSTM单元格的示意图更容易: enter image description here

所以我猜你已经读过另一个问题: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(如果$('#%s' , obj.active[i].userNameData).remove(); )中禁用输入。