解读反向传播算法(BackPropagation)

冒泡~周末愉快鸭!

反向传播算法(BackPropagation)

概念

1.什么是BP 算法?
BP算法全称叫作误差反向传播(error Back Propagation,或者也叫作误差逆传播)算法。BP神经网络是由一个输入层、一个输出层和一个或多个隐层构成的,它的激活函数采用sigmoid函数。在这其中,输入信号经输入层输入,通过隐层计算由输出层输出,输出值与标记值比较,若有误差,将误差反向由输出层向输入层传播,在这个过程中,利用梯度下降算法对神经元权值进行调整。
2.为什么要使用BP算法?直接使用梯度下降不行吗?
不行的,纵然梯度下降神通广大,却不是万能的。梯度下降可以应对带有明确求导函数的情况,或者说可以应对那些可以求出误差的情况,比如逻辑回归,我们可以把它看做没有隐层的网络;但对于多隐层的神经网络,输出层可以直接求出误差来更新参数,但其中隐层的误差是不存在的,因此不能对它直接应用梯度下降,而是先将误差反向传播至隐层,然后再应用梯度下降,其中将误差从末层往前传递的过程需要链式法则(Chain Rule)的帮助,因此反向传播算法可以说是梯度下降在链式法则中的应用

举个例子:
如下图所示,这是带有一个隐层的三层神经网络
-小女孩→隐藏层节点
-小黄帽→输出层节点
-哆啦A梦→误差
小女孩左侧接受输入信号,经过隐层节点产生输出结果,哆啦A梦则指导参数往更优的方向调整。由于哆啦A梦可以直接将误差反馈给小黄帽,所以与小黄帽直接相连的左侧参数矩阵可以直接通过误差进行参数优化(实纵线);而与小女孩直接相连的左侧参数矩阵由于不能得到哆啦A梦的直接反馈而不能直接被优化(虚棕线)。但由于反向传播算法使得哆啦A梦的反馈可以被传递到小女孩那进而产生间接误差,所以与小女孩直接相连的左侧权重矩阵可以通过间接误差得到权重更新,迭代几轮,误差会降低到最小。(也就是说小男孩得到的是直接误差,小女孩是间接误差

参考于(https://www.jianshu.com/p/964345dddb70)

具体过程

接下来将用例子演示整个过程
假设有下图这样一个带权值的网络层,第一层是输入层,包含两个神经元i1,i2,和截距项b1;第二层是隐含层,包含两个神经元h1,h2和截距项b2,第三层是输出o1,o2,每条线上标的wi是层与层之间连接的权重,激活函数我们默认为sigmoid函数。


输入数据 i1=0.05,i2=0.10;
输出数据 o1=0.01,o2=0.99;
初始权重 w1=0.15,w2=0.20,w3=0.25,w4=0.30;w5=0.40,w6=0.45,w7=0.50,w8=0.55
目标:给出输入数据i1,i2(0.05和0.10),使输出尽可能与原始输出o1,o2(0.01和0.99)接近。

步骤一:前向传播

通过前向传播我们得到输出值为[0.75136079 , 0.772928465],与实际值[0.01 , 0.99]相差还很远,接下来我们对误差进行反向传播,更新权值,重新计算输出。

步骤二:反向传播


进行完这一小步之后,需要先引入一个概念:链式法则
继续求解:
分别计算:
然后三者相乘,这样我们就计算出整体误差E(total)对w5的偏导值为0.082167041

补充:

3.输入层---->隐含层的权值更新:
在上文计算总误差对w5的偏导时,是从out(o1)---->net(o1)---->w5,但是在隐含层之间的权值更新时,是out(h1)---->net(h1)---->w1,而out(h1)会接受E(o1)和E(o2)两个地方传来的误差,所以这个地方两个都要计算。


进入计算:
这样误差反向传播法就完成了,最后我们再把更新的权值重新计算,不停地迭代,在这个例子中第一次迭代之后,总误差E(total)由0.298371109下降至0.291027924。迭代10000次后,总误差为0.000035085,输出为[0.015912196,0.984065734],原输入为[0.01,0.99],可以证明效果还是不错的。
此过程具体参考感谢(https://www.cnblogs.com/charlotte77/p/5629865.html


总结

根据BP算法的过程演示,可以得到BP算法的一般过程:
1. 正向传播FP(求损失)
此过程中,我们根据输入的样本、给定的初始化权重值W和偏置项的值b, 计算最终输出值以及输出值与实际值之间的损失值。(注意:如果损失值不在给定的范围内则进行接下来反向传播的过程, 否则停止W,b的更新。
2.反向传播BP(回传误差)
将输出以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。(主要为: ①隐层到输出层的参数W的更新 ②从输入层到隐层的参数W的更新。

Ending~理解计算和公式还是很重要的鸭!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,458评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,454评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,171评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,062评论 0 207
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,440评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,661评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,906评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,609评论 0 200
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,379评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,600评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,085评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,409评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,072评论 3 237
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,088评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,860评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,704评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,608评论 2 270

推荐阅读更多精彩内容

  • 写作这回事很有趣,就像自己跟自己在谈一场恋爱,注定要以悲剧收尾
    陆嘉依阅读 297评论 3 8
  • 旅游很容易遭遇降头 降头:飞头降 下降地点:马来西亚 下降过程: 今年的十一黄金周长假,我跟朋友去马来西...
    盛哥阅读 747评论 0 0
  • 今天早上在妇幼抽了两罐血,本以为自己已经很早了,然而还是要等到下午才出结果,以前在手机上就可以看结果,一直提心吊胆...
    5b5a7ff39e36阅读 134评论 0 0
  • 第29篇 《你在的城市下雪了吗》 寒风把艳阳藏了起来 绿草和花朵在抖动着身体 漫天飞来飞去的雪花 其实那不是雪花 ...
    好郝说话阅读 294评论 0 2