深度学习入门Affine层关于偏置的反向传播

深度学习入门Affine层关于偏置的反向传播_第1张图片
在学习Affine层的时候,逆向传播时db = dy在纵向方向上的和,看到这我就有点懵逼了,想了很久,也算是相通了,但不确定这就是正确方法,仅供参考。

m1.
因为偏导数与其对应的参数形状是一致的,所以dy与y同型。从dy逆向传播到+号,加号在逆向传播中的作用仅仅是将导数原封不动继续往前传递,而b是一个一维数组,所以肯定是将dy横向或纵向相加,再结合广播的原理,可以得出应该是横向相加。(个人感觉方法2更加靠谱点哈哈)

m2.
正向传播时在Y之后即求损失函数L。而L通常需要使用np.sum函数,在此处为方便计算设L = np.sum(Y - t) 。

db是求b对于L的导数,即若b[0] 增加1导致 Y[x][0] 都增加1最后导致np.sum(Y -t)增加了n (n = Y.shape[0]).,
即b某一位的变化都会导致Y某一列的变化, 由此可知,逆向传播求db时需要将dy的纵向相加,以表示b的变化量与Y变化量之间的关系.

你可能感兴趣的:(深度学习)