반응형
initializer
딥러닝 가중치의 값을 전부 0으로 초기화하면
- 오차역전파법에서 모든 가중치는 동일한 정도로 갱신되므로, 학습이 올바르게 이루어지지 않는다.
- 한 layer의 모든 가중치가 똑같은 값을 가지게 되어, 여러 가중치를 둔 의미가 없게 된다.
- 가중치를 전부 균일한 값 대신 무작위로 설정해야 한다.
은닉층의 활성화값 분포 분석
- 은닉층의 활성화값은 적당하게 균일하게 분포해야 학습이 잘 된다.
- 활성화값이 한쪽으로 치우쳤을 때 기울기 소실이 발생한다.
- 기울기 소실(Gradient Vanishing): 각 층의 활성화값이 한쪽으로 치우치게 되면 역전파의 기울기값이 점점 작아지다가 사라지게 된다.
- 활성화값이 가운데로 모이게 되면 표현력을 제한하는 문제가 생긴다.
- 기울기 소실은 발생하지 않는다.
- 각 가중치의 값이 다 비슷비슷하기 때문에 가중치 여러개를 써도 하나로 쓴 것과 별반 차이가 없게 된다.
권장하는 가중치 초기화 방법
- Xavier 초기값
- 앞 계층의 노드가 n개라면 표준편차가
1/root(n)
인 정규분포에 따라 랜덤으로 초기화한다. - 각 층의 활성화값 분포 또한 표준편차와 비슷한 분포를 보이게 된다.
- 활성화 함수가 선형인 것을 전제로 만들어졌다. 따라서 sigmoid, tanh 활성화 함수 등 중앙 부분이 선형에 가까운 활성화 함수 사용에 적합하다.
- 앞 계층의 노드가 n개라면 표준편차가
- He 초기값
- 앞 계층의 노드가 n개라면 표준편차가
2/root(n)
인 정규분포에 따라 랜덤으로 초기화한다. - Relu 활성화 함수 사용시 사용한다.
- 앞 계층의 노드가 n개라면 표준편차가
Reference
- 밑바닥부터 시작하는 딥러닝 6장
반응형
'Learning > Optimizer' 카테고리의 다른 글
Optimizer (0) | 2020.04.12 |
---|---|
Loss Function (0) | 2020.04.12 |