
Hard Tanh
26번 tanh 의 piecewise-linear 근사 — exp 계산 없이 클리핑만:
hard_tanh(z)=max(−1,min(1,z))=clip(z,−1,1)
왜?
- 훨씬 빠름 — exp 는 CPU에서 비싼 연산. 모바일·엣지 디바이스에서 tanh 대체.
- 미분은 계단식: z∈(−1,1) 에서 1, 경계 밖에서 0 (ReLU 와 비슷한 형태).
- 이분 분류보다 강화학습 actor 네트워크 (tanh 범위 [-1, 1] 이 자연스러운 action space) 에서 자주 쓰임.
과제
함수 hard_tanh(z) 를 완성하세요.
- 스칼라 또는 배열.
np.clip 한 줄이면 끝.
테스트 케이스
| # | 이름 | 입력 | 기대 |
|---|
| 1 | 영역 내부 → 그대로 | 0.3 | 0.3 |
| 2 | 상한 초과 → 1 | 5.0 | 1.0 |
| 3 | 하한 미만 → -1 | -2.5 | -1.0 |
| 4 | 경계 정확히 1 | 1.0 | 1.0 |
| 5 | 경계 정확히 -1 | -1.0 | -1.0 |
| 6 | 벡터 | [-3, -0.5, 0, 0.7, 2] | [-1, -0.5, 0, 0.7, 1] |