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

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

相关推荐
CCblandy10 小时前
Airllm 大模型本地化部署与高效推理应用指南
大数据·网络·人工智能
workflower10 小时前
手术机器人市场发展阶段
大数据·人工智能·机器人·云计算·无人机
ai_xiaogui11 小时前
PanelAI 私有化 AI 助理实战:打通 API 聚合、Token 监控与多用户算力变现
人工智能·panelai 私有化部署·api 聚合网关·大模型 token 监控·企业级算力调度系统·go 语言后端架构·vue 3 管理后台
HySpark11 小时前
qwen-omini情感识别效果不佳,重新梳理语音情感方案
人工智能·机器学习·语音情感识别
GoldenSpider.AI11 小时前
用 AI 改流程之前先做「四桶」体检:9 次返工里 8 次靠规则就能消掉(附 Python 发布前校验器)
人工智能·python·自动化·ai智能体
hoLzwEge11 小时前
AI签到「一劳永逸」
人工智能·程序员·ai编程
一切皆是因缘际会11 小时前
同源世界系统:兼备量子系统与信息几何功能星际通信零延迟
人工智能·ai·系统架构·信息与通信·星际通信·量子系统·信息几何
原子延迟11 小时前
视频还没出画面怎么判断是不是坏了
图像处理·人工智能·计算机视觉·音视频
代码方舟11 小时前
零信任架构实战:基于天远贷前风险报告构建自动化消费信贷资质预审网关
人工智能·架构·自动化