LSTM及GRU整理。

  • LSTM

It=σ(XtWxi+Ht1Whi+bi)Ft=σ(XtWxf+Ht1Whf+bf)Ot=σ(XtWxo+Ht1Who+bo)Ct¯=tanh(XtWxc+Ht1Whc+bc)Ct=FtCt1+ItCt¯Ht=Ottanh(Ct)

"""
Kears LSTM API 中给出的两个参数描述

return_sequences:默认 False。在输出序列中,返回单个 hidden state值还是返回全部time step 的 hidden state值。 False 返回单个, true 返回全部。
return_state:默认 False。是否返回除输出之外的最后一个状态。

1.return_sequences=False && return_state=False
h = LSTM(X)
Keras API 中,return_sequences和return_state默认就是false。此时只会返回一个hidden state 值。如果input 数据包含多个时间步,则这个hidden state 是最后一个时间步的结果

2.return_sequences=True && return_state=False
h = LSTM(X)
输出的hidden state 包含全部时间步的结果。

3.return_sequences=False && return_state=True
lstm1, state_h, state_c = LSTM(1, return_state=True)
lstm1 和 state_h 结果都是 hidden state。在这种参数设定下,它们俩的值相同。都是最后一个时间步的 hidden state。 state_c 是最后一个时间步 cell state结果。

4.return_sequences=True && return_state=True
lstm1, state_h, state_c = LSTM(1, return_sequences=True, return_state=True)
lstm1 存放的就是全部时间步的 hidden state,state_h 存放的是最后一个时间步的 hidden state,state_c 存放的是最后一个时间步的 cell state
"""

  • GRU

Rt=σ(XtWxr+Ht1Whr+br)Zt=σ(XtWxz+Ht1Whz+bz)Ht¯=tanh(XtWxh+(RtHt1)Whh+bh)Ht=ZtHt1+(1Zt)Ht¯

作者:lotuslaw

出处:https://www.cnblogs.com/lotuslaw/p/17894473.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   lotuslaw  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
历史上的今天:
2022-12-11 1001软件开发环境配置
more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示