2017/09/27 - 문과생도 이해하는 딥러닝 (1) - 퍼셉트론 Perceptron
2017/10/18 - 문과생도 이해하는 딥러닝 (2) - 신경망 Neural Network
2017/10/25 - 문과생도 이해하는 딥러닝 (3) - 오차 역전파, 경사하강법
2017/12/24 - 문과생도 이해하는 딥러닝 (4) - 신경망구현, 활성화함수, 배치
2017/12/26 - 문과생도 이해하는 딥러닝 (5) - 신경망 학습 실습
2018/01/05 - 문과생도 이해하는 딥러닝 (6) - 오차역전파법 실습 1
2018/01/05 - 문과생도 이해하는 딥러닝 (7) - 오차역전파법 실습 2
2018/01/07 - 문과생도 이해하는 딥러닝 (8) - 신경망 학습 최적화
이전 포스팅에서는 최적화 기법들을 살펴보면서 최적의 가중치 매개변수를 찾기 위해 어떤 것들을 사용하는지 알아보았다. 확률적 경사하강법 이외에도 다양한 방법으로 적절한 기울기 값을 구하고 손실함수가 낮아지는 방향으로 계산(또는 학습)하는 방법들이 있으며 자신의 문제에 따라 적합한 방법을 사용하는 것이 좋다.
최적화 만큼 초기 신경망의 가중치 값을 어떻게 설정하느냐도 상당히 중요한 문제이다. 초기값을 무엇으로 하느냐에 따라서 학습의 성패가 결정나기도 한다.
신경망 초기 가중치 설정
문과생도 이해하는 딥러닝 (9)
가중치 초깃값을 0으로 하면?
1. Sigmoid 가중치 초깃값 설정 : Xavier
표준편차가 1
활성화함수가 시그모이드 함수인 경우 활성화 값이 0과 1에 주로 분포되어 있다. 이는 시그모이드 함수의 미분 값이 0에 가까워지도록 한다. 따라서 역전파의 기울기 값은 점점 작아지다가 사라지는 Gradient Vanishing 문제가 발생하며 층이 깊어질수록 기울기는 더 사라진다.
2. ReLU 가중치 초깃값 설정 : He
3. 활성화함수 별 가중치 초기값 설정 방식에 따른 활성화값 분포 비교
Sigmoid 함수 - Std 0.01, Xavier, He
ReLU 함수 - Std 0.01, Xavier, He
Tanh 함수 - Std 0.01, Xavier, He
4. 예제: MNIST 데이터셋으로 가중치 초깃값 비교
'Data Science > 문과생도 이해하는 딥러닝' 카테고리의 다른 글
문과생도 이해하는 딥러닝 (11) - 가중치 감소, 드롭아웃 (2) | 2018.01.07 |
---|---|
문과생도 이해하는 딥러닝 (10) - 배치 정규화 (2) | 2018.01.07 |
문과생도 이해하는 딥러닝 (8) - 신경망 학습 최적화 (6) | 2018.01.07 |
문과생도 이해하는 딥러닝 (7) - 오차역전파법 실습 2 (0) | 2018.01.05 |
문과생도 이해하는 딥러닝 (6) - 오차역전파법 실습 1 (0) | 2018.01.05 |
문과생도 이해하는 딥러닝 (5) - 신경망 학습 실습 (7) | 2017.12.26 |
문과생도 이해하는 딥러닝 (4) - 신경망구현, 활성화함수, 배치 (10) | 2017.12.24 |
문과생도 이해하는 딥러닝 (3) - 오차 역전파, 경사하강법 (2) | 2017.10.25 |
댓글