双向层与堆叠层
从两个方向读取上下文
双向层与堆叠层 是 CoddyKit 上的免费 NLP Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 NLP Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 NLP Academy 课程共包含 4 节课。
单向处理有所局限
普通 LSTM 从左向右读取文本,因此只能了解过去。但文本含义往往也取决于后面出现的词语。🔄
双向阅读
双向 LSTM 会运行两次:一次正向,一次反向,因此每个词都能看到两侧的上下文。
合并两次处理的结果
正向和反向的输出会合并,通常是拼接起来,形成每个时间步骤更丰富的表示。
它为何有帮助
未来上下文可以消除歧义。知道一个名称后面的词语,有助于判断 苹果指的是水果还是公司。
Keras 中的双向处理
您可以封装任意循环层,让它具备双向处理能力。双向封装器会自动为您处理两个方向的传递。
model.add(Bidirectional(LSTM(64)))进一步加深模型
您还可以堆叠层:将一个 LSTM 的输出传入另一个 LSTM,让网络学习更高层次的序列模式。
返回完整序列
要进行堆叠,底层 LSTM 必须输出每个步骤的结果,而不只是最后一步。将返回序列设置为 true,这样下一层才能获得输入。
LSTM(64, return_sequences=True)双层堆叠
第一个 LSTM 返回序列;第二个 LSTM 读取这些序列,并返回一个用于分类的摘要向量。
model.add(LSTM(64, return_sequences=True))
model.add(LSTM(32))更强的能力,更高的风险
更深且具备双向能力的模型可以捕捉更多信息,但参数也更多,可能会过拟合。请使用 dropout,并准备充足的数据。
结合两种思路
您可以将双向层堆叠起来,构建强大的模型:同时获得宽广的上下文和更深的结构,这在专业的 NLP 系统中很常见。
model.add(Bidirectional(LSTM(64, return_sequences=True)))选择适合的结构
并非每个任务都需要深层结构。请从小模型开始,只有在验证得分确实提高时,才添加更多层或处理方向。
快速检查
确认 LSTM 的堆叠方式。
回顾
使用双向结构从两个方向读取文本,并通过堆叠层增加深度。两者都会增强模型能力,因此请使用 dropout 防止过拟合。✅
用 AI 导师学习 Python — 免费
在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。
- 课程
- 30
- 课程
- 120
常见问题解答
「双向层与堆叠层」课时是免费的吗?
是的 — 「双向层与堆叠层」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 NLP Academy 课程的其余内容,请升级到 CoddyKit PRO。 NLP Academy 课程共包含 4 节课。
「双向层与堆叠层」这节课中我会学到什么?
从两个方向读取上下文 你通过在浏览器中直接运行的动手代码来练习 NLP Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 NLP Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 NLP Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。
「双向层与堆叠层」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 NLP Academy 课中编写并运行代码吗?
能。每节 NLP Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。