PyTorch 循环神经网络
循环神经网络是一种以深度学习为导向的算法,它采用顺序方式进行。在神经网络中,我们总是假设每个输入和输出都独立于所有其他层。这种类型的神经网络被称为循环神经网络,因为它们按照顺序进行数学计算,完成一个任务后再进行下一个任务。
下面的图表说明了循环神经网络的完整方法和工作方式−
在上图中,c1、c2、c3和x1被视为包含一些隐藏输入值h1、h2和h3的输入,它们传递给o1的相应输出。我们现在将重点介绍使用PyTorch来实现递归神经网络创建正弦波的方法。
在训练过程中,我们将遵循一种一次处理一个数据点的训练方法来训练我们的模型。输入序列x包含20个数据点,目标序列被认为与输入序列相同。
步骤1
使用下面的代码导入实现递归神经网络所需的必要包。
步骤2
我们将设置模型的超参数,将输入层的大小设置为7。我们将有6个上下文神经元和1个输入神经元用于创建目标序列。
我们将生成训练数据,其中x是输入数据序列,y是所需的目标序列。
步骤3
使用均值为零的正态分布初始化递归神经网络中的权重。 W1将表示输入变量的接受度,w2将表示生成的输出,如下所示 –
步骤4
现在,重要的是要为前馈创建一个独特定义神经网络的函数。
步骤5
下一步是开始循环神经网络正弦波实现的训练过程。外循环遍历每个循环,内循环遍历序列的每个元素。在这里,我们还会计算均方差(MSE),它有助于连续变量的预测。
步骤6
现在,是时候按照所需的方式绘制正弦波了。
输出
上述过程的输出如下所示 –
PyTorch 教程目录
- PyTorch 简介
- PyTorch 安装
- PyTorch 神经网络的数学基本构建模块
- PyTorch 神经网络基础
- PyTorch 机器学习的通用工作流程
- PyTorch 机器学习 vs. 深度学习
- PyTorch 实现第一个神经网络
- PyTorch 神经网络到功能块
- PyTorch 术语
- PyTorch 加载数据
- PyTorch 线性回归
- PyTorch 卷积神经网络
- PyTorch 循环神经网络
- PyTorch 数据集
- PyTorch 卷积神经网络介绍
- PyTorch 从头训练一个卷积神经网络
- PyTorch 卷积神经网络中的特征提取
- PyTorch 卷积神经网络的可视化
- PyTorch 序列处理与卷积
- PyTorch 词嵌入
- PyTorch 递归神经网络