今天细致聊下循环神经网络(RNN):之前也提到过RNN是用来处理序列数据及一些相关的应用场景.现在来聊聊其API和一些其他的东西.torch.nn.RNN(input_size,hidden_size,num_layers)参数分别表示输入的特征维度,输出特征维度,隐藏层数.输入的Xt=(seq_len,batch_size,input_size).参数分别表示样本的token数,批次,指定词向量的维度.实际情况Xt是一个张量,形状根据你自己拿到的数据.需要注意:通常情况拿到的数据是:批次,token数......这时可以进行张量的维度转换.transpose(dim=),permute(dim=)也可直接在RNN的那个地方传入参数:batch_size=True.在隐藏层还有一个h0一般进行全0初始化.然后设置两个变量用来接收RNN模型的Yt,Ht..打印结果即可.在实际情况.RNN在进行长句子分析的时候容易梯度消失和梯度爆炸.短句子的分析效果较好.为缓解长句子处理的问题.于是提出LSTM模型.它是在RNN模型的基础上引入了Ct和门控机制还增加了许多激活函数.具体是:Ct是细胞状态.同样对传入的Ht-1和Xt进行拼接传给sigmoid得到遗忘系数,记忆系数,输出门系数(不是同一个东西).Ht-1和Xt进行拼接传给tanh得到Ct1.Ct-1乘以遗忘系数+Ht-1乘以记忆系数得到当前细胞状态Ct(记录的所有历史信息).将Ct投给tanh然后乘以输出门系数得到Ht(记录的是下一个时间步的输入状态).LSTM基本原理也很简单.通过门控机制.遗忘部分历史信息,记住现在多数信息.以此来缓解长句的梯度消失和爆炸问题.更长句的处理得用到Transformer的自注意力机制来解决.
相关推荐
GIS数据转换器2 小时前
地下空间综合管廊运营管理平台dozenyaoyida7 小时前
AI与大模型新闻日报 | 2026-10-17遇码7 小时前
流式调用中途断连别直接报错:瞬态故障识别、退避重试与中文根因诊断的搭建方法救救孩子把8 小时前
AI面试八股文-21_21-多模态Agent面试题-Vision-Language-Agent今年下半年8 小时前
AI智能体项目实战记录(02):初始化 Python 项目Jlzn88888 小时前
华东电芯分选通道数怎么配才不堵线u1301308 小时前
GitHub 热榜项目:日榜(2026-10-17)流烟默8 小时前
MCP第 5 篇:用 Spring AI 写 MCP:注解、自动配置、ChatClient 集成康实训8 小时前
老年评估仿真实训平台架构设计与老年人能力评估实训室教学落地实践