본문 바로가기

인공지능개론

Fine-tuning

Fine-tuning

기존에 학습되어져 있는 모델을 기반으로 아키텍처를 새로운 목적(나의 이미지 데이터에 맞게)변형하고 이미 학습된 모델 Weights로 부터 학습을 업데이트하는 방법

 

  1. Strategy 1 - 모델 전체를 활용하는 전략:
    • 이 전략에서는 사전 학습된 CNN 모델(예: VGG, ResNet 등)의 모든 층을 사용한다.
    • 모델의 합성곱 기반 층(Conv Base)과 분류기(Classifier) 모두를 새 데이터셋에 맞게 파인 튜닝한다.
    • 이 방법은 데이터셋이 크고 복잡할 때 유용하며, 모델이 새로운 데이터에 맞춰 완전히 재학습한다.
  2. Strategy 2 - 일부만 학습시키는 전략:
    • 사전 학습된 CNN의 첫 번째 부분(Conv Base1)은 그대로 유지하고, 두 번째 부분(Conv Base2)와 분류기(Classifier)만을 새 데이터셋에 맞게 파인 튜닝한다.
    • 이 전략은 첫 번째 부분이 일반적인 특징을 추출하는데 유용하다고 판단될 때 사용하며, 특히 모델의 복잡도를 줄이고 계산 비용을 낮출 때 효과적이다.
  3. Strategy 3 - 합성 곱층 전체 사용하는 전략:
    • 사전 학습된 CNN의 합성곱 기반 층(Conv Base)은 그대로 유지하고, 오직 분류기(Classifier)만을 새로운 데이터에 맞게 학습시킨다.
    • 이 방법은 전이 학습에서 가장 흔히 사용되며, 사전 학습된 모델의 합성곱 층이 이미 유용한 특징들을 추출할 수 있다고 가정할 때 적합합니다. 새로운 데이터셋의 크기가 작거나, 기존 데이터셋과 유사할 때 좋은 성능을 낼 수 있다.

각 전략은 사용하는 데이터셋의 크기와 복잡성, 그리고 계산 리소스와 시간의 제약에 따라 선택됩니다. 예를 들어, 많은 양의 데이터와 계산 리소스가 있다면 Strategy 1을 사용할 수 있지만, 제한된 리소스와 데이터만 있다면 Strategy 3이 더 효율적일 수 있습니다. Strategy 2는 중간 정도의 접근법으로, 모델의 일부분만을 조정함으로써 일반적인 특징을 유지하면서도 특정 작업에 대한 성능을 향상시키고자 할 때 사용됩니다.

 

전이학습

기존에 사전학습된(pre trained) 모델을 가져와, 사용하고자 하는 학습 데이터를 학습시켜 이용하는 방법

 

  • 사전 학습된 모델: 사전에 대량의 데이터셋으로 학습된 모델(예: ImageNet으로 학습된 ResNet, VGGNet 등)을 사용한다. 이 모델들은 이미지 인식 등의 다양한 작업에서 범용적인 특징을 학습한 상태이다.
  • 지식 전달: 사전 학습된 모델의 지식을 새로운 작업에 전달하여, 적은 양의 데이터로도 높은 성능을 달성할 수 있다. 이는 특히 데이터가 제한적인 경우에 유용하다.

전이 학습은 높은 초기 비용(데이터 수집과 모델 학습)을 감당할 수 없는 상황에서 효과적인 방법을 제공합니다. 사전 학습된 모델을 사용함으로써, 모델은 새로운 데이터에 대해 빠르게 학습하고, 보다 정확한 예측을 수행할 수 있습니다. 이 과정에서 모델의 일부만을 조정할 수도 있고(예를 들어, 합성곱 층은 고정하고 분류기만 조정), 경우에 따라 모델의 더 깊은 층을 조정하여 더 특화된 특징을 학습할 수도 있습니다.

전이 학습의 핵심은 이미 다른 작업에서 효과적으로 작동하는 것으로 입증된 패턴과 특징을 활용하여 새로운 문제에 접근하는 것입니다. 이를 통해 학습 시간을 단축시키고, 작업의 성능을 개선할 수 있습니다.