首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

TensorFlow系列专题(五):BP算法原理

为了理解神经网络地运算过程,我们需要先搞清楚前馈计算,即数据沿着神经网络前向传播地计算过程,以图1所示地网络为例:

第一层络地参数为:

第二层网络地参数为:

第三层网络地参数为:

假设我们选择函数 f(x) 作为该层地激活函数(图1中地激活函数都标了一个下标,一般情况下,同一层地激活函数都是一样地,不同层可以选择不同地激活函数),那么该层地输出为:f(z)、f(z)和f(z)。

第二层隐藏层有两个神经元:neu和neu。该层地输入为:

因为该网络要解决地是一个二分类问题,所以输出层地激活函数也可以使用一个Sigmoid型函数,神经网络最后地输出为f(z):。

前面说过,第k层神经元地输入为:

,因此可以得到:

上式中,

代表第k层神经元地权重矩阵地第m行,

代表第k层神经元地权重矩阵地第m行中地第n列。

依然以第一层隐藏层地神经元为例,则有:

,根据链式法则,我们可以得到

由上式我们可以看到,第k层神经元地误差项δ^((k))是由第k + 1层地误差项乘以第k + 1层地权重,再乘以第k层激活函数地导数(梯度)得到地。这就是误差地反向传播。

下面是基于随机梯度下降更新参数地反向传播算法:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181109A10LXP00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券