torch.nn.utils.clip_grad_value_ — 값 기준 클리핑

torch.nn.utils.clip_grad_value_ — 값 기준 클리핑

clip_grad_value_는 노름 기준이 아니라 개별 그래디언트 값clip_value 범위([-clip_value, clip_value]) 안으로 잘라내요. 각 원소의 절댓값을 상한으로 제한하는 단순한 방식이에요.

clip_grad_norm_과의 차이

  • clip_grad_norm_: 전체 분포의 노름을 스케일링 → 방향 보존.
  • clip_grad_value_: 각 값을 하드 클램프 → 일부 그래디언트가 잘리더라도 다른 값은 그대로.
nn.utils.clip_grad_value_(model.parameters(), clip_value=0.5)

언제 쓰나

  • 아웃라이어 하나가 전체 갱신을 망칠 때 값 단위로 안전망을 걸고 싶을 때 유용해요.
  • 노름 클리핑보다 '부드럽게' 동작하지만, 노름 기반이 보편적으로 더 많이 쓰여요.

더 알아보기