HeYStRanGeR
article thumbnail

(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 범위를 좁힘.

 

 

728x90
profile

HeYStRanGeR

@HeYStRanGeR

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!