鱼C论坛

 找回密码
 立即注册

22.LSTM

已有 154 次阅读2019-7-24 19:57 |个人分类:自然语言

在RNN计算中,介绍到对于长期依赖的问题,没法进行解决,可能产生梯度消失和梯度爆炸的问题;LSTM
特别适合解决这类需要长时间依赖的问题
LSTM的记忆细胞是改造过的
该记录的信息会一直传递,不该记录的信息会被截断掉。

LSTM关键:“细胞状态”
    细胞状态类似于传送带。直接在整个链上运行,只有一些少量的线性交互,信息在上面流传保持不变很容易。

LSTM怎么控制“细胞状态”
    LSTM可以通过gates("门")结构来去除或者增加“细胞状态”的信息
    包含一个sigmoid神经网络层次和一个pointwist乘法操作
    sigmoid层输出一个0到1之间的概率值,描述每个部分有多少量可以通过,0表示“不允许任务变量通过”
    LSTM中主要有三个“门”结构来控制“细胞状态”

    第一个“门”==>"忘记门":
        决定从“细胞状态”中丢弃什么信息;比如在语言模型中,细胞状态可能包括了性别信息,当我们看到
        新的代名词的时候,可以考虑忘记旧的数据。

    第二个“门” ==>“信息增加门”:
        决定了放什么新信息,到“细胞状态”中;
        sigmoid层决定什么值需要更新
        Tanh层创建一个新的候选向量
        主要是为了状态更新做准备

    经过第一个和第二个“门”后,可以确定传递信息的删除和增加,即可以进行“细胞状态”的更新
        更新Ct-1为Ct
        将旧状态与ft相乘,丢失确定不要的信息
        加上新的候选值it*ct得到最终更新后的“细胞状态”

    第三个“门”==>基于“细胞状态”得到输出;
        首先运行一个sigmoid层来确定细胞状态的那个部分将输出
        使用tanh处理细胞状态得到一个-1到1之间的值,再将他和sigmoid门的输出相乘,输出程序,确定
        输出部分。


路过

鸡蛋

鲜花

握手

雷人

全部作者的其他最新日志

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-25 18:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部