反向传播算法
前向传播
forward propagation
过程: 当前馈神经网络接收输入 并产生输出 时,信息前向流动。输入 提供初始信息,然后信息传播到每一层的隐单元,最终产生输出 。
反向传播算法
back propagation
允许来自代价函数的信息通过网络反向流动以便计算梯度。反向传播并不是用于学习整个神经网络的算法,而是仅用于计算梯度的算法。
神经网络的学习算法是随机梯度下降这类基于梯度的算法。
反向传播不仅仅适用于神经网络,原则上它适用于计算任何函数的导数。
计算图
computational graph
:图中的每个节点代表一个变量(可以是标量、向量、矩阵或者张量)。
操作:operation
为一个或者多个变量的简单函数。- 多个操作组合在一起可以描述一个更复杂的函数。
- 一个操作仅返回单个输出变量(可以是标量、向量、矩阵或者张量)。
- 如果变量 是变量 通过一个操作计算得到,则在图中绘制一条从 到 的有向边。
如: 的计算图: