人工神经网络—后向传播算法应用中的问题

1. 回顾

在上两讲中,我们讲解了如何利用后向传播算法训练多层神经网络,我们总结出了后向传播算法的基本框架,包含以下步骤:

(1)对神经网络每一层的各个神经元,随机选取相应的 w , b w,b w,b 的值。

(2)前向计算,对于输入的训练数据,计算并保留每一层的输出值,直到计算出最后一层的输出 y y y 为止。

(3)设置目标函数 E E E,例如 : E = 1 2 ∣ ∣ y − Y ∣ ∣ 2 :E=\frac12||y-Y||^2 :E=21yY2,用后向传播算法对每一个 w w w b b b,计算 ∂ E ∂ w \frac{∂E}{∂w} wE ∂ E ∂ b \frac{∂E}{∂b} bE

(4)利用如下迭代公式,更新 w w w b b b的值
   w ( n + 1 ) = w ( n ) − α ∂ E ∂ w ∣ w ( n ) , b ( n ) w^{(n+1)}=w^{(n)}-α{\frac{∂E}{∂w}|}_{w^{(n)},b^{(n)}} w(n+1)=w(n)αwEw(n),b(n)

   b ( n + 1 ) = b ( n ) − α ∂ E ∂ b ∣ w ( n ) , b ( n ) b^{(n+1)}=b^{(n)}-α{\frac{∂E}{∂b}|}_{w^{(n)},b^{(n)}} b(n+1)=b(n)αbEw(n),b(n)
其中 α α α是一个超参数,叫作学习率。

(5)回到(2)不断循环,直到所有 ∣ ∂ E ∂ w ∣ w ( n ) , b ( n ) |\frac{∂E}{∂w}|_{w^{(n)},b^{(n)}} wEw(n),b(n) ∣ ∂ E ∂ b ∣ w ( n ) , b ( n ) |\frac{∂E}{∂b}|_{w^{(n)},b^{(n)}} bEw(n),b(n)很小为止,退出循环。

但是,在实际的应用中,我们却需要对上述基本框架进行一系列的改进,才能保证神经网络训练过程的顺利完成,这一讲将重点讲解三个重要的改进。学习完本讲后,大家可以利用多层神经网络解决实际分类的问题。

2. 对非线性函数的改进

第一个改进是对非线性函数的改进,我们前面提到,如果层与层之间的非线性函数是阶跃函数,即如下所示
φ ( x ) = { 1 , x > 0 0 , x < 0 φ(x)=\begin{cases} 1, & x>0\\ 0, & x<0 \end{cases} φ(x)={ 1,0,x>0x<0
在这里插入图片描述

图1 阶跃函数

如果非线性函数是阶跃函数,那么三层神经网络可以模拟任意的决策函数。我们回顾一下上一讲后向传播算法的递推公式

   δ i ( l ) = ∂ E ∂ z i ( l ) = ∂ E ∂ y i ∂ y i ∂ z i ( l ) = ( y i − Y i ) φ ′ ( z i ( l ) ) δ_i^{(l)}=\frac {∂E}{∂z_i^{(l)}}=\frac {∂E}{∂y_i}\frac {∂y_i}{∂z_i^{(l)}}=(y_i-Y_i)φ'(z_i^{(l)}) δi(l)=zi(l)E=yiE

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值