가중치 초기화 방법 - leemik3/tensorflow-2.0 GitHub Wiki

Conv2D(~, kernel_initializer = ~)

1. 확률 분포 기반의 가중치 초기화

특정한 확률 분포에 기반하여 랜덤한 값을 추출하여 가중치를 초기화

  • 균일 분포
  • 정규 분포

2. 분산 조정 기반의 초기화

확률 분포를 기반으로 추출한 값으로 가중치를 초기화하되, 이 확률 분포의 분산을 가중치별로 동적으로 조절한다.
분산을 조절할 때는 해당 가중치에 입력으로 들어오는 텐서의 차원 (fan in)과 결괏값으로 출력하는 텐서의 차원(fan out)이 사용된다.

  • LeCun 초기화 방식 : 입력 값의 크기가 커질 수록 초기화 값의 분산을 작게 만든다.
    • lecun_uniform
    • lecun_normal
  • Xavier 초기화 방식 : fan in과 fan out을 모두 고려하여 확률 분포 계산
    • glorot_uniform
    • glorot_normal
  • He 초기화 방식 : Xavier의 한계를 극복하려고 제안된 기법. fan out 보다 fan in 에 집중한 가중치
    • he_unifrom
    • he_normal