LSTM模型理解_rfm模型应用实例

LSTM模型理解_rfm模型应用实例LSTM模型之前一直想要了解一下LSTM模型的想法,看到一些介绍,说里面的各种门,遗忘门,输入门,输出门,是模拟电路的,然后自己就一直很莫名其妙,怎么还有电路什么的,然后就各种一直看不懂。。。现在回过头来仔细的看了看,发现原来也不是很难。不是电路,跟电路一点关系都没有,把它想象成一个神经元就好了,一切问题迎刃而解。嗯,是的,就是这么简单。。。最后在知乎上找了一篇文章,讲的挺不错的:https:…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

LSTM模型

之前一直想要了解一下LSTM模型的想法,看到一些介绍,说里面的各种门,遗忘门,输入门,输出门,是模拟电路的,然后自己就一直很莫名其妙,怎么还有电路什么的,然后就各种一直看不懂。。。现在回过头来仔细的看了看,发现原来也不是很难。不是电路,跟电路一点关系都没有,把它想象成一个神经元就好了,一切问题迎刃而解。嗯,是的,就是这么简单。。。

最后在知乎上找了一篇文章,讲的挺不错的:https://zhuanlan.zhihu.com/p/29927638

讲解

RNN网络结构

RNN结构
公式: h t = σ ( W h ∗ x t + U h ∗ h t − 1 + b h ) h_t = \sigma(W_h * x_t + U_h * h_{t-1} + b_h) ht=σ(Whxt+Uhht1+bh)
其中, W h W_h Wh

LSTM网络结构

LSTM网络结构
图中 σ , t a n h \sigma, tanh σ,tanh都可以看做是一个神经元,看似复杂,但是相较于RNN只是多了几个神经元而已。下面分析

1. 细胞状态

相较于RNN的隐含状态 h ( t ) h^{(t)} h(t),这里又多了一个细胞状态(cell state) C ( t ) C^{(t)} C(t)
细胞状态

2. 遗忘门

遗忘门
控制是否遗忘,以一定的概率控制是否遗忘上一层的细胞状态:
f ( t ) = σ ( W f ∗ h t − 1 + U f ∗ x ( t ) + b f ) f^{(t)} = \sigma(W_f*h_{t-1} + U_f * x^{(t)} + b_f) f(t)=σ(Wfht1+Ufx(t)+bf)
其中, f ( t ) f^{(t)} f(t)是遗忘门的输出,本身是 s i g m o i d sigmoid sigmoid函数,输出是(0, 1)的值,表示一定概率的遗忘细胞状态。

3. 输入门

输入门
用来处理输入,最终目的是为了更新细胞状态
i ( t ) = σ ( W i ∗ h t − 1 + U i ∗ x i + b i ) i^{(t)} = \sigma(W_i * h_{t-1} + U_i * x_i + b_i) i(t)=σ(Wiht1+Uixi+bi)
a ( t ) = t a n h ( W a ∗ h t − 1 + U a ∗ x i + b a ) a^{(t)} = tanh(W_a * h_{t-1} + U_a * x_i + b_a) a(t)=tanh(Waht1+Uaxi+ba)

4. 细胞状态更新

细胞状态更新
C ( t ) = f ( t ) ⨀ C ( t − 1 ) + i ( t ) ⨀ a ( t ) C^{(t)} = f^{(t)} \bigodot C^{(t-1)} + i^{(t)} \bigodot a^{(t)} C(t)=f(t)C(t1)+i(t)a(t)
其中, ⨀ \bigodot 表示 H a r a m a r d Haramard Haramard积。

5. 输出门

输出门
o ( t ) = σ ( W o ∗ h ( t − 1 ) + U o ∗ x ( t ) + b o ) o^{(t)} = \sigma(W_o*h^{(t-1)} + U_o * x^{(t)} + b_o) o(t)=σ(Woh(t1)+Uox(t)+bo)
h ( t ) = o ( t ) ⨂ t a n h ( C ( t ) ) h^{(t)} = o^{(t)} \bigotimes tanh(C^{(t)}) h(t)=o(t)tanh(C(t))

整个结构就这样介绍完了。就是几个神经单元。挺简单的吧。
其实可以换一个角度来看,三个 σ \sigma σ函数实际上就是三个忘记,忘记上一个细胞的状态,忘记当前的输入,忘记隐藏层的输出。中间的 t a n h tanh tanh就是一个RNN结构

为什么使用LSTM

由于RNN也有梯度消失的问题,因此很难处理长序列的数据,对RNN做了改进,得到了RNN的特例LSTM(Long Short-Term Memory),它可以避免常规RNN的梯度消失,因此在工业界得到了广泛的应用

比较好的LSTM文章

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195271.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 粒子群优化算法的实现方式_matlab粒子群优化算法

    粒子群优化算法的实现方式_matlab粒子群优化算法粒子群优化算法实现容易、精度高、收敛快,在解决实际问题中展示了其优越性。文章目录1算法基本概念2算法的MATLAB实现3粒子群算法的权重控制4混合粒子群算法参考文献1算法基本概念粒子群优化算法属于进化算法的一种,通过追随当前搜索到的最优值来寻找全局最优。粒子群算法也称粒子群优化算法(ParticleSwarmOptimization,PSO),PSO有几个关键概念:粒子、优化函数、适值(FitnessValue)、飞行方向、飞行距离。2算法的MATLAB实现3粒子群算法的权重控

    2022年10月11日
    2
  • pycharm2021.12.12 激活码【2021最新】

    (pycharm2021.12.12 激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月30日
    44
  • 本人精心收集的近80个国内最好的嵌入式技术相关网站和论坛和博客[通俗易懂]

    本人精心收集的近80个国内最好的嵌入式技术相关网站和论坛和博客[通俗易懂]注: 这是本人学习嵌入式时收集80个的相关网站和论坛,这是2013年最新的,保证全部是国内的比较好的,而且全部可用!学习这事儿缺乏的就是好的资源和信息,现在你全部都拥有了!只要静下心来好好专研学习,那么你早晚会成为嵌入式专家! 最后祝愿大家都早日成为嵌入式高手!  .C语言中文网 http://see.xidian.edu.cn/cpp/ .中国IT实验室 http://c.c

    2025年6月19日
    3
  • C# 中几种换行符

    C# 中几种换行符

    2022年2月22日
    218
  • idea2022激活码永久、_在线激活2022.02.05

    (idea2022激活码永久、)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年4月1日
    141
  • linux中EXPORT_SYMBOL使用

    linux中EXPORT_SYMBOL使用EXPORT_SYMBOL只出现在2.6内核中,在2.4内核默认的非static函数和变量都会自动导入到kernel空间的,都不用EXPORT_SYMBOL()做标记的。2.6就必须用EXPORT_SYMBOL()来导出来(因为2.6默认不到处所有的符号)。 1、EXPORT_SYMBOL的作用是什么?EXPORT_SYMBOL标签内定义的函数或者符号对全部内核代码公开,

    2022年7月12日
    27

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号