(23.12.18)
최적화
: 매개변수의 최적값을 찾는 것.
즉, 신경망의 학습에서는 손실함수의 결과값을 최솟값으로 만들기 위한 손실함수의 매개변수 최적값을 찾는 것을 말한다.
최적의 매개변수 값을 찾기 위해서 미분을 이용하였다. -> gradient descent, back propagation
SGD, Momentum, AdaGrad, Adam
ㄴSGD 는 방향에 따라 기울기가 달라지는 함수에서는 탐색경로가 비효율적이다.
가중치 초기값 설정
Xavier 초기값과 He 초기값
Batch Normalization
- 학습 속도 개선
- 초기값 의존도 down
- overfitting 개선
=> mini-batch 단위로 정규화를 진행한다. 데이터 분포가 평균이 0, 분산이 1이 되도록 정규화한다.
Overfitting
: 신경망 모델이 train data 에 대해서만 지나치게 적응되어 그 외의 새로운 데이터에 대해서는 제대로 대응하지 못하는 상태
overfitting 해결책
- weight decay : 학습 과정에서 큰 weight 에 대해서 패널티를 적용하는 방법
ㄴ 예시: loss function 에 weight 의 L2 norm 을 더하는 weight decay
- dropout : 뉴런을 임의로 삭제하면서 학습하는 방법
ㄴ train 할 때, hidden state 의 뉴런을 무작위로 골라서 삭제
ㄴ ensemble learning : 개별적으로 학습시킨 여러 모델의 출력을 평균내어 추론하는 방식
=> dropout 은 ensemble learning 과 동일한 효과를 하나의 네트워크로 구현했다고 생각 가능하다
Hyper parameter
: 각 층의 뉴런수, batch size, learning rate, weight decay 등
train, valid, test data split
- train data : parameter (weight, bias) 학습에 이용
- valid data : hyper parameter 의 성능 평가에 이용
- test data : 신경망의 범용 성능 평가에 이용
hyper parameter 값의 범위 설정
1. 설정된 범위 내에서 무작위 값 추출
2. 1단계에서 추출한 hyper parameter 값 사용하여 학습, validation data 로 정확도 평가
3. 1, 2단계를 특정횟수 반복하며, 정혹도를 보고 hyper parameter 범위를 좁힘.
'Computer Science > Deep Learning' 카테고리의 다른 글
밑바닥부터 시작하는 딥러닝 ch.7 CNN + ch.8 딥러닝 (1) | 2023.12.28 |
---|---|
밑바닥부터 시작하는 딥러닝 ch.5 오차역전법 (0) | 2023.12.04 |
밑바닥부터 시작하는 딥러닝 ch.4 신경망 학습 (0) | 2023.11.27 |
밑바닥부터 시작하는 딥러닝 ch.3 신경망 (2) | 2023.11.21 |
밑바닥부터 시작하는 딥러닝 ch.2 퍼셉트론 (0) | 2023.11.21 |