当前位置: 首页 > news >正文

RNN、LSTM、BiLSTM 算法学习笔记

NLP-AHU-026

一、RNN

1.我之前学的普通神经网络和CNN,都是一次性处理数据的,比如给一张图片,它就直接分析这张图的像素,不会管前后的关联。但现实里很多数据都是有顺序的,像咱们读课文、看视频,得结合上下文才能懂意思。RNN就是为了处理这种有时间顺序的序列设计的,能让网络“记住”之前的信息,用来分析当前的内容。

2.核心结构

RNN的关键是循环隐藏层,说白了就是同一个网络结构反复用。每一个时间步t,它会同时收两个输入:一个是当前时刻的输入xt,另一个是上一个时间步的隐藏状态ht−1。然后算出当前的隐藏状态ht,再用ht得到当前的输出yt。而且它所有时间步都用同一套参数,这样不用重复造轮子,参数量也少,还能处理长度不一样的序列。

3. 核心公式

隐藏状态更新:ht=σhWxhxt+Whhht−1+bh

这里σh一般是tanh或sigmoid函数,作用是把数值压缩到合适范围;Wxh、Whh是权重,bh是偏置,简单说就是调整信息的“权重占比”和“基准值”。

输出层:yt=σyWhyht+by

σy根据任务选,比如分类任务用softmax,回归用线性激活。

4. 致命问题

RNN想记长序列的信息,但根本做不到因为反向传播的时候,梯度会像连乘一样算。如果权重的数值小,时间步一长,梯度就会越来越接近0,前面的信息就彻底丢了;如果权重大,梯度又会无限变大。所以RNN只能处理很短的序列,长一点的就记不住了。

二、LSTM

1. LSTM是咋来的?

就是为了解决RNN的长距离依赖问题才发明的RNN的记忆太脆弱了,长序列里前面的信息很容易被冲掉。LSTM的设计灵感来自电脑的门控逻辑,就像给记忆加了几个开关,能控制该记住啥、该忘啥、该输出啥,这样就能稳稳记住长序列的信息了。

2. 核心结构

LSTM把RNN的简单隐藏层,换成了细胞状态Ct和三个门控,分别是遗忘门、输入门、输出门,每个门都有自己的权重和偏置。

遗忘门:决定扔掉多少之前的记忆,比如序列里出现了无关信息,就通过它把这些信息忘掉。

输入门:决定保留多少新信息,比如有新的关键内容出现,就通过它把新内容加进记忆库。

输出门:决定从记忆库里拿多少信息输出,比如当前需要用之前的记忆做预测,就通过它输出对应的信息。

3. 核心公式

1.遗忘门:ft=σWf⋅ht−1xt+bf

输出0到1之间的数,0就是完全扔掉,1就是“完全保留”之前的细胞状态Ct−1。

2.输入门:it=σWi⋅ht−1xt+bi,同时算候选细胞状态Ct=tanhWC⋅ht−1xt+bC

it控制新信息的保留比例,Ct是生成的新候选信息。

3.细胞状态更新:Ct=ft∗Ct−1+it∗Ct

这是LSTM的核心先通过遗忘门丢没用的旧信息,再通过输入门加新信息,记忆就更新好了。

4.输出门:ot=σWo⋅ht−1xt+bo,最后隐藏状态ht=ot∗tanhCt

用输出门过滤细胞状态,得到当前要输出的信息ht。

4. 为啥LSTM能解决梯度消失

LSTM更新细胞状态用的是加法,不是RNN的连乘。反向传播的时候,梯度是加着传的,不会因为时间步长就变成0,所以能稳稳学习长序列里的远距离关联,这也是LSTM比RNN好用的关键。

三、BiLSTM

1. BiLSTM的设计思路

LSTM是单向的,只能看序列前面的内容,比如读一句话只能从第一个词往后读,看不到后面的。但很多任务里,当前的内容需要结合前后文才能理解准确。所以BiLSTM就加了一个反向的LSTM层,让网络能同时看前面和后面的内容,提取更全面的信息。

2. 核心结构

BiLSTM由两个独立的LSTM组成:

前向LSTM:按序列正常顺序处理,得到前向隐藏状态ht,记住过去到当前的信息。

