PyTorch进阶(深度神经网络中的前馈过程(图解分析))

现在, 我们知道了将具有不同权重和偏差的线组合在一起如何产生非线性模型。神经网络如何知道每一层要具有的权重和偏差值?这与我们对基于单个感知器模型的处理方式没有什么不同。
我们仍在使用梯度下降优化算法, 该算法通过在最陡峭的下降方向(确保模型误差最小的同时更新模型参数的方向)上反复移动, 从而将模型的误差最小化。它会更新每个图层中每个模型的权重。稍后, 我们将更多地讨论优化算法和反向传播。
重要的是要认识到我们神经网络的后续训练。通过将我们的数据样本除以某个决策边界来完成识别。
“ 接收输入以产生某种输出以进行某种预测的过程称为前馈。” 前馈神经网络是许多其他重要神经网络(例如卷积神经网络)的核心。
在前馈神经网络中, 网络中没有任何反馈回路或连接。这里只是一个输入层, 一个隐藏层和一个输出层。

PyTorch进阶(深度神经网络中的前馈过程(图解分析))

文章图片
可能有多个隐藏层, 具体取决于你要处理的数据类型。隐藏层的数量称为神经网络的深度。深度神经网络可以从更多功能中学习。输入层首先为神经网络提供数据, 然后输出层基于一系列功能对该数据进行预测。 ReLU函数是深度神经网络中最常用的激活函数。
为了深入了解前馈过程, 让我们从数学上看一下。
1)第一个输入被馈送到网络, 用矩阵x1, x2表示, 其中一个是偏置值。
PyTorch进阶(深度神经网络中的前馈过程(图解分析))

文章图片
2)将每个输入相对于第一模型和第二模型的权重相乘, 以获得它们在每个模型中处于正数区域的概率。
因此, 我们将使用矩阵乘法将输入乘以权重矩阵。
PyTorch进阶(深度神经网络中的前馈过程(图解分析))

文章图片
3)之后, 我们将分数取为S形, 并给出两个模型中该点处于正区域的概率。
PyTorch进阶(深度神经网络中的前馈过程(图解分析))

文章图片
【PyTorch进阶(深度神经网络中的前馈过程(图解分析))】4)我们将从上一步获得的概率乘以第二组权重。每当组合输入时, 我们总是将偏差设为1。
PyTorch进阶(深度神经网络中的前馈过程(图解分析))

文章图片
并且我们知道要获得该点在该模型的正区域中的概率, 我们采用S型曲线, 从而在前馈过程中产生最终输出。
PyTorch进阶(深度神经网络中的前馈过程(图解分析))

文章图片
让我们采用先前具有以下线性模型和隐藏层的神经网络, 它们结合在一起在输出层中形成非线性模型。
PyTorch进阶(深度神经网络中的前馈过程(图解分析))

文章图片
因此, 我们将使用非线性模型来产生输出, 该输出描述该点位于正区域中的概率。该点由2和2表示。连同偏差, 我们将输入表示为
PyTorch进阶(深度神经网络中的前馈过程(图解分析))

文章图片
隐藏层调用中的第一个线性模型及其方程式定义了该模型
PyTorch进阶(深度神经网络中的前馈过程(图解分析))

文章图片
这意味着在第一层中, 为了获得线性组合, 将输入乘以-4, -1, 并将偏置值乘以十二。
PyTorch进阶(深度神经网络中的前馈过程(图解分析))

文章图片
输入的权重乘以-1 / 5、1, 偏差乘以3即可在我们的第二个模型中获得同一点的线性组合。
PyTorch进阶(深度神经网络中的前馈过程(图解分析))

文章图片
现在, 为了获得该点相对于两个模型的正区域中的概率, 我们将S形应用于两个点
PyTorch进阶(深度神经网络中的前馈过程(图解分析))

文章图片
第二层包含权重, 该权重指示第一层中的线性模型的组合以获得第二层中的非线性模型。权重为1.5、1, 偏差值为0.5。
现在, 我们必须将第一层的概率乘以第二组权重
PyTorch进阶(深度神经网络中的前馈过程(图解分析))

文章图片
现在, 我们将以最终分数的S形表示
PyTorch进阶(深度神经网络中的前馈过程(图解分析))

文章图片
这是前馈过程背后的完整数学运算, 在该过程中, 来自输入的输入遍历了神经网络的整个深度。在此示例中, 只有一个隐藏层。无论是一个隐藏层还是二十个隐藏层, 所有隐藏层的计算过程都相同。

    推荐阅读