← 문제 목록/Xavier (Glorot) Initialization
문제 해설

Xavier (Glorot) Initialization

신경망 · easy

preview

Xavier (Glorot) Initialization

He init(86) 은 ReLU 용. 그 전에 제안된 Xavier/Glorot (2010) 은 tanh/sigmoid-v1 같은 포화 활성화에 맞춘 초기화:

WijN ⁣(0, 2fan_in+fan_out)W_{ij} \sim \mathcal{N}\!\left(0,\ \frac{2}{\text{fan\_in} + \text{fan\_out}}\right)

즉 표준편차 = 2/(fan_in+fan_out)\sqrt{2 / (\text{fan\_in} + \text{fan\_out})}.

He vs Xavier

std추천 활성
Xavier√(2 / (fan_in + fan_out))tanh, sigmoid-v1
He√(2 / fan_in)ReLU

Xavier 는 forward·backward 둘 다 variance를 유지하려는 타협치. He 는 ReLU가 절반을 죽이므로 forward 쪽만 본 더 큰 값.

과제

함수 xavier_init(fan_in, fan_out, seed) 를 완성하세요.

  • 반환: (fan_in, fan_out) 행렬.
  • rng.normal(0, sqrt(2/(fan_in + fan_out)), ...).

테스트 케이스

#이름검증
1shape
2평균 ≈ 0
3std ≈ √(2/(f_in+f_out))
4시드 재현성
5He 와 값 달라같은 seed 로 비교 시 크기 차이
코드 작성
Loading...
실행 결과

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