1

所以我有一個tf.Variable()名爲W這是shape=[1]tf.hessians(f,x):與單獨變量tf.gradients(tf.gradients(f,x),x)的值不同?

我知道tf.hessians(loss, W)不等於tf.gradients(tf.gradients(loss, W), W),儘管它應該是同一件事:二階導數。

這裏是從哪裏獲得的問題,如果我試圖通過雙梯度更換粗麻布代碼中的小要點: https://gist.github.com/guillaume-chevalier/6b01c4e43a123abf8db69fa97532993f 然而,我注意到,如果我使用雙梯度結果不收斂。

回答

-1

雙梯度被稱爲拉普拉斯:Laplace Operator。它將派生w.r.t同樣的x變量兩次。但是,Hessian矩陣將兩個x變量的組合導出爲w.r.t:Hessian Matrix。因此Hessian的軌跡將是拉普拉斯,這是雙梯度。

相關問題