Pytorch 简明教程
PyTorch - Neural Network Basics
神经网络的主要原则包括一系列基本元素,即人工神经元或感知器。它包含几个基本输入,例如 x1、x2……xn,如果和大于激活电位,则它将产生一个二进制输出。
示例神经元的示意图如下所示 −
生成的输出可以看作是具有激活电位或偏差的加权和。
Output=\sum_jw_jx_j+Bias
典型的神经网络架构如下所示 −
输入和输出之间的层被称为隐藏层,而层之间的连接密度和类型就是配置。例如,一个完全连接的配置具有层 L 的所有神经元连接到层 L+1 的神经元。为了获得更明显的局部化,我们可以仅连接一个局部邻域,例如九个神经元,到下一层。图 1-9 说明了两个具有密集连接的隐藏层。
神经网络的各种类型如下 −
Feedforward Neural Networks
前馈神经网络包括神经网络系列的基本单元。这种类型神经网络中数据的运动是从输入层到输出层,通过当前隐藏层进行的。一层输出作为输入层,对网络架构中的任何类型的循环进行了限制。
Recurrent Neural Networks
循环神经网络用于在一段时间内数据模式随之改变的情况。在 RNN 中,应用同一层接受输入参数并在指定神经网络中显示输出参数。
可以使用 torch.nn 包构建神经网络。
它是一个简单的前馈网络。它获取输入,将其逐层馈送到多个层,然后最终给出输出。
借助 PyTorch,我们可以为神经网络使用以下步骤进行典型的训练程序 −
-
定义一些可学习参数(或权重)的神经网络。
-
在输入数据集上进行迭代。
-
通过网络处理输入。
-
计算损失(输出与正确的相差多远)。
-
将梯度反向传播到网络的参数中。
-
更新网络的权重,通常使用提供如下一个简单更新项
rule: weight = weight -learning_rate * gradient