배경: 우리는 왜 weight 초기화를 고민할까?
딥러닝에서 학습은 다음과 같은 계산을 반복합니다:
혹은 벡터 형태로:
- 여기서 x는 입력값
- w는 학습해야 하는 가중치
- y는 각 layer에서 나오는 출력값
목표: 학습 초기에 출력 y가 너무 크지도, 너무 작지도 않게 만들기
왜냐하면:
- 너무 크면 → activation 함수가 saturation zone으로 진입 → gradient 사라짐 (학습 안 됨)
- 너무 작으면 → 정보가 소멸됨 → gradient도 작아짐 → 역시 학습 잘 안 됨
→ 그래서 출력의 분산이 너무 커지거나 작아지는 걸 막아야 함
“입력과 출력의 분산이 비슷했으면 좋겠다”의 의미
이건 아래처럼 생각하면 돼요:
"입력값 x가 다양한 값을 가지고 있다면,
출력값 y도 그 다양성을 어느 정도 반영해야
다음 layer에서 정보가 전달된다!"
즉,
- Var(y)≈Var(x)
이 되도록 weight를 설정하면, 정보가 잘 흘러간다는 의미예요.
직관적 비유
⚖️ "모래 1kg을 10개의 그릇에 나눌 때는 1개당 100g씩 넣고,
100개의 그릇에 나눌 땐 10g씩 넣어야 공평하죠?"
- 마찬가지로, 뉴런이 100개면 각각의 weight가 작은 영향을 줘야 함
- 그래야 전체 합 y=wT x가 과도하게 커지지 않음
그런데 왜 weight w 분산을 1/n으로 설정할까?
확률적 관점에서 다음처럼 유도돼요:
4. 이게 Var(x)랑 같았으면 좋겠으면?
초기화 방식 | 추천 상황 | 분산 설정 |
Xavier (Glorot) | sigmoid, tanh | 1/n 또는 2/(n_in + n_out) |
He | ReLU, LeakyReLU | 2/(n_in) |
layer마다 뉴런 수가 다르면, 매 layer마다 바로 전 layer의 뉴런 수에 맞춰 weight의 분산을 다르게 설정
딥러닝에서는 각 layer가 독립적으로 weight를 초기화하고,
이때 자기 직전 layer의 뉴런 수(= 입력 차원 수)에 따라 분산을 조절합니다.
예시 구조 :
Input (size=784)
↓
Hidden Layer 1 (size=512)
↓
Hidden Layer 2 (size=128)
↓
Output (size=10)
각 layer별 weight 초기화 시 Var(w)설정
Layer | weight shape | n_in | Xavier 초기화 시 Var(w) |
Input → H1 | (512, 784) | 784 | 1/784 |
H1 → H2 | (128, 512) | 512 | 1/512 |
H2 → Output | (10, 128) | 128 | 1/128 |
✔️ 각 layer는 자기 직전 layer로부터 입력을 받기 때문에,
입력 차원이 클수록 weight의 영향력을 줄여야
출력값의 분산이 과도하게 커지거나 작아지는 걸 막을 수 있어요.
즉,
"정보의 흐름을 균형 있게 유지하려면, 각 layer는 자기 입력에 맞게 weight를 조절해서 분산을 통제해야 한다"
+ Binary classification은 어차피 y가 0 또는 1인데? 분산 비교가 왜 필요해?
네, 출력값 y 자체는 sigmoid나 softmax를 거치면 확률이 되고 → 0 또는 1에 가까운 값으로 바뀌죠.
하지만 지금 얘기하는 y는 그 전 단계, 즉:
→ activation 함수에 들어가기 전 단계의 선형 조합 결과를 말합니다.
이 zz가 너무 크거나 작으면 → sigmoid/tanh가 saturation 영역으로 들어가 gradient가 죽어버립니다.
'AI 및 Data Analysis > Deep Learning' 카테고리의 다른 글
[Asymmetric Attributes] Concepts (0) | 2025.04.18 |
---|---|
[Law of Large Numbers] Key Concepts (0) | 2025.04.17 |
[Tuning Hyperparameters] Concept (0) | 2025.04.16 |
[StratifiedKFold] Key Concepts and Descriptions (0) | 2025.03.27 |
[Optuna] Key Concepts and Descriptions (0) | 2025.03.27 |