什么是反向传播算法?

反向传播定义了整个过程,包括梯度的计算及其在随机梯度下降中的需求。从技术上讲,反向传播用于计算网络关于网络可修改权重的误差梯度。

反向传播的特点是迭代、递归和有效的方法,通过它计算更新的权重以增加网络,直到它无法实现正在训练的服务。反向传播需要在网络设计时知道的激活服务的衍生物。

反向传播广泛用于神经网络训练并计算网络权重的损失函数。它使用多层神经网络服务并发现输入输出映射的内部描述。

它是一种标准的人工网络训练形式,支持计算网络中所有权重的梯度损失函数。反向传播算法用于通过链式法则方法更有效地训练神经网络。

该梯度用于一个简单的随机梯度下降算法,以找到最小化误差的权重。错误从输出节点向后传播到内部节点。

反向传播的训练算法涉及四个阶段,如下所示 -

  • 权重初始化- 分配了一些小的随机值。

  • 前馈- 每个单元 X 接收输入信号并将该信号传输到每个隐藏单元 Z 1、 Z 2、... Z n。每个隐藏单元计算激活函数并将其信号 Z 1发送到每个输出单元。输出单元计算激活函数以形成给定输入模式的响应。

  • 误差的反向传播- 每个输出单元将激活 Y k与目标值 T k进行比较,以确定该单元的相关误差。它基于误差,计算因子$\delta$k (K = 1, ... . m),并用于将输出单元Y k处的误差分配回前一层的所有单元。类似地,为每个隐藏单元 Z j比较因子 $\delta$j (j = 1, ... . p) 。

  • 它可以更新权重和偏差。

反向传播的类型

有两种类型的反向传播如下 -

静态反向传播- 在这种类型的反向传播中,静态输出是由于静态输入的映射而创建的。它用于解决光学字符识别等静态分类问题。

Recurrent Backpropagation - 循环传播是向前或定向的,直到获得特定的确定值或阈值。在特定值之后,错误被评估并向后传播。