神经网络的正向传播和反向传播(转)

反向传播:重点掌握链式法则(偏导的求法)

感谢博主,以下计算参考链接:一文弄懂神经网络中的反向传播法——BackPropagation - Charlotte77 - 博客园

****************************************************************************

输入→卷积(激活函数)……→输出

以上图为例,并赋值,分别计算正向传播和反向传播。(图中省略了激活函数sigmoid)。激活函数的公式如下:

sigmod求导过程参考链接:sigmoid函数求导----简单手写推导过程_只布布倩-CSDN博客_sigmoid函数求导

****************************************************************************

一、正向传播

1、输入经过卷积到中间层h1

h1=i1*w1+i2*w2+b1*1=0.05*0.15+0.10*0.20+0.35=0.3775

h2=i1*w3+i2*w4+b1*1=0.05*0.25+0.10*0.30+0.35=0.3925

2、中间层经过激活函数sigmoid

outh1=1/(1+e(-h1))≈0.59327

outh2=1/(1+e(-h2))≈0.59688

3、经过卷积到o1(还未输出,因为还得经过一个激活函数)

o1=outh1*w5+outh2*w6+b2*1=0.59327*0.40+0.59688*0.45+0.60≈1.1059

o2=outh1*w7+outh2*w8+b2*1=0.59327*0.50+0.59688*0.55+0.60≈1.2249

4、从o1经过激活函数到输出层

out01=1/(1+e(-o1))≈0.75137

out02=1/(1+e(-o2))≈0.77293

我们可以发现,输出值[0.75137,0.77293]与实际值[0.01,0.99]相差很远,对误差进行反向传播,更新权重(即w),重新计算输出。

****************************************************************************

二、反向传播

1、以w5为例,即直接与输出层连接的反向传播

W5只与outo1有关:w5→o1→outo1

Etotal=Eo1+Eo2=1/2(target-outo1)^2+1/2(target-outo2)^2

(\partial Etotal)/(\partial w5)=(\partial Etotal/\partial outo1)\cdot (\partial outo1/\partial o1)\cdot (\partial o1/\partial w5)= (target-outo1)*[outo1(1-outo1)]*outh1

计算具体参考链接,可得结果为0.08217

w5+=w5-\eta *(\partial Etotal/\partial w5)

可得w5+、w6+、w7+、w8+

2、以w1为例,中间层的反向传播

w1与outh1有关,但是outh1有两条路径。一条来自于outo1,一条来自于outo2。

\partial Etotal/\partial w1=(\partial Etotal/\partial outh1)*(\partial outh1/\partial h1)*(\partial h1/\partial w1)

\partial Etotal/\partial outh1=(\partial Eo1/\partial outh1)+(\partial Eo2/\partial outh1)

,在这个例子中第一次迭代之后,总误差E(total)由0.298371109下降至0.291027924。迭代10000次后,总误差为0.000035085,输出为[0.015912196,0.984065734](原输入为[0.01,0.99]),证明效果还是不错的。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值