class_docstr: Value Loss for PPO
code: def forward(
      self,
      values: torch.Tensor,
      old_values: torch.Tensor,
      reward: torch.Tensor,
      action_mask: Optional[torch.Tensor] = None,
  ) -> torch.Tensor:
      values_clipped = old_values + (values - old_values).clamp(
          -self.clip_eps, self.clip_eps
      )
      surr1 = (values_clipped - reward) ** 2
      surr2 = (values - reward) ** 2
      loss = torch.max(surr1, surr2)
      loss = loss.mean()
      return 0.5 * loss
  
imports: from typing import Optional
  import torch
  import torch.nn
  from .utils import masked_mean
label_desc: Use image node_id 2 for calling the ValueLoss obj's underlying member method code with example usage: obj.forward(values, old_values, reward, action_mask) and returns: unknown