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

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

相关推荐
鬼手点金5 小时前
KV Cache 未必是一次性的:可编辑、可组合的“笔记”
java·人工智能·笔记·学习·自动化·1024程序员节
天天代码码天天5 小时前
魔方转不回去了?我用 C# 做了个还原助手,跟着动画一步步来
人工智能
xsd202411185 小时前
智慧园区算法平台搭建详解:从模型仓到统一推理,多模型怎么管起来
人工智能·深度学习
Kyops5 小时前
别让智能体 Agent 卡在登录页!接管“已登录 Chrome浏览器”的 6 种实战方案
人工智能
百度Geek说5 小时前
好看视频鸿蒙端AI研发交付流程的建设思考与实践
人工智能
暖心hebbie设计学习5 小时前
GitHub 热榜拆解(10.28)|5 个 AI 工具:从设计到写代码,附 issue 区坑点
人工智能·github
专注仿真5 小时前
Agentic RAG算法详解
人工智能·python·大模型训练·控制算法
学习论之费曼学习法5 小时前
无人值守AI内容矩阵实战(8):标题 A/B 实验的 6 个工程实现细节,隔日对比与自动判胜
人工智能·python·算法·矩阵·自动化·a/b测试·内容矩阵
2601_965449085 小时前
AI视频制作:做传统文化视频,古文断句配音难,AI怎么正确断句配音?
人工智能·音视频
梦075 小时前
DeepTutor功能实测:启发式追问&互动书&精通之路&以及一个AI扮演的意外玩法
人工智能