GradReverse

Bases: Function

Gradient Reversal Layer for adversarial training.

Implements a custom autograd function that:

  • Forward: Identity operation
  • Backward: Reverses and scales gradients
backward(ctx, grad_output) staticmethod

Backward pass of gradient reversal.

Parameters:
  • ctx (Context) –

    Context object containing saved alpha.

  • grad_output (Tensor) –

    Gradient from subsequent layer.

Returns:
  • tuple

    Contains: - torch.Tensor: Reversed and scaled gradient - None: For alpha parameter (not needed)

Notes

Implements gradient reversal: grad = -alpha * grad_output

forward(ctx, x, alpha) staticmethod

Forward pass of gradient reversal.

Parameters:
  • ctx (Context) –

    Context object for storing variables for backward.

  • x (Tensor) –

    Input tensor.

  • alpha (float) –

    Gradient scaling factor.

Returns:
  • Tensor

    Input tensor without modification.

Notes

Identity operation in forward pass, stores alpha for backward.