卷积神经网络的反向传播算法(笔记)

学习了这篇博客

目录

  • 全连接神将网络的反响传播算法
    • 前向传播
    • 反向传播

全连接神经网络的反向传播算法

前向传播

参考连接

反向传播算法的一般流程
列举论文中的公式,并与上图所示流程一一对应:

代价函数:

EN=12n=1Nk=1c(tnkynk)2

为简化分析,只考虑第n个样本对应的代价函数:

En=12k=1c(tnkynk)2

公式中符号的意义:

N: 代表训练样本的个数
c: 代表训练样本所对应的类标签的个数
E: 代表代价函数
tnk: 代表第n个样本对应的类标签的第k维
ynk: 代表第n个样本对应的类标签的第k维的预测值

l层的输出计算公式:

xl=f(ul),ul=Wlx+bl

计算到最后一层L层时,也就计算出了神经网络的输出y,至此,前向传播完成。

反向传播

首先计算代价函数关于偏移量的导数:

Eb=Euub=δ

这里的b表示偏移量,u是:

u=Wx+b

文中提到了一个灵敏度的问题,引用zouxy09的解释:

灵敏度的意思就是我们的基b变化多少,误差会变化多少,也就是误差对基的变化率,也就是导数了

根据u的表达式,可以计算出 Eb=1 ,所以有 Eb=Eu=δ 也就是说bias基的灵敏度 Eb=δ 和误差 E 对一个节点全部输入u的导数 Eu 是相等的。神奇吧,所以说求解误差函数 E 对于u的偏导数,只需要计算出 δ 即可。这也就是所谓的 δ 更新法则。
由于是反向传播算法,所以我们先计算输出神经元对应的 δL

δL=f(uL)(yntn)

再往回计算时(反向),每一层神经元对应的 δl 为:

δl=(Wl+1)Tδl+1f(ul)

最后由计算出的 δl 来计算误差函数对于该层权值矩阵的每一个权值的导数。

EWl=xl1(δl)T

给一个更新率 η ,计算出权值矩阵的更新值:

ΔWl=ηEWl

使用该值对权值矩阵进行更新。

(Wl)=W+ΔWl

至此,一轮的反向传播结束。在计算的过程中会发现,图示中的计算步骤与文字说明的计算过程稍有不同。在计算 δ 时,图片中的描述未涉及到 f(ul) ,实际上,它在最后的计算中是加了进去的,两者的计算结果是一样的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值