
Mish Activation [medium]
v1 SiLU 가 x⋅σ(x) 라면, Mish (Misra 2019) 는 tanh ∘ softplus 를 곱:
Mish(x)=x⋅tanh(softplus(x))=x⋅tanh(ln(1+ex))
왜 또 다른 활성화
- Smooth + non-monotonic: SiLU 와 비슷하지만 약간 더 부드러운 곡선.
- YOLOv4 가 SiLU 대신 Mish 로 교체해 정확도 향상.
- SiLU/GELU/Mish 가 CNN/Transformer 에서 거의 교환 가능 (벤치별로 약간 차이).
수치 안정성
exp(x) 가 큰 양수에서 오버플로 → stable softplus:
softplus(x)=max(x,0)+ln(1+e−∣x∣)
과제
함수 mish(x) 를 완성하세요.
- 입력: shape 임의.
- 반환: 동일 shape.
x=1000 같은 큰 값도 inf/nan 없이 처리.
테스트 케이스
| # | 이름 | 검증 |
|---|
| 1 | shape 보존 | |
| 2 | mish(0) = 0 | |
| 3 | 큰 양수 → ≈ x | mish(20) ≈ 20 |
| 4 | 큰 음수 → 0 근처 | finite, 작음 |
| 5 | 알려진 값 mish(1) ≈ 0.8651 | |
| 6 | SiLU 와 구별 (같지 않지만 근사) | |
| 7 | 수치 안정성 (x=±1000) | inf/nan 없음 |