Мне не совсем понятно, что вы хотите обновить с помощью w
, но я отвечу на вопрос для theta
, предполагая, что это обозначает параметры для модели актера.
1) Градиенты может быть рассчитан различными способами, но если сосредоточиться на PyTorch, вы можете вызвать .backward()
для f (x) = alpha * delta * log (PI (a | s, theta), который будет df / dx для каждого параметра x, который связан с f (x) через autograd.
2) Вы действительно правы, что веса обновляются с помощью методов оптимизации в Pytorch (в частности, autograd). Однако для выполнения шага оптимизации вы должны вызвать torch.optim.step
с любым оптимизатором, который вы хотели бы использовать для параметров сети (например, весов и смещений).