오버피팅 방지와 하이퍼파라미터 최적화

고등어찌짐·2022년 5월 11일
0

1. 가중치 매개변수 초깃값

가중치 매개변수의 초깃값을 어떤 값으로 사용하는 지에 따라서 각 층의 활성화값의 분포가 달라지는데, 데이터가 넓게 적당히 분포되어야 활성화 함수가 제 역할을 더 잘 하게 되면서 효율적인 학습이 이루어진다.


2. 배치 정규화

가중치 매개변수 초기화처럼, 각 층의 활성화 분포 값을 적당히 퍼질 수 있도록 강제하는 방법이다. 말 그대로 학습할 때 미니 "배치" 마다 데이터가 평균 0, 분산 1이 되도록 데이터를 정규화하고 데이터를 확대, 이동시키면서 값을 조정한다. 기존보다 더 빠르게 학습할 수 있고, 초깃값에 크게 영향받지 않으며, 오버피팅을 억제한다는 장점이 있다.


3. 오버피팅

훈련 데이터에만 지나치게 모델이 적응되어서 범용성이 낮은 모델로 학습되버리는 현상이다. 주로 데이터 개수가 적거나, 매개변수가 많은 표현력 높은 모델에서 발생한다.큰 가중치 값과 오버피팅의 상관관계 오버피팅은 가중치 매개변수 값이 크기때문에 발생하는 경우가 많다.

예를 들어, y=x1+x2 함수와 y=10x1+10x2 의 sigmoid 값을 그래프로 그려 비교해자. 전자의 그래프는 완만한 곡선의 sigmoid 형태를 보여주는 반면, 후자의 그래프가 더 가파른 sigmoid 형태를 보여준다. 후자는 기울기가 가파르기에 최적의 미분값을 계산해내기가 힘들다. 따라서 가중치 값이 크면 오버피팅이 일어나는 경우가 많다고 한다.


4.가중치 감소

중치 매개변수 값이 작아지도록 학습해서 오버피팅이 일어나는 것을 방지한다.
모델을 학습할 때 큰 가중치에 대해서는 큰 패널티를 부과해서, 오버피팅을 억제하는 방법이다.


5. 드롭아웃

모든 뉴런을 학습하는 것이 아니라 임의로 뉴런을 삭제하면서 학습해서, 일정 뉴런에서는 다음으로 신호가 전달되지 않도록 해 오버피팅을 방지한다.


6. 검증 데이터

모델을 학습하면서 최적의 하이퍼파라미터 값들을 탐색하게 되는데, 하이퍼파라미터를 확인하기 위한 데이터


7. 하이퍼파라미터 최적화

  • 하이퍼파라미터 범위 설정
  • 설정 범위 내에서 하이퍼파라미터 값을 랜덤으로 추출
  • 샘플링했던 파라미터 값으로 학습한 후 검증 데이터로 평가
  • 위 단계를 반복하면서 적절한 하이퍼파라미터의 범위를 좁혀나감

참조
밑바닥부터 시작하는 딥러닝
Why will a large number of weights cause overfit in a multi-layered perceptron?

profile
플로우를 타자🌊

0개의 댓글