为了更好的理解backpropagation,先来了解一下forward propagation的内部
我们在forward propagation中计算Z1(3)的方法与在back propagation的方法类似,不同的是,forward是从左算到右,back是从右计算到左。
Back propagation的内部
上面的那个式子是只有一个output unit时的表达式,如果有多个,如前面提到的,会有个多个的累加。
我们来看一个single example的情况,并且忽略掉regularization.为了便于理解,这时我们的cost function的值可以近似于(hΘ(x(i))-y(i))2,可以看成预测值与真实值y(i)之间的差异,即how well is the network doing on example i?
Back propagation的工作原理
仔细观察δ的计算是不是与forward propagation中的z的计算类似(看上图中计算δ(2)2的例子),只是方向不同。我们先计算δ(4)1,然后再计算δ(3)1,δ(3)2,再计算δ(2)1,δ(2)2.一般情况下,我们不用计算δ0,因为a0=1,不用进行修正(基于具体的算法的实现).
δ的值是cost function对z(中间值)求偏导,然后对Z进行修正,影响最后的output结果