PyTorch - 神经网络基础
-
简述
神经网络的主要原理包括基本元素的集合,即人工神经元或感知器。它包括几个基本输入,例如 x1、x2..... xn,如果总和大于激活电位,则会产生二进制输出。样本神经元的示意图如下所述 -生成的输出可以被视为具有激活电位或偏差的加权和。$$Output=\sum_jw_jx_j+Bias$$典型的神经网络架构如下所述 -输入和输出之间的层称为隐藏层,层之间连接的密度和类型是配置。例如,全连接配置将 L 层的所有神经元连接到 L+1 层的所有神经元。为了更明显的定位,我们只能将一个局部区域(比如九个神经元)连接到下一层。图 1-9 展示了两个具有密集连接的隐藏层。各种类型的神经网络如下 - -
前馈神经网络
前馈神经网络包括神经网络族的基本单元。这种类型的神经网络中的数据移动是从输入层到输出层,通过现有的隐藏层。一层的输出作为输入层,对网络架构中的任何类型的循环都有限制。 -
循环神经网络
循环神经网络是指数据模式在一段时间内发生变化。在 RNN 中,应用同一层在指定的神经网络中接受输入参数并显示输出参数。可以使用 torch.nn 包构建神经网络。这是一个简单的前馈网络。它接受输入,将其一层接一层地馈入,然后最终给出输出。在 PyTorch 的帮助下,我们可以使用以下步骤进行神经网络的典型训练过程 -- 定义具有一些可学习参数(或权重)的神经网络。
- 迭代输入数据集。
- 通过网络处理输入。
- 计算损失(输出离正确还有多远)。
- 将梯度传播回网络参数。
- 更新网络的权重,通常使用如下所示的简单更新
rule: weight = weight -learning_rate * gradient