1. 가중치 초기화 필요성

- 위 그림과 같이 가중치를 어떻게 초기화 하냐에 따라 많은 성능 차이가 나므로 가중치 초기화는 중요
- 초기 가중치를 잘못 설정하면 layer(층)이 깊어질수록 문제 발생
- 기울기 소멸: 역전파 과정에서 가중치의 작은 값들이 계속 곱해지면서 입력층으로 갈수록 기울기가 0에 수렴하게 되어 학습이 제대로 안됨
- 기울기 폭발: 역전파 과정에서 가중치의 큰 값들이 계속 곱해지면서 입력층으로 갈수록 기울기가 기하급수적으로 커져 학습이 제대로 안됨
- 따라서 기울기가 0에 수렴하거나 발산하지 않기 위해 가중치의 분산 정도를 적절히 조절하는 것이 필요
2. 사전 기본 개념
(1) 표준편차
- 데이터가 평균으로부터 얼마나 퍼져있는지 나타내는 수치
- 표준편차가 작으면 데이터가 평균 근처에 모여있음
- 표준편차가 크면 데이터가 평균과 멀리 퍼져있음
(2) 68-95-99.7 규칙

=> 68%의 관측값이 평균으로부터 양쪽으로 표준편차가 떨어져 있는 곳 내에 분포
=> 95%의 관측값이 평균으로부터 양쪽으로 2표준편차가 떨어져있는곳 내에 분포
=> 99.7%의 관측값이 평균으로부터 양쪽으로 3표준편차가 떨어져있는곳 내에 분포
- 예시: 평균이 0이고 표준편차가 0.1인 분포는 랜덤하게 숫자를 뽑으면 95% 확률로 -0.2 ~ 0.2 사이의 값이 나옴
(3) 여러 활성화 함수

3. Xavier 초기화
- 각 층의 가중치를 그 층의 입력 노드 수와 출력 노드 수에 기반하여 조절된 분산을 가진 분포에서 무작위로 선택하여 초기화하는 방법
- 주로 tanh(탄젠트) 또는 sigmoid(시그모이드) 같은 선형적 활성화 함수에 적합
- 실제로 탄젠트와 시그모이드 함수는 비선형 함수이지만 초기화 범위가 0 근처이므로 초기화 시점에서는 이 함수들이 선형과 비슷하게 행동한다고 가정함 (0 근처에서는 선형과 비슷하다는 성질 활용)
(1) Xavier Normal(정규분포 초기화)
- 평균이 0이고 표준편차(σ)가 아래와 같은 정규분포를 따름

- 아래 범위 내에서 균일하게 값 추출함

4. He 초기화
- xavier 초기화 한계점
- Xavier 초기화는 활성화 함수가 선형(Linear)이라는 가정하에 유도됨
- 하지만 ReLU 함수는 입력값이 음수일 때 0을 출력하는 비선형성을 가짐
- 이로 인해 ReLU 층을 통과할 때마다 출력값의 분산이 입력값 분산의 약 절반으로 줄어드는 현상이 발생하며, 층이 깊어질수록 활성화 값의 분포가 0으로 수렴함
- He 초기화
- ReLU 함수를 통과하면 음수 영역이 0이 되어 출력의 분산이 입력 분산의 절반(1/2)이 된다는 점에 착안
- 이를 상쇄하기 위해 가중치의 분산을 인위적으로 2배로 설정
- 주로 ReLU 및 그 변형들 (Leaky ReLU 등) 같은 비선형 활성화 함수에 적합
- 출력 노드는 분산 보존에 영향을 주지 않는다고 가정하여 무시하고, 입력 노드 수만을 변수로 사용
(1) He Normal(정규분포 초기화)
- 평균이 0이고 표준편차(σ)가 아래와 같은 정규분포를 따름

- 아래 범위 내에서 균일하게 값 추출함

** 참고