深度学习-使用RNN-LSTM分类MNIST数据集

本文探讨了RNN(循环神经网络)在处理序列数据时的优势,特别是相较于传统CNN缺乏记忆能力的问题。RNN通过其隐藏层的循环连接来保留历史信息,但在长序列中可能遭遇梯度消失或爆炸问题。为解决此问题,引入了LSTM(长短期记忆网络),它通过主线和分线结构来存储长期和短期记忆。文章以MNIST数据集为例,展示了如何使用PyTorch实现RNN-LSTM进行分类,虽然在实践中遇到了一些准确率计算的困难。
摘要由CSDN通过智能技术生成

传统CNN有一个主要特点,就是没有记忆,他们单独处理每个输入,在输入和输入之间没有保存任何状态,对于这样的网络,有些事是无法较好实现的。

比如像阅读一篇文章或者一个句子,需要不断地对输入信息进行整合理解,才能更好的解决问题,这时候就需要用到RNN(循环神经网络)。RNN简单理解就是一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的结点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。

RNN理论上来说,应该能记住许多步之前见过的信息,但实际上,由于距离过远,当梯度小于零时,较为久远的位置容易出现梯度消失,当梯度大于零时,较为久远的位置容易出现梯度爆炸,所以就有了LSTM。可以简单理解为,主线部分,用于存储长期记忆的,分线部分,用于存储短期记忆的,方便序列中的信息可以在任意位置跳上传送带,被传送到更晚的实践步。

下边一个例子基于前一篇的CNN,实现同样的功能,只不过我在打印准确率的时候一直出错,所以把那一部分代码给去掉了。稍微整理了下但还是不是理解的很透彻。


                
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值