데이터 꿈나무

[Model Study] SNAPSHOT ENSEMBLE(SSE) 본문

Activity/Intern

[Model Study] SNAPSHOT ENSEMBLE(SSE)

ye_ju 2023. 10. 1. 10:07
  • 딥러닝에서 사용되는 앙상블 학습 방법 중 하나로, 학습 중에 여러 개의 “스냅샷” 모델을 생성하고 이들을 결합하여 예측 성능을 향상 시키는 기법이다.
  • SSE의 핵심은 Cyclical learning rate(e.g. Cosine Annealing)을 사용함으로써 다양한 관점(driverse prediction)을 학습한 단일 모델을 얻을 수 있다는 것이다.

  • 위 그림을 보면 cyclical(주기적) lr을 사용하는 모델은 여러 개의 local optima에 도달할 수 있고, 각각의 local optima를 ensemble(앙상블)하고 있다.

 

✅ 스냅샷 모델이란?

  • Snapshot Ensemble에서 사용되는 여러 개의 중간 모델 중 하나를 가리킨다.
  • 학습 중에 특정 지점에서 신경망의 가중치를 저장한 것이다.
    • local optima에 도달한 모델의 가중치를 저장
    • local optima : 손실 함수가 어떤 지점에서 최소값을 가지고 있는 상황
    • Snapshot Ensemble은 이러한 다양한 local optima에 도달한 모델을 저장하여,
    • 모델의 다양성을 확보한다.
    • 각 스냅샷 모델은 서로 다른 local optima 주변에서 가중치를 가지고 있으며, 이렇게 다양한 가중치 조합을 사용하여 예측을 수행한다. → 과적합은 줄이고, 모델 안정성은 높아짐 → 예측 성능 향상.
  • 이 가중치 저장 지점은 일반적으로 학습 과정에서 정기적으로 저장되며, 스냅샷 모델은 각 저장 지점에서의 가중치를 가지고 있다.
  • 스냅샷 모델은 개별적으로 테스트 데이터에 대한 예측을 수행할 수 있으며, 이러한 예측은 Snapshot Ensemble의 일부로 최종 예측을 생성하는데 사용된다.
  • 동일한 기본 신경망 아키텍쳐를 사용하지만 서로 다른 가중치를 가지므로 다양한 관점에서 데이터를 학습한다.
  • → 모델의 다양성을 확보하고, 일반적으로 예측 성능을 향상 시키는데 도움이 된다.

 

📌 장점

  1. 모델의 다양성을 증가시켜 과적합을 줄이며, 일반적으로 더 강력한 예측 모델을 얻을 수 있도록 도와준다.
  2. 모델의 일종의 정규화 효과를 제공하며, 앙상블 학습의 이점을 활용할 수 있다.

 

📌 작동 과정

  1. 모델 아키텍쳐 선택 : 우선, 기본 모델 아키텍쳐 (ex. ResNet, DenseNet 등)를 선택한다. 이 아키텍쳐를 기반으로 여러 개의 모델을 생성한다.
  2. 앙상블 스냅샷 생성 : 학습 중에 여러 번의 에폭(epochs) 동안 모델을 훈련하면서 특정 지점에서 모델의 가중치를 저장한다. 이러한 가중치 저장 지점을 “스냅샷”이라고 한다.
  3. 스냅샷 모델 복제 : 스냅샷 모델을 여러 복제본으로 만든다. 각 복제본은 서로 다른 스냅샷에서 파생됐다.
  4. 개별 예측 : 각 스냅샷 모델은 테스트 데이터에 대한 개별 예측을 수행한다.
  5. 앙상블 : 각 스냅샷 모델의 예측을 평균하거나 투표 등의 방식으로 결합하여 최종 예측을 생성한다.
Comments