BackPropagation

动作定型之反向传播BP

通过查阅各种资料已对反向传播有一定的理解,以下为个人巩固,仅供他人参考。

  1. 概述:
    深度学习神经网络进行调参的重要步骤,降低函数损失,使实际输出越来越接近理想输出。

  2. 应用原理:
    链式法则(简单来讲就是求偏导数)

  3. 工作原理:
    #为了描述方便,本文只对W5进行反向传播的权值更新。

    Step1 : 首先进行前向传播(Forward Propagation)
    图1
    上图为简单的伸进网络,输入层两个参数I1和I2, 中间隐藏层两个神经单元h1,h2, 输出层两个参数O1,O2,W1-W8为权重参数。

    I1,I2假设为0.1,0.2
    W1-W8初始值设为0.2,0.2,0.1,0.1,0.1,0.2,0.1,0.2(为了便于计算,正常权重值直接random随机初始化)
    O1,O2假设我的理想值(也就是目标值、真实值)为target(O1) = 0.4,target(O2) = 0.8
    假设所有激活函数均为sigmoid。

    进行前向传播:

    获得h1处神经元的输入值Inp(h1) = W1 × I1 + W2 × I2 =
    获得h2处神经元的输入值Inp(h2) = W3 × I1 + W4 × I2 =

    获得h1处神经元的输出值Out(h1) = sigmoid(Inp(h1))=
    获得h1处神经元的输出值Out(h2) = sigmoid(Inp(h2))=

    获得O1处神经元的输入值Inp(O1) = W5 × Out(h1) + W6 × Out(h2) = 参考公式1
    获得O2处神经元的输入值Inp(O1) = W7 × Out(h1) + W8 × Out(h2) =

    获得O1处神经元的输出值Out(O1) = sigmoid(Inp(O1))= 参考公式2
    获得O2处神经元的输出值Out(O2) = sigmoid(Inp(O2))=

    根据实际求得Out(O1)及Out(O2) 可计算损失函数 L = 1/2 ×(target(O1) - Out(O1))² + 1/2 ×(target(O2) - Out(O2))² = 参考公式3

    Step2 : 进行反向传播(Forward Propagation)
    进行反向传播的目的在于更新W5的值,使O1更新后更接近目标值0.4。
    如何更新呢? 就是通过损失值L对W求导(参考图两个公式)。
    #其中α为学习效率,一般设置0-1之间,此处设α = 0.1
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

将上图公式中三个导数进行求导后进行相乘即可求出损失值L对权重W5的偏导数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值