일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 추천시스템
- Tensor
- 협업 필터링
- 웹스크래핑
- 프로그래머스
- pytorch
- Cosine-similarity
- 백준
- 데이터
- 머신러닝
- TF-IDF
- 파이썬
- 추천 시스템
- 부스트캠프
- selenium
- 코딩테스트
- codingtest
- 데이터 엔지니어링
- 코테
- wordcloud
- 시각화
- recommendation system
- coursera
- 알고리즘
- 딥러닝
- 웹크롤링
- Python
- Overfitting
- SGD
- 분산 시스템
- Today
- Total
개발자식
[딥러닝] 딥러닝 모델 최적화 이론_가중치 초기화 본문
딥러닝 모델 최적화 이론
모델의 성능을 높이기 위한 의도와 용도에 초점을 맞추어 공부해보자
1. Weight Initialization
- Gradeint descent를 적용하기 위한 첫 단계는 모든 파라미터 세타를 초기화하는 것
- 초기화 시점의 작은 차이가 학습의 결과를 뒤바꿀 수 있으므로(critical 하지는 않음) 보다 나은 초기화 방식을 모색하게 되었다.
- 발전된 초기화 방법들을 활용해 Vanishing gradeint 혹은 Exploding gradient 문제를 줄일 수 있다.
2. Weight Initialization의 중요성
처음 weight 값들을 평균이 0이며 표준편차가 1인 표준 정규분포를 이용해 초기화했을 경우에 Sigmoid 함수의 출력 값이 0과 1에 치우치는 현상이 발생한다.
-> gradient는 0에 가까운 값을 갖게 되고 Vanishing gradient현상의 원인이 된다.
이번에는 표준편차를 0.01로 하는 정규분포 형태로 초기화 했을 때 Sigmoid 함수의 출력값이 0.5 중심으로 모여 있다. 표준편차를 1로 했을 때보다 Vanishing gradient 현상을 완화할 수 있다.
3. 발전된 Weight Initialization
Xavier Initialization (자비에, 이그재비어, 세이비어)
- Vanishing gradient 현상을 완화하기 위해서 가중치를 초기화할 때 Sigmoid 함수와 같은 S자 함수의 경우 가장 중요한 것은 출력 값들이 표준 정규 분포 형태를 갖게 하는 것이다.
->안정적으로 학습이 가능하기 때문이다.
- 표준편차가 (1/앞선 layer의 퍼셉트론 개수)에 루트를 씌운 값 (절대적이지 않음)인 정규분포를 따르도록 가중치 초기화
- 활성화 함수로 Sigmoid 함수나 tanh 함수를 사용할 때 적용
Xavier Initialization 과 ReLU 함수를 결합했을 때 아래 그래프와 같이 출력 값이 0으로 수렴하고 평균과 표준 편차 모두 0으로 수렴한다.
-> ReLU 함수를 사용할 경우에 Xavier Initialization 방법을 사용할 수 없다.
He Initialization
- 활성화 함수가 ReLU 함수일 때 적용
- 표준편차가 (2/앞선 layer의 퍼셉트론 개수)에 루트를 씌운 값인 정규분포를 따르도록 가중치 초기화
'AI > Deep Learning' 카테고리의 다른 글
[딥러닝] Batch Normalization (0) | 2022.05.01 |
---|---|
[딥러닝] Avoiding Overfitting - Dropout (0) | 2022.05.01 |
[딥러닝] 딥러닝 모델 최적화 이론_Batch (0) | 2022.05.01 |
[딥러닝] 딥러닝 모델 최적화 이론_Weight Regularization (0) | 2022.05.01 |
[딥러닝] 딥러닝 , 논리회로 (0) | 2022.05.01 |