什么是反向传播算法?
反向传播定义了整个过程,包括梯度的计算及其在随机梯度下降中的作用。从技术上讲,反向传播用于计算网络误差关于网络可修改权重的梯度。
反向传播的特点是其迭代的、递归的和有效的方法,通过这种方法计算更新后的权重以提高网络性能,直到它无法实现其训练目标的服务。反向传播需要在网络设计时已知的激活函数的导数。
反向传播广泛用于神经网络训练,并计算网络权重的损失函数。它可用于多层神经网络并发现输入-输出映射的内部描述。
它是一种标准的人工网络训练形式,它支持计算网络中所有权重的梯度损失函数。反向传播算法通过链式法则更有效地训练神经网络。
这个梯度用于简单的随机梯度下降算法来寻找最小化误差的权重。误差从输出节点反向传播到内部节点。
反向传播的训练算法包括四个阶段,如下所示:
权重初始化 - 分配一些小的随机值。
前馈 - 每个单元X接收输入信号并将此信号传递到每个隐藏单元Z1、Z2……Zn。每个隐藏单元计算激活函数并将它的信号Zj发送到每个输出单元。输出单元计算激活函数以形成给定输入模式的响应。
误差反向传播 - 每个输出单元将激活Yk与目标值Tk进行比较,以确定该单元的关联误差。基于误差,计算因子$\delta$k(K = 1,……,m),并将其用于将输出单元Yk处的误差反向传播到前一层的所有单元。类似地,比较每个隐藏单元Zj的因子$\delta$j(j = 1,……,p)。
它可以更新权重和偏差。
反向传播的类型
反向传播有两种类型,如下所示:
静态反向传播 - 在这种类型的反向传播中,由于静态输入的映射而创建静态输出。它用于解决静态分类问题,例如光学字符识别。
递归反向传播 - 递归传播向前或向后进行,直到获得特定确定的值或阈值。在获得某个值后,评估误差并将其反向传播。
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP