今天细致聊下循环神经网络(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的自注意力机制来解决.
相关推荐
一次旅行1 小时前
HyperTool:突破传统工具调用限制,让Agent更高效执行复杂任务陈天伟教授2 小时前
图解人工智能(58)人工智能应用-围棋国手闻道参看2 小时前
2026年AI优质企业培训系统综合测评:合规管控/数据量化老虾头2 小时前
科技贴近烟火:本地化 AI,赋能各行各业日常经营毒爪的小新2 小时前
Linux 环境极速部署 vLLM:从零搭建生产级大模型推理服务老大白菜2 小时前
25美元,DIY开源可穿戴智能AI眼镜:Arduino+乐鑫ESP32+DeepSeek项目DreamLife☼3 小时前
OpenBCI-脑机接口在康复医疗中的应用岁月宁静3 小时前
RAG 文档摄入全链路,从原理到生产落地小和尚同志3 小时前
AI 自动化测试探索(一):Playwright MCP