如何通过事实与价值双链式法则计算损失对各层权重的梯度

学术   2024-11-01 07:13   北京  
双链式法则是神经网络中反向传播的一种扩展,用于处理网络中的多个输出和损失。在此我们通过一个示例来说明如何通过事实与价值双链式法则计算损失对各层权重的梯度。

示例:多输出神经网络


假设我们有一个包含一个输入层、一个隐藏层和两个输出节点的神经网络。

  • 输入层𝑋
  • 隐藏层:权重为 𝑊1,激活函数为 𝑓
  • 输出层:权重为 𝑊2,激活函数为 𝑔
  • 输出节点𝐴21 𝐴22(两个不同的输出)


一、前向传播


  1. 计算隐藏层输出

    𝑍1=𝑊1𝑋

  2. 𝐴1=𝑓(𝑍1)

  3. 计算输出层输出

    𝑍2=𝑊2𝐴1

  4. 𝐴21=𝑔(𝑍21)𝐴22=𝑔(𝑍22)

  5. 计算损失
    设损失函数为:

    𝐿=𝐿1(𝐴21,𝑌1)+𝐿2(𝐴22,𝑌2)

    其中 𝑌1𝑌2是真实标签。


二、反向传播


计算损失对输出层权重的梯度 𝐿/𝑊2

  1. 计算每个输出的误差

    𝛿21=𝐿1/𝐴21𝑔(𝑍21)

  2. 𝛿22=𝐿2/𝐴22𝑔(𝑍22)

  3. 合并误差

    𝛿2=[𝛿21𝛿22]

  4. 计算权重梯度

    𝐿/𝑊2=𝛿2𝐴1𝑇

计算隐藏层权重的梯度 𝐿/𝑊1

  1. 计算隐藏层误差

    𝛿1=(𝑊2𝑇𝛿2)𝑓(𝑍1)

  2. 计算权重梯度

    𝐿𝑊1=𝛿1𝑋𝑇

3. 更新权重

使用计算得到的梯度更新权重:

𝑊2=𝑊2𝜂𝐿/𝑊2

𝑊1=𝑊1𝜂𝐿/𝑊1


通过这个示例,我们展示了如何使用事实与价值双链式法则计算损失对各层权重的梯度。前向传播用于计算每个输出和总体损失,而反向传播则利用链式法则将误差从输出层向后传播,以更新每一层的权重。这样的方法可以处理多输出的情况,使得网络能够同时优化多个目标。


人机与认知实验室
人机交互与认知工程实验室 联系方式:twhlw@163.com
 最新文章