*数值微分虽然简单,也容易实现,但缺点是计算上比较浪费时间
*正向传播是从计算图出发点到结束点的传播
*反向传播传递“局部导数”,将导数的值写在箭头的下方
*计算图的优点是,可以通过正向传播和反向传播高效的计算各个变量的导数值
*链式法则:如果某个函数由复合函数表示,则该复合函数的导数可以用构成复合函数的各个函数的导数的乘积表示
(1)加法节点的反向传播
加法节点的反向传播只乘以1
(2)乘法节点的反向传播
乘法节点的反向传播会将上游的值乘以正向传播时的输入信号的“翻转值”后传递给下游
(1)乘法层的实现
(2)加法层的实现
(1)ReLU层
如果正向传播时的输入x大于0,则反向传播会将上游的值原封不动地传给下游,如果正向传播时的x小于等于0,则反向传播中传给下游的信号将停在此处
(2)Sigmoid层
*神经网络的正向传播中进行的矩阵的乘积运算在几何学领域被称为“仿射变换”,将仿射变换的处理实现为“Affine层”
*以矩阵为对象的反向传播,按矩阵的各个元素进行计算时,步骤和以标量为对象的计算图相同
*批版的Affine层
与前面不同的是现在输入的X的形状是(N,2)
*Softmax-with-Loss层(包含作为损失函数的交叉熵误差的Softmax层)
神经网络中进行的处理有推理和学习两个阶段,神经网络的学习阶段需要Softmax层。
神经网络学习的目的就是通过调整权重参数,使神经网络的输出接近监督标签,因此,必须将神经网络的输出与监督标签的误差高效地传递给前面的层,(y1-t1,y2-t2,y3-t3) 正是Softmax层的输出与监督标签的差,直截了当地表示了当前神经网络的输出与监督标签的误差
略