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

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

相关推荐
机器视觉的发动机4 分钟前
从实验室到工业现场:机器人视觉感知系统的边缘AI架构实战, 深度解析硬件选型、TensorRT量化加速与多传感器融合的极致优化方案
人工智能·机器人·视觉检测·人机交互·机器视觉
雾削木11 分钟前
AI文献提示词prompts
人工智能
抠头专注python环境配置12 分钟前
基于Pytorch ResNet50 的珍稀野生动物识别系统(Python源码 + PyQt5 + 数据集)
pytorch·python
~kiss~18 分钟前
大模型中激活函数、前馈神经网络 (FFN) 的本质
人工智能·深度学习·神经网络
老兵发新帖30 分钟前
推理平台ONNX性能对比PyTorch原生格式
人工智能
犀思云33 分钟前
企业端到端NaaS连接的优势与应用
网络·人工智能·机器人·智能仓储·专线
Keep_Trying_Go41 分钟前
基于GAN的文生图算法详解ControlGAN(Controllable Text-to-Image Generation)
人工智能·python·深度学习·神经网络·机器学习·生成对抗网络·文生图
Spey_Events44 分钟前
星箭聚力启盛会,2026第二届商业航天产业发展大会暨商业航天展即将开幕!
大数据·人工智能
JoySSLLian1 小时前
IP SSL证书:一键解锁IP通信安全,高效抵御网络威胁!
网络·人工智能·网络协议·tcp/ip·ssl
AC赳赳老秦1 小时前
专利附图说明:DeepSeek生成的专业技术描述与权利要求书细化
大数据·人工智能·kafka·区块链·数据库开发·数据库架构·deepseek