Long Short Term Memory networks

前言

深度学习2 2023.5.9

一、LSTM是什么?

一种特殊的RNN网络,该网络设计出来是为了解决长依赖问题。

二、原理解释

1.介绍

LSTM输入为前状态h_{t-1}和当前输入x_t。这些LSTM的单元会决定哪些之前的信息和状态需要保留/记住,而哪些要被抹去。实际的应用中发现,这种方式可以有效地保存很长时间之前的关联信息。

举个例子:

当你浏览评论时,你的大脑下意识地只会记住重要的关键词,比如具有感情色彩的词汇,而不太会关心代词等。如果第二天回忆起来,那你可能不会一字不漏地记住它,而是会说出但大脑里记得的主要观点,比如“这个东西很好”,那其他一些无关紧要的内容自然会从记忆中逐渐消失。

LSTM结构框图:

2.公式

2.1 忘记门

f_t= \sigma (W_f \cdot [h_{t-1}, x_t] + b_f)

LSTM网络能通过一种被称为门的结构对细胞状态进行删除或者添加信息。门能够有选择性的决定让哪些信息通过。其实门的结构很简单,就是一个sigmoid层和一个点乘操作的组合。主要由于激活函数,0表示完全忘记,1表示完全记住。

2.2 输入门

下一步是确定什么样的新信息被存放在细胞状态中。这里包含两个部分:
第一,sigmoid层称“输入门层”决定什么值我们将要更新;
第二,一个tanh层创建一个新的候选值向量,会被加入到状态中。
下一步,我们会讲这两个信息来产生对状态的更新。

这一步决定了给细胞状态添加哪些新的信息。

i_t = \sigma(W_i \cdot [h_{t-1}, x_t] + b_i)

\widetilde{C_t} = tanh(W_c \cdot [h_{t-1}, x_t] + b_j)

2.3更新细胞状态

 C_t = f_t \cdot C_{t-1} + i_t \cdot \widetilde{C_t}

更新状态,首先通过忘记门f_t来决定哪些信息忘记哪些信息保留。然后通过输入门选择添加候选细胞信息\widetilde{C_t}的一部分得到新的细胞信息。

2.4 输出门

最终,我们需要确定输出什么值。这个输出将会基于我们的细胞状态,但是也是一个过滤后的版本。

首先,我们运行一个sigmoid层来确定细胞状态的哪个部分将输出出去。接着,我们把细胞状态通过tanh进行处理(得到一个在-1到1之间的值)并将它和sigmoid门的输出相乘,最终我们仅仅会输出我们确定输出的那部分。 

o_t = \sigma(W_o \cdot [h_{t-1}, x_t] + b_o)

h_t = o_t \cdot tanh(C_t)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值