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


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

    1.计算图

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

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

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

    2.链式法则

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

    3.反向传播

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

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

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

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

    4.简单层的实现

    (1)乘法层的实现

     (2)加法层的实现

    5.激活函数层的实现

    (1)ReLU层

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

    (2)Sigmoid层

    6.Affine/Softmax层的实现

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

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

    *批版的Affine层

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

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

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

     

     

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

     

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

  • 相关阅读:
    java基于Springboot+vue的农产品销售商城网站 elementui
    第51节:cesium 范围查询(含源码+视频)
    几行cmd命令,轻松将java文件打包成jar文件
    rsync+inotify远程同步
    Kyligence 入选 Gartner® 2023 客户之声报告,高分获评“卓越表现者”
    UE XML解析
    前后端接口设计与配置中心系统<二十九>-------HiAbility SDK开发2【 APP分享功能设计与实现】
    Golang教程与Gin教程合集,入门到实战
    input输入系统
    YB4156 可工作在4.5-24V供电范围的高输入电压
  • 原文地址:https://blog.csdn.net/weixin_47687315/article/details/126878002