乘以任何人能向我解釋什麼是從這裏開始的這兩行代碼背後的含義:https://github.com/Newmu/Theano-Tutorials/blob/master/4_modern_net.pyTheano零
acc = theano.shared(p.get_value() * 0.)
acc_new = rho * acc + (1 - rho) * g ** 2
是不是一個錯誤?爲什麼我們實例化acc爲零,然後在下一行乘以rho?看起來它不會達到任何目的,並保持爲零。如果我們用「acc」替換「rho * acc」,會有什麼區別嗎?
全功能在下面給出:
def RMSprop(cost, params, lr=0.001, rho=0.9, epsilon=1e-6):
grads = T.grad(cost=cost, wrt=params)
updates = []
for p, g in zip(params, grads):
acc = theano.shared(p.get_value() * 0.)
acc_new = rho * acc + (1 - rho) * g ** 2
gradient_scaling = T.sqrt(acc_new + epsilon)
g = g/gradient_scaling
updates.append((acc, acc_new))
updates.append((p, p - lr * g))
return updates