当前位置: 首页 > news >正文

08_双向循环神经网络

双向网络

概念

双向循环神经网络(Bidirectional Recurrent Neural Network, BiRNN)通过同时捕捉序列的正向反向依赖关系,增强模型对上下文的理解能力。与传统的单向网络不同,BIRNN 能够同时从过去和未来的上下文信息中学习,从而提升模型的表现。它并没有改变网络本身的内部结构而是将不同方向的序列输入对网络应用两次,再对两次得到的结果进行拼接作为双向网络模型的输出。

双向网络的一些变体

  • Bi-LSTM
  • Bi-GRU

双向网络的核心思想

双向网络的核心思想是通过两个独立的LSTM/GRU/RNN层分别处理序列的正向反向信息,然后将两个方向的隐藏状态结合起来,生成最终的输出。

  • 正向网络:从序列的开始到结束处理数据。
  • 反向网络:从序列的结束到开始处理数据。

通过结合正向和反向的信息,Bi-LSTM能够同时捕捉过去和未来的上下文信息。


以Bi-LSTM为例,解释双向网络的工作流程

① 正向 LSTM

  • 输入:序列的正向数据 x 1 , x 2 , … , x T x_1,x_2,…,x_T x1,x2,,xT
  • 隐藏状态: h t → \overrightarrow{h_t} ht
  • 细胞状态: C → t \overrightarrow C_t C t

② 反向 LSTM

  • 输入:序列的反向数据 x T , x T − 1 , … , x 1 x_T,x_{T−1},…,x_1 xT,xT1,,x1
  • 隐藏状态: h t ← \overleftarrow{h_t} ht
  • 细胞状态: C ← t \overleftarrow C_t C t

③ 结合正向和反向信息

  • 将正向和反向的隐藏状态拼接起来,生成最终的隐藏状态:

    h t h_t ht = [ h t → \overrightarrow{h_t} ht , h t ← \overleftarrow{h_t} ht ]

  • 最终的隐藏状态 ht 包含了序列的完整上下文信息。

  • ,| 表示拼接操作。

④ 输出层:

  • 将双向隐藏状态输入到输出层,得到最终的输出 $ y_1,y_2,…,y_T$。
  • 输出层可以是线性层、softmax层等,根据具体任务而定。

在这里插入图片描述

http://www.dtcms.com/a/85645.html

相关文章:

  • React 中useMemo和useCallback Hook 的作用,在什么场景下使用它们?
  • 图书管理系统系统-Java、SpringBoot、Vue和MySQL开发的图书馆管理系统
  • 文心快码 使用体验与介绍
  • 分布式算法:Paxos Raft 两种共识算法
  • 结合代码理解Spring AOP的概念(切面、切入点、连接点等)
  • Rocky Linux 软件安装:Last metadata expiration check:
  • leetcode_双指针 15.三数之和
  • 【前端扫盲】liquid模板语言
  • css重点知识汇总(二)
  • Jboss
  • [c语言日寄]枚举类型
  • Spring Boot框架中常用注解
  • 自然资源数据要素支撑场景建设
  • QEMU源码全解析 —— 块设备虚拟化(7)
  • 探秘鸿蒙 HarmonyOS NEXT:鸿蒙存储核心技术全解析
  • SLAM十四讲【四】相机与图像
  • MySQL 字符集
  • 华为昇腾AscendCL推理引擎入门
  • epoll原理以及系统调用案例分析
  • 动态规划——完全背包问题
  • 【中文翻译】第8章-The Algorithmic Foundations of Differential Privacy
  • [spring] Spring JPA - Hibernate 多表联查 3
  • 人形机器人科普
  • Unity Shader 的编程流程和结构
  • 现代前端质量保障与效能提升实战指南
  • Noteexpress插入参考文献无法对齐
  • Linux生产者消费者模型
  • 快速求出质数
  • 【算法训练】单向链表
  • pandas中新增的case_when()方法