反向传播算法——概述

已发表: 2021-10-15

神经网络一直是人工智能技术世界中最流行的词。 而在谈到神经网络时,反向传播是一个值得关注的词。 反向传播算法是神经网络的基本模块之一。 由于任何神经网络都需要针对任务的性能进行训练,因此反向传播是一种用于训练神经网络的算法。 它是监督学习算法的一种形式,用于在人工神经网络中训练多层感知器。

典型的编程被认为是插入数据和执行编程逻辑的地方。 当处理完成时,输出被用户接收。 但是,这个输出在某种程度上会影响编程的逻辑。 这就是反向传播算法所做的。 输出将影响逻辑并产生更好的输出。

本文将重点介绍反向传播算法及其工作过程。

目录

反向传播的重要性

反向传播的重要性在于它在神经网络中的使用。 神经网络的设计要求仅在开始时初始化权重。 这些权重是一些随机值或任何用于初始化权重的随机变量。 由于权重是随机插入的,因此权重可能不是正确的。 这意味着权重不适合模型。 模型的输出可能与预期输出不同。 结果,存在高误差值。 但是,减少错误总是很重要的,想办法减少错误是一个挑战。 模型需要经过训练,无论何时发生这些类型的场景,它都需要相应地更改参数。 并且随着参数的变化,误差值会减小。

因此,需要对模型进行训练,而反向传播是一种可以训练模型以使误差值最小的方式。

神经网络中反向传播算法的几个步骤可以总结如下:

● 误差计算:计算模型输出与模型实际输出的偏差。

● 最小误差:在此步骤中,将检查产生的误差是否被最小化。

● 参数更新:该步骤用于更新模型参数。 如果模型产生非常高的误差值,那么它需要更新它的参数,

例如权重和偏差。 重新检查模型的错误,并重复该过程,直到生成的错误最小化。

● 最终模型:经过反复的检查和更新过程,错误被最小化,模型现在可以输入了。 输入可以输入到模型中,并且可以分析模型的输出。

反向传播神经网络

在任何神经网络中,反向传播算法都会搜索误差的最小值。 这是通过梯度下降技术或 delta 规则完成的,通过它从权重空间中搜索误差的最小函数。 一旦确定了减少误差函数的权重,它就被认为是学习问题的解决方案。 在 1960 年代,当算法首先被引入时,在后来的几年中,算法的流行度增加了。 通过该算法,可以使用链式法则的方法有效地训练神经网络。 如果有通过神经网络的前向传递,那么模型的参数通过其对诸如偏差和权重等参数的调整来执行后向传递。 为了使反向传播算法起作用,首先应该定义神经网络。

神经网络模型

如果考虑神经网络的 4 层模型,那么它将由层组成; 输入层,为隐藏层设计了 4 个神经元,为输出层设计了 1 个神经元。

输入层:输入层可以是简单的,也可以是复杂的。 一个简单的输入层将包含标量,而一个复杂的输入层将由多维矩阵或向量组成。 第一个激活集被认为等于输入值。

术语激活是指在应用激活函数后产生的神经元的值。

隐藏层:在层 l 中使用某些加权输入,例如 z^l,在同一层 l 中使用激活 a^l。 为这些层(例如第 2 层和第 3 层)生成方程。

通过使用激活函数 f 计算层的激活。 激活函数“f”是一个非线性函数,它允许网络学习数据中存在的复杂模式。

形成具有 (n,m) 形状的权重矩阵,其中数字“n”表示输出神经元,而“m”表示神经网络的输入神经元。 在上述层的模型中,n 的数量为 2,m 的数量为 4。此外,权重下标中的第一个数字应与下一层神经元的索引匹配。 第二个数字应该与网络前一层的神经元索引匹配。

输出层:输出层是神经网络的最后一层。 它预测模型的价值。 矩阵表示用于简化方程。

神经网络的前向传播及其评估

在定义神经网络时产生的方程构成了网络的前向传播。 它预测模型的输出。 在前向传播算法中,所涉及的最后一步是根据预期输出评估预测输出。 如果预测输出是“s”,而预期输出是“y”,那么 s 将针对 y 进行评估。 对于训练数据集 (x,y),x 是输入,y 是输出。

成本函数“C”用于评估 s 与 y。 成本函数可能是一个简单的函数,如均方误差 (MSE),也可能是一个复杂的函数,如交叉熵。 根据 C 的值,模型知道应该调整多少参数以更接近预期的输出,即 y。 这是通过反向传播算法完成的。

反向传播算法

反向传播算法反复调整网络连接中权重,以最小化模型输出与预期输出之间的差异。 也正是在反向传播算法中,可以在网络中创建新的有用的特征。

反向传播算法还旨在减少或最小化网络的定义成本函数,即 C。这是通过调整参数(如偏差和权重)来完成的。 对参数进行的这种调整是通过对所有这些参数的成本函数梯度来确定的。

函数 C 在点 x 处的梯度定义为 x 中成本函数 C 中的所有偏导数的向量。

对函数值变化的敏感度是通过函数 C 对自变量 x 变化的导数来衡量的。 这意味着它是指示成本函数 C 移动的位置的导数。

参数 x 的变化由梯度定义。 它显示了最小化 C 所需的参数 x 的变化。链式法则用于计算梯度。 它是允许优化参数的梯度。

这就是反向传播算法在神经网络的改进和训练中的工作原理。 它是机器学习方面的重要组成部分。 作为训练神经网络的重要组成部分,了解反向传播算法至关重要。 如果您想成为机器学习和人工智能方面的专家,那么您可以查看 upGrad 提供的“机器学习和人工智能理学硕士”课程。 任何在职专业人士都有资格参加该课程。 您将通过来自 IIIT 班加罗尔和 LJMU 的专家学院进行培训。 650 多个小时的内容学习将帮助您为未来的人工智能做好准备。 欢迎对课程有任何疑问。

反向传播算法中使用的方法是什么?

反向传播算法中使用的方法是链式法则。

为什么使用反向传播算法?

反向传播算法用于最小化模型的误差。

反向传播算法如何最小化网络的误差?

反向传播算法尝试相应地调整参数,从而使误差最小化。