1,为什么反向传播偏执的时候要求和?
反向传播时候我们求X,W的偏导数都与X,W的形状一致。因此,我们很容易得出偏置B的偏导数也应该是一个形状为1*3的行向量。
为什么我们要将向量纵向相加呢?让我们好好思考一下dB的含义:它是表示偏置的返回量。我们在做正向传播的时候,偏置加到的是每一个向量上,也就是说每一幅图片,在其中三个元素表示的位置上,都增加了偏置,所以反向传播的时候,返回的应该是这三个位置的偏执的总和。所以第一个偏置的和为1+4=5,第二个为2+5=7,第三个为3+6=9,因此我们就可以理解了在仿射变化的误差反向传播中,关于偏置的反向传播的计算问题。
作者:fishdreamS
链接:https://www.jianshu.com/p/a32c5f37b41e
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
加入一点个人理解:
第一种理解法:
一方面是因为,b是1*3的 , dy/db ,也应该是1*3的。
另一方面,b在正向传播的时候,每个元素都加了b。(x*w 结果的每一行是一个元素,也就是 b加到了每一行上)
考虑到 偏L比偏b是看: 如果变化了L,需要变化多少b。(例如,x*w有三行。反向看:变化 5 L 需要变化 21b,那么正向看的时候,b只要变化7就好了,以为 7+7+有=21 )
b是加到每一行上了,所以要每一行求和。(如果不求和,只看单行的话,对b是不公平的,b付出了多次努力,却只看一次的努力。)
第二种理解法:
x*w有三行,分别表示苹果,香蕉,橘子。b相当于每种水果要加一个便宜的塑料袋的钱,b就分别加到这三行里了。 再付钱的时候,想这么个问题,我的塑料袋的钱和付的总钱数什么关系呢? 我支付的总价格涨6元,是三个袋子一共涨了6元,每个袋子涨2元就好了。
Y=X*W+b ,Y是因变量,把b看成自变量的话,求导是1, 总价涨6元, 但是每个袋子只涨了2元,所以要加起来。
2-1 ,softmax层的反向传播
有分支的情况下作反向传播,先求分支和,再乘其导数。
为什么 t1+t2+t3 = 1 ?
因为这里假设了 做三分类,前面的a1,a2,a3是一个样本里面对于三类的评分。
一个样本(a1,a2,a3)。
一个标签(t1,t2,t3)。标签只有三种情况,(0,0,1),(0,1,0),(1,0,0)
这三种情况都是t1+t2+t3 = 1。
2-2 softmax中exp节点的反向传播