07 自動求導(dǎo)【動手學(xué)深度學(xué)習(xí)v2】

- 計(jì)算梯度y.backward(),是對結(jié)果y=f(x),計(jì)算梯度dy/dx,而得到結(jié)果將存儲在x.grad內(nèi)
梯度計(jì)算方法:
?
自動求導(dǎo)實(shí)現(xiàn) P2 - 01:19
?對于 y = 2*torch.dot(x, x),不妨令x∈Rn,則
y = 2 Σ(i:1→n)xi2,那么y對于xi的梯度,很顯然對于各部分求偏導(dǎo),例如dy/dx1 = 2*2x1
那么同樣的道理,
?
自動求導(dǎo)實(shí)現(xiàn) P2 - 02:45
?y = x.sum(),可以等效為y=Σxi,那么自然而然的,dy/dxi = 1.
我是這么理解的。
?
自動求導(dǎo)實(shí)現(xiàn) P2 - 03:40
?y=x*x,這個的結(jié)果并非是和上面的torch.dot一致的,因?yàn)檫@個的結(jié)果是一個向量函數(shù),也即y = [x12,x22, ..., xn2],所以在這沐神說這是無意義的。但是由于下面
y.sum()的存在,導(dǎo)致了y又變成了
y = Σ(i:1→n)xi2,所以也就和梯度1那時候一樣了。
?
自動求導(dǎo)實(shí)現(xiàn) P2 - 04:44
?z=u*x,同理啊,由于u此時全為常數(shù),原式即為y=Σkixi,對應(yīng)的梯度自然為[k1, k2,..., kn],也即u
標(biāo)簽: