- 实验内容简介
实验要求:
- 请基于pytorch和mindspore平台,利用文本情感分析(aclImdb_v1.tar.gz)数据集,构建一个包含3个隐藏层的深度循环神经网络模型(3选1:RNN/LSTM/GRU),实现文本情感分类,并以分类的准确度和混淆矩阵为衡量指标,分析模型的分类精度。
要求:pytorch可与tensorflow替换,但mindspore为必选平台。(mindspore 可以在华为云ModelArts上实现);但总体分类准确度需要在87%以上记为合 格(不扣分)。
实验数据:
IMDB是一个与国内豆瓣比较类似的与电影相关的网站,而本次实验用到的数 据集是这个网站中的一些用户评论。IMDB数据集共包含50000项影评文字, 训练数据和测试数据各25000项,每一项影评文字都被标记为正面评价或负 面评价,所以本实验可以看做一个二分类问题。
实验目的:
1.熟练掌握延迟器、门控单元概念;
2.熟练掌握循环神经网络RNN的基本原理;
3.熟练掌握LSTM和GRU网络框架单元;
4. 了解深层循环神经网络的结构。
- 实验算法原理简介
本次实验选取LSTM模型,在pytorch和mindspore平台上实现。
LSTM:
基本构成:
长短期记忆网络(Long Short-Term Memory,LSTM)是一种常用的循环神经 网络(RNN)变体,用于处理序列数据和解决传统RNN中的梯度消失问题。 LSTM通过引入一种特殊的记忆单元和门控机制,能够更好地捕捉和保留长期 依赖关系。
LSTM的核心思想是引入一个记忆单元(cell),它可以在不同时间步之间传 递信息并决定何时保留或忘记信息。记忆单元类似于RNN中的隐藏状态,但 具有更强的记忆能力。
LSTM单元由三个关键部分组成:
- 输入门(Input Gate):决定从当前输入中提取多少信息,并更新记忆单元的状态。
- 遗忘门(Forget Gate):决定从先前的记忆单元状态中保留多少信息。
- 输出门(Output Gate):决定记忆单元的当前状态对当前时间步的输出有多少贡献。
结构图:

计算过程:
LSTM的计算过程可以概括为以下几个步骤:
- 计算遗忘门,决定哪些信息从上一时刻的细胞状态中遗忘掉,公式为 f t = σ ( W f [ h t − 1 , X t ] + b f ) ,其中 σ 是sigmoid函数, W f 和 b f 是参数矩阵和偏置向量。
- 计算输入门,决定哪些信息从当前输入中添加到细胞状态中,公式为 i t = σ ( W i [ h t − 1 , X t ] + b i ) 和 C t ′ = tanh ( W C [ h t − 1 , X t ] + b C ) ,其中 tanh 是双曲正切函数, W i , W C 和 b i , b C 是参数矩阵和偏置向量。
- 计算当前时刻的细胞状态,结合遗忘门和输入门的结果,更新细胞状态,公式为 C t = f t ⊙ C t − 1 + i t ⊙ C t ′ ,其中 ⊙ 是逐元素相乘的操作。
- 计算输出门,决定哪些信息从细胞状态中输出到隐层状态中,公式为 o t = σ ( W o [ h t − 1 , X t ] + b o ) 和 h t = o t ⊙ tanh ( C t ) ,其中 W o 和 b o 是参数矩阵和偏置向量。
算法步骤:
- 导入必要的数据分析、可视化、神经网络模块,如numpy, pandas, matplotlib, keras等。
- 读取并处理数据,如归一化,划分训练集和测试集,构造时间窗口等。
- 构建LSTM模型,使用Sequential类来创建序贯模型,使用add方法来添加LSTM层和全连接层,指定输入输出维度,激活函数,返回序列等参数。
- 编译和训练LSTM模型,选择合适的损失函数,优化器,评估指标等,使用fit方法来进行批量训练,指定训练轮数,批次大小等。
- 预测和评估LSTM模型,使用predict方法来对测试集或新数据进行预测,使用inverse_transform方法来还原归一化的数据,使用plot方法来可视化预测结果和真实值的对比,使用metrics方法来计算预测误差,计算混淆矩阵等。
实验要求:
要求:pytorch可与tensorflow替换,但mindspore为必选平台。(mindspore 可以在华为云ModelArts上实现);但总体分类准确度需要在87%以上记为合 格(不扣分)。
实验数据:
IMDB是一个与国内豆瓣比较类似的与电影相关的网站,而本次实验用到的数 据集是这个网站中的一些用户评论。IMDB数据集共包含50000项影评文字, 训练数据和测试数据各25000项,每一项影评文字都被标记为正面评价或负 面评价,所以本实验可以看做一个二分类问题。
实验目的:
1.熟练掌握延迟器、门控单元概念;
2.熟练掌握循环神经网络RNN的基本原理;
3.熟练掌握LSTM和GRU网络框架单元;
4. 了解深层循环神经网络的结构。
本次实验选取LSTM模型,在pytorch和mindspore平台上实现。
LSTM:
基本构成:
长短期记忆网络(Long Short-Term Memory,LSTM)是一种常用的循环神经 网络(RNN)变体,用于处理序列数据和解决传统RNN中的梯度消失问题。 LSTM通过引入一种特殊的记忆单元和门控机制,能够更好地捕捉和保留长期 依赖关系。
LSTM的核心思想是引入一个记忆单元(cell),它可以在不同时间步之间传 递信息并决定何时保留或忘记信息。记忆单元类似于RNN中的隐藏状态,但 具有更强的记忆能力。
LSTM单元由三个关键部分组成:
结构图:
计算过程:
LSTM的计算过程可以概括为以下几个步骤:
算法步骤: