※ 김성훈 교수님의 [모두를 위한 딥러닝] 강의 정리
- 참고자료 : Andrew Ng's ML class
1) https://class.coursera.org/ml-003/lecture
2) http://holehouse.org/mlclass/ (note)
1. 모든 wieght 초기값을 0으로 설정한다면,
- deep learning 알고리즘은 동작하지 않음
2. RBM(Restricted Boltzmann Machine)을 이용한 weight 초기화
- Hinton et al. (2006) "A Fast Learning Algorightm for Deep Belief Nets" - Restricted Boltzmann Machine
- Restriction = 같은 layer 안 어떤 연결도 존재하지 않음
- forward : 현재 layer에 들어온 x값에 대해 weight을 계산한 값을 다음 layer에 전달
backward : 전달받은 값을 거꾸로 현재 layer에 weight 값을 계산하여 전달
- forward, backward 계산을 반복하여 최초 전달된 x와 에측한 값(x hat)간 차이가 최소가 되는 weight 발견
- deep belief net : 이러한 RBM 방식으로 초기화된 모델
- Fine Tuning : 이러한 방식으로 초기화하여 학습(learning)을 시작하면 시간이 매우 단축됨
3. Xavier/He initialization
- Xavier : 입력값(fan_in)과 출력값(fan_out) 사이 난수를 선택하여 입력값의 제곱근으로 나눔
- He : 입력값을 반으로 나눈 제곱급을 사용함. (Xavier보다 넓은 범위의 난수를 생성)
4. 그 밖에 다양한 초기화 방법
'Deep Learning' 카테고리의 다른 글
[머신러닝/딥러닝] 딥러닝으로 MNIST 98%이상 (0) | 2020.01.03 |
---|---|
[머신러닝/딥러닝] Dropout & Ensemble (0) | 2020.01.03 |
[머신러닝/딥러닝] Sigmoid << ReLU (0) | 2019.12.30 |
[머신러닝/딥러닝] Tensorboard (Neural Net for XOR) (0) | 2019.12.23 |
[머신러닝/딥러닝] XOR 문제 딥러닝으로 풀기 (0) | 2019.12.23 |