第五章 误差反向传播法——计算图&链式法则&反向传播&简单层的实现&激活函数层的实现&Affine/Softmax层的实现&误差反向传播法的实现

*数值微分虽然简单,也容易实现,但缺点是计算上比较浪费时间

1.计算图

*正向传播是从计算图出发点到结束点的传播

第五章 误差反向传播法——计算图&链式法则&反向传播&简单层的实现&激活函数层的实现&Affine/Softmax层的实现&误差反向传播法的实现_第1张图片

 *反向传播传递“局部导数”,将导数的值写在箭头的下方

第五章 误差反向传播法——计算图&链式法则&反向传播&简单层的实现&激活函数层的实现&Affine/Softmax层的实现&误差反向传播法的实现_第2张图片

*计算图的优点是,可以通过正向传播和反向传播高效的计算各个变量的导数值

2.链式法则

*链式法则:如果某个函数由复合函数表示,则该复合函数的导数可以用构成复合函数的各个函数的导数的乘积表示

第五章 误差反向传播法——计算图&链式法则&反向传播&简单层的实现&激活函数层的实现&Affine/Softmax层的实现&误差反向传播法的实现_第3张图片

3.反向传播

(1)加法节点的反向传播

   加法节点的反向传播只乘以1

(2)乘法节点的反向传播

   乘法节点的反向传播会将上游的值乘以正向传播时的输入信号的“翻转值”后传递给下游

4.简单层的实现

(1)乘法层的实现

第五章 误差反向传播法——计算图&链式法则&反向传播&简单层的实现&激活函数层的实现&Affine/Softmax层的实现&误差反向传播法的实现_第4张图片

 (2)加法层的实现

第五章 误差反向传播法——计算图&链式法则&反向传播&简单层的实现&激活函数层的实现&Affine/Softmax层的实现&误差反向传播法的实现_第5张图片

5.激活函数层的实现

(1)ReLU层

第五章 误差反向传播法——计算图&链式法则&反向传播&简单层的实现&激活函数层的实现&Affine/Softmax层的实现&误差反向传播法的实现_第6张图片

如果正向传播时的输入x大于0,则反向传播会将上游的值原封不动地传给下游,如果正向传播时的x小于等于0,则反向传播中传给下游的信号将停在此处

第五章 误差反向传播法——计算图&链式法则&反向传播&简单层的实现&激活函数层的实现&Affine/Softmax层的实现&误差反向传播法的实现_第7张图片

第五章 误差反向传播法——计算图&链式法则&反向传播&简单层的实现&激活函数层的实现&Affine/Softmax层的实现&误差反向传播法的实现_第8张图片

(2)Sigmoid层

第五章 误差反向传播法——计算图&链式法则&反向传播&简单层的实现&激活函数层的实现&Affine/Softmax层的实现&误差反向传播法的实现_第9张图片

第五章 误差反向传播法——计算图&链式法则&反向传播&简单层的实现&激活函数层的实现&Affine/Softmax层的实现&误差反向传播法的实现_第10张图片

6.Affine/Softmax层的实现

*神经网络的正向传播中进行的矩阵的乘积运算在几何学领域被称为“仿射变换”,将仿射变换的处理实现为“Affine层”

第五章 误差反向传播法——计算图&链式法则&反向传播&简单层的实现&激活函数层的实现&Affine/Softmax层的实现&误差反向传播法的实现_第11张图片

*以矩阵为对象的反向传播,按矩阵的各个元素进行计算时,步骤和以标量为对象的计算图相同

*批版的Affine层

第五章 误差反向传播法——计算图&链式法则&反向传播&简单层的实现&激活函数层的实现&Affine/Softmax层的实现&误差反向传播法的实现_第12张图片

 与前面不同的是现在输入的X的形状是(N,2)

第五章 误差反向传播法——计算图&链式法则&反向传播&简单层的实现&激活函数层的实现&Affine/Softmax层的实现&误差反向传播法的实现_第13张图片

*Softmax-with-Loss层(包含作为损失函数的交叉熵误差的Softmax层)

  神经网络中进行的处理有推理和学习两个阶段,神经网络的学习阶段需要Softmax层。

第五章 误差反向传播法——计算图&链式法则&反向传播&简单层的实现&激活函数层的实现&Affine/Softmax层的实现&误差反向传播法的实现_第14张图片

 第五章 误差反向传播法——计算图&链式法则&反向传播&简单层的实现&激活函数层的实现&Affine/Softmax层的实现&误差反向传播法的实现_第15张图片

第五章 误差反向传播法——计算图&链式法则&反向传播&简单层的实现&激活函数层的实现&Affine/Softmax层的实现&误差反向传播法的实现_第16张图片

 第五章 误差反向传播法——计算图&链式法则&反向传播&简单层的实现&激活函数层的实现&Affine/Softmax层的实现&误差反向传播法的实现_第17张图片

 神经网络学习的目的就是通过调整权重参数,使神经网络的输出接近监督标签,因此,必须将神经网络的输出与监督标签的误差高效地传递给前面的层,(y1-t1,y2-t2,y3-t3) 正是Softmax层的输出与监督标签的差,直截了当地表示了当前神经网络的输出与监督标签的误差

第五章 误差反向传播法——计算图&链式法则&反向传播&简单层的实现&激活函数层的实现&Affine/Softmax层的实现&误差反向传播法的实现_第18张图片

 

7.误差反向传播法的实现

你可能感兴趣的:(深度学习入门(已完结),算法,深度学习,人工智能)