初学者LSTM结构详细解释

LSTM的核心思想就是细胞状态的改变

分为四步:

第一步我们决定从细胞中丢弃什么信息,即新的主语来了,那么之前的主语就要被丢弃

这里的f_t是一个[0,1]之间的数值,0表示全部忘记,1代表全部保留

第二步既然已经知道什么值需要忘记了,那么就要知道什么样的信息被存入到细胞信息中,这个部分分为两小步:1.和忘记什么信息一样,我们需要知道什么信息需要更新 (是个概率值)2.通过tanch层我们确定一个新值的候选量(就是某个主语)。通过tanch()这个函数,我们知道那个部分需要更新。从下图,i_t和f_t都是一个[0,1]之间的数值,~C_t 表示需要更新的新值,大概就可以认为是~C_t =tanch(W*(h_t-1+x_t)) 如新主语

第三步这一步我认为是最重要的一步了,第一步知道需要丢弃什么,第二步知道需要更新什么,则第三步就是实施第一步第二步:更新细胞状态

如上图,首先分析f_tC_t-1(前一半)的意义: f_t是一个一丢弃信息概率,C_t-1表示上一时刻传来的所有信息,那么这两个值相乘,就是得到(上个细胞状态-需要遗忘的信息),脑补一下是什么状态;然后分析后面一半(i_tC_t)式子的意义:i_t表示的是需要更新信息的概率,~C_t表示新的主语的值,这两个相乘,整体表示需要更新的主语,则这整个式子就是表示:原来的带有旧主语的细胞,被改变或者更新为了带有新的主语,旧的主语被移除的细胞

第四步既然新的细胞已经产生,我们总不能浆细胞的所有新全部输出吧,我们要选择性的将 细胞中的 信息输出,将信息输出,我们需要更新状态之后的细胞:

o_t表示的是将什么信息输出的概率,大小在[0,1],表示最最最最后需要输出的东西,细胞状态通过 tanh 进行处理(得到一个在 -1 到 1 之间的值)并将它和 sigmoid 门的输出相乘,最终我们仅仅会输出我们确定输出的那部分。例如,可能输出是否代词是单数还是负数,这样如果是动词的话,我们也知道动词需要进行的词形变化。

总结:LSTM 看也看了很长时间,这个东西需要静下心来,慢慢的咀嚼,慢慢的理解,实在不行,多看几遍,看第二遍会比第一遍更加清晰,囫囵吞枣看在多都是模模糊糊的

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值