反向传播是什么?
2020年01月27日 由 TGS 发表
300031
0
深度学习系统能够学习极其复杂的模式,它们通过调整权重来实现这一点。深度神经网络则通过反向传播的过程进行调整,如果没有反向传播,深度神经网络就无法执行识别图像和解释自然语言等任务。
深度神经网络的权值是神经网络单元之间的连接强度。当数据通过神经网络时,计算权值并进行假设,到达网络的最后一层时,就可以预测这些特性与数据集中的类之间的关系。预测值与实际值的差值为损耗/误差,反向传播的目的是减少损耗。这是通过调整网络的权重来实现的,使假设更接近于输入特性之间的真实关系。
在神经网络上进行反向传播之前,必须对神经网络进行常规前向训练。当创建一个神经网络时,初始化一组权值。权值将随着网络的训练而改变。神经网络的前向训练过程可以分为三个步骤:神经元激活、神经元传递和前向传播。
在训练深度神经网络时,需要利用多个数学函数。深度神经网络中的神经元由输入数据和激活函数组成,激活函数决定激活节点所需的值。神经元的激活值是由几个分量计算出来的,这些分量是输入的加权和,权重和输入值取决于用于计算激活节点的索引。反向传播过程决定了模型训练过程的最终决策,进而决定这些决策中的错误,通过对比网络的输出/决策和网络的预期/期望输出来计算误差。
一旦计算出网络决策中的错误,信息就会通过网络反向传播,网络的参数也随之改变。用于更新网络权值的方法是基于微积分的,特别是基于链式规则的。然而,理解微积分并不是理解反向传播的必要条件。只需知道,当一个神经元提供一个输出值时,输出值的斜率是通过传递函数计算出来的,从而产生一个导出的输出。
当操作输出层的神经元时,类值被用作期望值。计算出网络误差后,必须更新网络中的权重。“梯度下降”是更新权重以降低错误率的过程。利用反向传播方法预测神经网络参数与误差率之间的关系,建立梯度下降网络。训练一个具有梯度下降的网络,需要通过前向传播计算权值,反向传播误差,然后更新网络权值。