后向LSTM:按序列倒序处理,得到后向隐藏状态ht,记住当前到未来的信息。

最后把两个方向的隐藏状态拼在一起,ht=htht,这样输出的信息就包含了前后双向的内容。

3. 核心公式

前向:ht=LSTMxtht−1

后向:ht=LSTMxtht+1

最终输出:ht=htht

4. 优缺点

优点:能利用双向上下文,做文本分类、命名实体识别这些任务时,效果比单向LSTM好太多。

缺点:参数量多了一倍,训练慢;而且不能实时预测,因为要等后面的信息算完才能输出当前结果。

学习心得

这次学这三个模型,一开始真的绕晕了,尤其是LSTM的三个门,看着公式觉得复杂,后来对着结构图慢慢理,才明白每个门其实就是控制信息的进出。对比下来,RNN是基础但太拉胯,LSTM解决了核心问题,BiLSTM又进一步补全了上下文的信息。

其实它们的核心就是怎么更好地处理序列数据,从RNN的简单循环到LSTM的门控,再到BiLSTM的双向,都是一步步为了解决实际问题优化的。不过BiLSTM参数量大,训练的时候得注意资源,这也是实际用的时候要考虑的点。

http://www.jsqmd.com/news/600520/

相关文章:

  • 基于hadoop+spark+hive的大数据电影数据分析与可视化
  • GLM-4-9B-Chat-1M多场景落地:制造业BOM表解析、IoT设备日志分析、供应链合同管理
  • 为什么有些同学答辩特别轻松,像“走流程”?
  • 2026年评价高的PTFE压延机/压延机/导热垫片压延机/固态硅胶压延机实力厂家如何选 - 品牌宣传支持者
  • 参数党VS体验派?雅马哈、卡西欧、费森4款热门电钢琴型号终极对决,结果有点意外!
  • OpenClaw自动化测试新思路:千问3.5-27B生成与执行UI测试用例
  • vLLM-v0.11.0新手入门:从零开始部署高性能LLM服务
  • 2026年人行通道闸机优质品牌推荐榜江浙沪高效响应 - 优质品牌商家
  • OpenClaw压力测试:百川2-13B-4bits量化模型在长时间任务中的稳定性
  • 新手福音:用快马ai生成专属ubuntu22.04安装与开发环境配置教程
  • 2026年口碑好的带灯轻触开关/乐清硅胶轻触开关/5.2X5.2轻触开关口碑好的厂家推荐 - 品牌宣传支持者
  • 第一篇:KNX入门实战|从协议基础到开发环境搭建,新手也能轻松上手
  • Neeshck-Z-lmage_LYX_v2开源大模型:支持LoRA热插拔的本地化AI绘画平台
  • SEO_如何通过内容优化有效提升SEO效果?(193 )
  • Cogito-v1-preview-llama-3B应用探索:建筑行业BIM文档智能摘要系统
  • OpenClaw二次开发入门:修改Qwen3-14B的API交互模块
  • 开发者必备:OpenClaw调试Phi-3-mini-128k-instruct接口的3个关键技巧
  • windows+wsl+OpenClaw 安装指南(二):5分钟快速搭建 OpenClaw
  • VibeVoice语音合成系统效果展示:专业配音级语音频谱图分析
  • Python进程与线程入门:从区别到实操,避开90%的新手坑
  • 2026年4月第三方检测机构推荐 合规首选 - 优质品牌商家
  • vLLM-v0.17.1部署案例:政府公文写作辅助系统vLLM私有化部署
  • 医生Agent实战教程(非常详细),别再瞎喂数据看这篇就够了!
  • 《jEasyUI 格式化列》
  • FLUX.小红书极致真实V2效果展示:宠物毛发层次、眼睛高光、微表情刻画
  • 第二篇:KNX实战进阶|分模式开发+综合项目落地,手把手教你搞定
  • 如何分析网站SEO关键词排名
  • 零配置部署CosyVoice:开箱即用的语音克隆Web界面
  • LLM强化学习从入门到精通:Composition-RL全解析,收藏这篇就够了!
  • Git学习笔记作用及概述