-
ML lec 10-2: Weight 초기화 잘해보자인공지능 및 기계학습 개론/ML_LEC 2020. 2. 15. 14:35
딥러닝을 잘하는 방법 - 초기값
Vanishing gradient
- ReLU
- 초기값 오류
- ReLU를 여러번 실행히키면 결과가 달라진다?
- w에 Random값이 문제
초기값을 0으로 주면?
- forward-propagation 로 값이 전달안됨
- gradient가 사라진다
- 의미있는 초기값을 좀더 똑똑하게 입력해야한다
- 2006 Hinton “A fast learning algorithm for Deep Belief Nets”
- Restricted Boatman Machine(RBM) 지금은 사용 안함
RBM Structure
- Visible Layer, Hidden Layer 2개 Layer 사이에 w값을 조절
- Restriction = No Connections within a layer(앞->뒤 방향만 연결)
Recreate Input
- Forward(Encoder)로 값을 구함
- 같은 w로 이전에 구한 값을 다시 Backward(Decoder) 한다
- 처음 입력값과, 한번 갔다 돌아온 값의 차가 최저가 되도록 w를 조절한다
Deep Leaf Network(DBN)
- Unsupervised, layer-wise
- Greedy pre-training(RBM w 초기값 세팅)
- Fine Tuning(이미 좋은 w 가 학습되어있는 상태)
Good News(더 좋은 방법)
- Xavier : fan_in, fan_out 갯수에 맞게 초기값 세팅(2010)
- He : sqrt에 /2 추가..;
Activation function and initialization on CIFAR-10
Still an active area of research
'인공지능 및 기계학습 개론 > ML_LEC' 카테고리의 다른 글
ML lec 10-4: 레고처럼 네트워크 모듈을 마음껏 쌓아 보자 (0) 2020.02.15 ML lec 10-3: Dropout 과 모델 앙상블 (0) 2020.02.15 ML lec 10-1: Sigmoid 보다 ReLU가 더 좋아 (0) 2020.02.13 ML lec 09-2: 딥넷트웍 학습 시키기 (backpropagation) (0) 2020.02.13 ML lec 09-x: 특별편: 10분안에 미분 정리하기 (0) 2020.02.13