Weight 초기화 잘하기 강좌를 정리한다.
Deep Network의 문제점
- sigmoid를 ReLU(렐루)로 변경
- weight(초기) 값을 잘 못 사용하고 있다.
sigmoid를 사용할 때 layer가 깊어져도 cost가 전혀 줄어들지 않았다.
- 주의: 0 값은 절대 주지 말아야 한다.
RBM (Restricted Boltzmann Machine)
Hinton교수가 2006년 논문(A Fast Learning Algorithm for Deep Belief Nets) 에서 초기값을 잘 구하는 RBM을 소개함.
- forward: x (입력)값을 통해 w, b를 구한다
- backward: 생성된 w, b를 거꾸로 계산한다.
=> forward, backward의 결과를 보고 Weigth을 조정한다. 즉, Weight값을 학습을 통해 적절한 Weight값을 구한다.
Deep Belief Network
이전과 다음 Layer마다 RBM을 이용해 Weigth을 구하여 Multi Layer를 구성하 것을 Deep Belief Network이라고 한다.
- RBM통해 Weight값 얻는 Training을 Fine Tunning이라고 부른다.
RBM 보다 더 간단한 초기화가 나옴.
Xavier Initialization (샤이버)
- fan_in/2를 하면 쉽게 더 좋은 weight값을 얻을 수 있다.
정확도(Accuracy) 비교 테이블
- 최기화 메소드 쓰기
- ReLU 쓰기
등의 2가지 문제가 해결되었다.
참조
- ReLU 소개
'Deep Learning > NN by Sung Kim' 카테고리의 다른 글
[Neural Network] 종류 (0) | 2018.07.09 |
---|---|
[Deep Learning] Dropout 과 앙상블 (0) | 2018.07.09 |
[Deep Learning] TensorBoard 사용 및 ReLU 개념 (0) | 2018.07.09 |
[Deirvative] 미분 정리 (0) | 2018.07.06 |
[Deep Learning] XOR 문제 풀기 과정 및 수식 (0) | 2018.07.06 |