cnn 反向传播推导_4.1.2 CNN反向传播

## 反向传播方向更新w和b的值:

反向传播的目的:求损失函数w和b的偏导数,其实也就是求损失函数在w和b方向上的梯度分量,然后用在梯度方向上更新w和b最后是损失函数降到最小。是不是很绕口,你也可以这样理解其实反向传播就是去更新参数的一种方法。二话不说先上例子一看就明白:

> 此例子出自:https://zhuanlan.zhihu.com/p/23270674

> 注意:每一个小圆圈相当于上面图像中的一个灰度值

来简单告诉读者推导过程吧(其实就是链式)!

![](https://box.kancloud.cn/f18fe4a2a283eaa202cc7ded73135f90_323x254.png)

先初始化权重和偏置量,得到如下效果:

![](https://box.kancloud.cn/95e2376d0ed1fe0f494ca05501679f8f_339x253.png)

**因为计算向后传播必须现有向前传播所以我们先来计算向前传播:**

1. 先计算h1 的输入:**net_h1 =w1 \* i1 + w2 \* i2 +b1 * 1**,代入数据可得:net_h1 =0.15\*0.05 +0.2\* 0.1+0.35\* 1=0.3775;

2. 然后利用logistic函数计算得h1 的输出:out_h1=1 / {1+e^-net_h1 } =1/{1+e^-0.3775 }=0.593269992;

3. 用同样的方法得out_h2=0.596884378;

4. 对输出层神经元重复这个过程,使用隐藏层神经元的输出作为输入。这样就能给出o_{1} 的输出:

![](https://box.kancloud.cn/d489c9ee07b9fe972699bf0f8e826c4d_753x246.png)

5. 开始统计所有的误差:

![](https://box.kancloud.cn/109481c1ab6620c8ee57c98d16dfce04_641x315.png)

**计算反向传播**:

1. 输出层 对于w5,想知道其改变对总误差有多少影响,于是得:dEtotal / dw5![](https://box.kancloud.cn/9795f7b91282c25bef27d1756daf22a3_714x458.png)![](https://box.kancloud.cn/aef1b7511f0c18dcaea15bac46c62ac0_733x698.png)![](https://box.kancloud.cn/0b2eba3b231bb887f7c7af2bded98da9_885x419.png)

2. 隐藏层![](https://box.kancloud.cn/e87883cd87adea8480124cc661c3ed4a_835x771.png)![](https://box.kancloud.cn/06b337732a4129ff40a87e158f6bf2f9_868x744.png)![](https://box.kancloud.cn/d90a7242e3cb7bf6ad77c6742dd0a90b_859x770.png)![](https://box.kancloud.cn/6d85d32c3d96841699ad8f3b03165d37_910x585.png)

**最后,更新了所有的权重! 当最初前馈传播时输入为0.05和0.1,网络上的误差是0.298371109。 在第一轮反向传播之后,总误差现在下降到0.291027924。 它可能看起来不太多,但是在重复此过程10,000次之后。例如,错误倾斜到0.000035085。

在这一点上,当前馈输入为0.05和0.1时,两个输出神经元产生0.015912196(相对于目标为0.01)和0.984065734(相对于目标为0.99)。很接近了O(∩_∩)O~~**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值