1. 正向传播
对于成本函数J(a,b,c) = 3(a + bc),设u=bc,v = a+ bc 故:
u = bc
v = a+ u
J = 3v
设a=5,b=3,c=2,则有以下计算图:
2. 反向传播
2.1. 链式法则:
一个变量a的改变影响其他变量v从而导致函数j值的改变,此时dj/da = dj/dv * dv/da = 3。(参照上图,dj/dv是函数J对v的导数,其他的也是同样的表示方法)
当要计算某个节点的导数时,有个简便的方法:
dj/du = dj/dv * dv/du
dj/da = dj/du * du/da
dj/db = dj/du * du/db
dj/dc = dj/du * du/db
2.2. 反向传播:
实际上就是计算函数对各个参数的导数,从后往前计算函数对每个参数的导数即可。参见2.1链式法则。