91 const Tensor& advantages,
float clip_epsilon);
139 Tensor last_action_indices_;
140 bool has_forwarded_ =
false;
Vendor-agnostic compute/memory backend. CPUBackend, CUDABackend (Phase 1.5), and HIPBackend (Phase 1....
Definition device_backend.hpp:219
loss = mean_b( -min( r_b * A_b, clamp(r_b, 1-eps, 1+eps) * A_b ) ), where r_b = pi_new(a_b|s_b) / pi_...
Definition ppo_clipped_loss.hpp:55
PPOClippedLoss(DeviceBackend *backend)
Constructs a PPO clipped-surrogate loss.
float forward(const Tensor &new_logits, const Tensor &actions, const Tensor &old_log_probs, const Tensor &advantages, float clip_epsilon)
Computes the clipped surrogate loss and caches what backward() needs.
Tensor backward() const
Gradient w.r.t. new_logits: -mask[b] * advantages[b,0] * ratio[b] * (1{k == a_b} - p[b,...
N-dimensional tensor. Owns its data buffer exclusively; a DeviceBackend* is injected (not owned) – th...
Definition tensor.hpp:29
Abstract interface isolating vendor-specific memory/compute operations from Tensor/ComputationGraph.
Definition acquisition_functions.hpp:16
N-dimensional tensor – owns a buffer via DeviceBackend*, RAII (Rule of Five).