인공지능/이론 정리

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

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

  • 배치 정규화
    가중치 매개변수 초기화처럼, 각 층의 활성화 분포 값을 적당히 퍼질 수 있도록 강제하는 방법이다. 말 그대로 학습할 때 미니 "배치" 마다 데이터가 평균 0, 분산 1이 되도록 데이터를 정규화하고 데이터를 확대, 이동시키면서 값을 조정한다. 기존보다 더 빠르게 학습할 수 있고, 초깃값에 크게 영향받지 않으며, 오버피팅을 억제한다는 장점이 있다. 
  • 오버피팅
    훈련 데이터에만 지나치게 모델이 적응되어서 범용성이 낮은 모델로 학습되버리는 현상이다. 
    주로 데이터 개수가 적거나, 매개변수가 많은 표현력 높은 모델에서 발생한다.   
    • 큰 가중치 값과 오버피팅의 상관관계 
      오버피팅은 가중치 매개변수 값이 크기때문에 발생하는 경우가 많다. 

      예를 들어, y=x1+x2 함수와 y=10x1+10x2 의 sigmoid 값을 그래프로 그려 비교해자. 전자의 그래프는 완만한 곡선의 sigmoid 형태를 보여주는 반면, 후자의 그래프가 더 가파른 sigmoid 형태를 보여준다. 후자는 기울기가 가파르기에 최적의 미분값을 계산해내기가 힘들다. 따라서 가중치 값이 크면 오버피팅이 일어나는 경우가 많다고 한다. 
    • 가중치 감소 
      중치 매개변수 값이 작아지도록 학습해서 오버피팅이 일어나는 것을 방지한다. 
      모델을 학습할 때 큰 가중치에 대해서는 큰 패널티를 부과해서, 오버피팅을 억제하는 방법이다. 

    • 드롭아웃
      모든 뉴런을 학습하는 것이 아니라 임의로 뉴런을 삭제하면서 학습해서, 일정 뉴런에서는 다음으로 신호가 전달되지 않도록 해 오버피팅을 방지한다. 
  • 검증 데이터
    모델을 학습하면서 최적의 하이퍼파라미터 값들을 탐색하게 되는데, 하이퍼파라미터를 확인하기 위한 데이터

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

 

#참조

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

https://www.quora.com/Why-will-a-large-number-of-weights-cause-overfit-in-a-multi-layered-perceptron