【pytorch】现代循环神经网络-2

1 双向循环神经网络(Bi-RNN)

具有单个隐藏层的双向循环神经网络的架构如图所示:

对于任意时间步t,给定一个小批量的输入数据 Xt ∈ Rn×d (样本数n,每个示例中的输入数d),并且令隐藏层激活函数为ϕ。在双向架构中,我们设该时间步的前向和反向隐状态分别为 →Ht ∈ Rn×h和←Ht ∈ Rn×h,其中h是隐藏单元的数目。前向和反向隐状态的更新如下:

将前向隐状态→Ht 和反向隐状态←Ht连接起来,获得需要送入输出层的隐状态Ht ∈ Rn×2h。在具有多个隐藏层的深度双向循环神经网络中,该信息作为输入传递到下一个双向层。最后,输出层计算得到的输出为 Ot ∈ Rn×q(q是输出单元的数目):

双向循环神经网络的一个关键特性是:使用来自序列两端的信息来估计输出。也就是说,我们使用来自过去和未来的观测信息来预测当前的观测。存在问题如下:

(1)在训练期间,我们能够利用过去和未来的数据来估计现在空缺的词;而在测试期间,我们只有过去的数据,因此精度将会很差。

(2)双向循环神经网络的计算速度非常慢。其主要原因是网络的前向传播需要在双向层中进行前向和后向递归,并且网络的反向传播还依赖于前向传播的结果。因此,梯度求解将有一个非常长的链。

**双向层的使用在实践中非常少,并且仅仅应用于部分场合。**例如,填充缺失的单词、词元注释(例如,用于命名实体识别)以及作为序列处理流水线中的一个步骤对序列进行编码(例如,用于机器翻译)。

相关推荐
用户5191495848451 分钟前
深入解析Samba WINS命令注入漏洞(CVE-2025-10230) - 完整PoC实现
人工智能·aigc
All The Way North-12 分钟前
[实战分享] PyTorch实战:手机价格区间分类(95%准确率)+ 模型保存/加载/loss波动全解析
pytorch·深度学习·实战教程·全连接神经网络案例·手机价格区间分类·神经网络全过程
mys551820 分钟前
杨建允:AI搜索优化对演艺行业获客的影响
人工智能·geo·ai搜索优化·geo优化·ai引擎优化
企智小茶馆24 分钟前
AI新闻2026年1月1日
人工智能
曾响铃27 分钟前
昭陵六骏IP强势破圈,AI技术如何重塑文旅“基因与骨架”?
人工智能
编码小哥31 分钟前
OpenCV GrabCut前景提取技术详解
人工智能·opencv·计算机视觉
Coder_Boy_41 分钟前
基于SpringAI企业级智能教学考试平台考试模块全业务闭环方案
java·人工智能·spring boot·aiops
沛沛老爹43 分钟前
Web开发者实战A2A智能体交互协议:从Web API到AI Agent通信新范式
java·前端·人工智能·云原生·aigc·交互·发展趋势
deephub1 小时前
DeepSeek 开年王炸:mHC 架构用流形约束重构 ResNet 残差连接
人工智能·python·深度学习·神经网络·残差链接
独自归家的兔1 小时前
基于 豆包大模型 Doubao-Seed-1.6-thinking 的前后端分离项目 - 图文问答(后端)
java·人工智能·豆包