← 문제 목록/엔트리별 Clipping (clip_by_value)
문제 해설

엔트리별 Clipping (clip_by_value)

최적화 · easy

preview

엔트리별 Clipping (clip_by_value)

68번 Norm Clipping전체 벡터 방향을 보존 하며 크기만 줄임. 반면 clip_by_value각 원소를 독립적으로 잘라냅니다:

clip(xi)=max(min(xi,vmax),vmin)\text{clip}(x_i) = \max(\min(x_i, v_{\max}), v_{\min})

즉 범위 [vmin,vmax][v_{\min}, v_{\max}] 바깥 값을 경계로 이동. 방향은 바뀔 수 있음.

어디에 쓰이나

  • PPO (Proximal Policy Optimization): probability ratio 를 [1ϵ,1+ϵ][1-\epsilon, 1+\epsilon] 로 clip.
  • DQN reward clipping: Atari 등에서 reward 를 [1,+1][-1, +1] 로 clip → 학습 안정화.
  • 양자화 (Quantization): activation 범위 고정.
  • 수치 안정성: 로그 계산 전 softmax-v1 출력을 [ϵ,1ϵ][\epsilon, 1-\epsilon] 로 clip.

Norm clip vs Value clip

방식방향비용
Norm보존모든 축이 같은 비율로 축소
Value변경 가능원소별 독립

과제

함수 clip_by_value(x, v_min, v_max) 를 완성하세요.

  • 배열 x, 스칼라 v_min <= v_max.
  • 반환: 같은 shape, 각 원소를 [vmin,vmax][v_{\min}, v_{\max}] 로 clip.
  • np.clip(x, v_min, v_max) 한 줄.

테스트 케이스

#이름검증
1범위 안 → 그대로[0.3, 0.5] with [0, 1]
2양쪽 경계 초과[-2, 0, 3] with [-1, 1]
3단방향 clip[5, 10], [-∞, 7]
4shape 유지(3, 4)
5방향 변화 예시norm clip 과 다른 결과
코드 작성
Loading...
실행 결과

코드를 작성하고 Run 을 눌러보세요.