双向 LSTM(Bidirectional LSTM)与普通 LSTM 公式过程

双向 LSTM(Bidirectional LSTM)与普通 LSTM 有类似的公式过程,但有一些细微的差别。LSTM 是一种循环神经网络(RNN),用于处理序列数据。它具有一个门控机制,可以捕捉长期依赖关系。

双向 LSTM 结构中有两个 LSTM 层,一个从前向后处理序列,另一个从后向前处理序列。这样,模型可以同时利用前面和后面的上下文信息。在处理序列时,每个时间步的输入会被分别传递给两个 LSTM 层,然后它们的输出会被合并。

具体而言,双向 LSTM 的公式过程如下:

  • 前向 LSTM:

    • 输入门(input gate): i t = σ ( W i x x t + W i h h t − 1 + b i ) i_t = \sigma(W_{ix}x_t + W_{ih}h_{t-1} + b_i) it=σ(Wixxt+Wihht−1+bi)
    • 遗忘门(forget gate): f t = σ ( W f x x t + W f h h t − 1 + b f ) f_t = \sigma(W_{fx}x_t + W_{fh}h_{t-1} + b_f) ft=σ(Wfxxt+Wfhht−1+bf)
    • 细胞状态(cell state)更新: C ~ t = tanh ( W c x x t + W c h h t − 1 + b c ) \tilde{C}t = \text{tanh}(W{cx}x_t + W_{ch}h_{t-1} + b_c) C~t=tanh(Wcxxt+Wchht−1+bc)
    • 细胞状态(cell state): C t = f t ⊙ C t − 1 + i t ⊙ C ~ t C_t = f_t \odot C_{t-1} + i_t \odot \tilde{C}_t Ct=ft⊙Ct−1+it⊙C~t
    • 输出门(output gate): o t = σ ( W o x x t + W o h h t − 1 + b o ) o_t = \sigma(W_{ox}x_t + W_{oh}h_{t-1} + b_o) ot=σ(Woxxt+Wohht−1+bo)
    • 隐状态(hidden state): h t = o t ⊙ tanh ( C t ) h_t = o_t \odot \text{tanh}(C_t) ht=ot⊙tanh(Ct)
  • 后向 LSTM:

    • 输入门(input gate): i t ′ = σ ( W i x ′ x t + W i h ′ h t + 1 ′ + b i ′ ) i't = \sigma(W'{ix}x_t + W'{ih}h'{t+1} + b'_i) it′=σ(Wix′xt+Wih′ht+1′+bi′)
    • 遗忘门(forget gate): f t ′ = σ ( W f x ′ x t + W f h ′ h t + 1 ′ + b f ′ ) f't = \sigma(W'{fx}x_t + W'{fh}h'{t+1} + b'_f) ft′=σ(Wfx′xt+Wfh′ht+1′+bf′)
    • 细胞状态(cell state)更新: C ~ t ′ = tanh ( W c x ′ x t + W c h ′ h t + 1 ′ + b c ′ ) \tilde{C}'t = \text{tanh}(W'{cx}x_t + W'{ch}h'{t+1} + b'_c) C~t′=tanh(Wcx′xt+Wch′ht+1′+bc′)
    • 细胞状态(cell state): C t ′ = f t ′ ⊙ C t + 1 ′ + i t ′ ⊙ C ~ t ′ C'_t = f't \odot C'{t+1} + i'_t \odot \tilde{C}'_t Ct′=ft′⊙Ct+1′+it′⊙C~t′
    • 输出门(output gate): o t ′ = σ ( W o x ′ x t + W o h ′ h t + 1 ′ + b o ′ ) o't = \sigma(W'{ox}x_t + W'{oh}h'{t+1} + b'_o) ot′=σ(Wox′xt+Woh′ht+1′+bo′)
    • 隐状态(hidden state): h t ′ = o t ′ ⊙ tanh ( C t ′ ) h'_t = o'_t \odot \text{tanh}(C'_t) ht′=ot′⊙tanh(Ct′)

其中, x t x_t xt 是输入序列的第 t t t 个时间步的向量表示, h t h_t ht 是前向 LSTM 在第 t t t 个时间步的隐状态, h t + 1 ′ h'{t+1} ht+1′ 是后向 LSTM 在第 t t t 个时间步的隐状态, C t C_t Ct 是前向 LSTM 在第 t t t 个时间步的细胞状态, C t + 1 ′ C'{t+1} Ct+1′ 是后向 LSTM 在第 t t t 个时间步的细胞状态。 W W W 和 b b b 是模型的参数, σ \sigma σ 是 sigmoid 函数, ⊙ \odot ⊙ 表示逐元素相乘。

通过双向 LSTM,我们可以获得更全面的序列信息,有助于提高模型在序列任务中的性能。

相关推荐
imbackneverdie17 分钟前
论文中的机制图、原理图用什么软件画?AI生成可编辑矢量图的方法分享
人工智能·深度学习·计算机视觉·aigc·科研·ai绘图·科研绘图
程序猿编码1 小时前
两张 3090 扛 27B:Qwen3.8-27B 大模型 DFlash2 加速版生产级落地
开发语言·gpt·深度学习·神经网络·大模型·qwen
Zzj_tju3 小时前
Embodied Agent 小环境:用状态日志解释成功、绕路与超时
人工智能·深度学习·机器学习·自然语言处理
是翎4 小时前
图解大语言模型部署
人工智能·驱动开发·深度学习·开源协议·imagen
CIO_Alliance4 小时前
AI微调系列(2)| QLoRA:一张卡微调700亿参数,显存是怎么省下来的
大数据·人工智能·深度学习·ai·企业ai转型·企业cio联盟
Zentceh5 小时前
AI-ISP vs 传统ISP全面对比
人工智能·深度学习·计算机视觉·车载系统·transformer·无人机·智能硬件
魔镜er5 小时前
11-循环神经网络
人工智能·pytorch·python·深度学习·神经网络
宁渡AI大模型5 小时前
河南宁渡科技有限公司|宁渡课堂 AI 全栈面试分享,AI 应用开发高频考点汇总
java·c++·人工智能·python·深度学习·神经网络·rag
薛定e的猫咪6 小时前
(ICML2024)QSM:基于 Q 函数梯度对齐分数场的扩散模型离策略强化学习
人工智能·深度学习·算法
桃西西呀6 小时前
提前一天预报雾霾:手搓神经网络,讲清学习率、初始化、正则化
人工智能·深度学习·llm