
"전이학습"이란?
: 어떤 작업을 수행하기 위해 사전 학습된 모델을 다른 작업에 재사용하여 새로운 작업이나 관련 도메인의 성능을 향상시킬 수 있는 기술을 말한다.

전이 학습의 필요성
1. 데이터 부족 문제 해결
: 전이학습은 대규모 데이터에서 학습된 모델을 사용하여 적은 데이터로도 높은 성능을 달성할 수 있다.
2. 학습 시간 단축
: 처음부터 모델을 학습하는 대신, 사전 학습된 모델의 가중치를 활용하면 학습 시간을 크게 줄일 수 있다.
: 특히, 네트워크 구조가 크고 복잡할수록 전이 학습이 효과적이다.
3. 성능 향상
: 사전 학습된 모델은 다양한 데이터에서 일반적인 특징을 이미 학습한 상태이므로, 새로운 문제에서도 성능 향상에 도움을 준다.
4. 효율적인 자원 활용
: 대규모 데이터셋에서 모델을 학습하려면 고성능 GPU가 필요하지만, 전이학습은 상대적으로 적은 자원으로도 높은 성능을 제공한다.
전이 학습 종류
Domain Adaptation
: 사전 학습된 모델을 라벨링 된 데이터가 부족한 다른 도메인에 적응시키는 방법
: 언제 사용해?) 사전 학습된 도메인과 타겟 도메인이 다르지만 유사성이 있을 때 효과적이다.
Multi-task learning
: 여러 관련 작업을 동시에 학습하는 방법 (다양한 전이 학습 스타일 포함됨)
: 가장 중요한 특징) 둘 이상의 작업을 해결하기 위해 하나의 모델을 학습하는 것
: 하나의 모델이 여러 작업을 학습함으로써 각 작업 간의 공통된 정보를 활용할 수 있다.
Feature extraction
: 사전 학습된 모델이 학습한 기본 패턴을 가져와 문제에 더 적합하도록 출력을 조정하는 방법
: 사전 학습된 모델의 가중치를 고정하고, 마지막 레이어만 새 데이터셋에 맞게 재학습한다.
: 이 방법은 모델의 초기 레이어는 변형하지 않고, 마지막 레이어만 재학습한다.
: 언제 사용해?)
- 데이터 양이 적을 때 주로 사용
Fine tuning
: 사전 학습된 모델 전체 또는 일부 레이어를 새로운 작업에 맞게 재학습하는 방법
: 언제 사용해?)
- 사전 학습된 모델의 원래 기능을 유지하면서 보다 전문적인 사용 사례에 맞게 조정하는데 사용
- 데이터가 충분하고 세밀한 조정이 필요 시 주로 사용
전이 학습 장점과 한계
(장점)
- 효율성 : 데이터와 자원이 부족한 상황에서도 높은 성능을 제공
- 빠른 학습 : 모델 초기화 상태에서 학습하지 않아 학습 시간이 단축
- 일반화 성능 : 다양한 데이터에서 학습된 특징을 활용하여 일반화 능력을 강화
(한계)
- 도메인 차이 문제 : 사전 학습 데이터셋과 새 데이터셋이 크게 다를 경우, 성능이 저하될 수 있음
- 고정된 가중치의 한계 : Feature Extraction 방식에서는 초반 계층이 고정되므로 새로운 데이터셋에 완전히 적응하지 못할 수 있음
- 데이터 의존성 : 사전 학습된 모델의 성능은 학습된 데이터셋의 크기와 품질에 따라 달라질 수 있음
전이 학습 순서
1. 사전 훈련된 모델의 선택과 인스턴스화
: 대규모 데이터셋으로 사전 훈련된 모델을 선택하고 인스턴스화한다.
: 선택 기준 ) 문제 특성, 모델의 복잡도, 리소스 제약 등
: EX ) VGGNet, ResNet, DenseNet 등
2. 모델 로드 및 분석
: 모델의 구조(특히, convolutional 부분과 분류기 부분)를 이해하고, 어느 부분을 재학습할지 결정한다.
3. 분류기 수정
: 기존 분류기를 새로운 데이터셋의 클래스 수에 맞게 재설계한다.
: EX) ImageNet의 1000 클래스 → 새로운 작업의 클래스 수(ex.10)
4. 가중치 동결/해제 결정
: 선택한 모델의 상위 층을 동결시킴으로써, 이미 학습된 특징들이 새로운 데이터로 인해 손상되는 것을 방지할 수 있다.
: 여기서 동결은 해당 층의 가중치가 학습 과정에서 업데이트되지 않도록 하는 것을 의미한다.
5. 새로운 출력 층의 추가
: 모델에 새로운 작업에 적합한 출력 층을 추가한다.
6. 새로운 데이터셋으로 훈련
: 추가된 새로운 층과 기존 모델의 일부 층을 새로운 데이터셋으로 훈련한다.
: 이 과정에서 모델은 새로운 데이터에 특화된 특징을 학습한다.
7. 전체 모델의 미세 조정
: 미세조정은 모델이 새로운 데이터에 잘 적응하도록 돕는 과정이다.
: 새로운 층이 어느정도 학습이 되면, 전체 모델의 동결을 해제하고 전체 모델을 미세 조정할 수 있다.
: 이 단계에서는 학습률을 낮게 설정하여 사전 학습된 가중치를 세밀하게 조정한다.
8. 모델 학습 및 평가
: 새로운 데이터셋에 대해 학습을 진행하고, 검증 및 테스트를 통해 성능을 평가한다.
(참고)
'📙 Fundamentals > ML&DL' 카테고리의 다른 글
| 이미지 전처리 | 리사이징 (Resizing) (0) | 2025.05.04 |
|---|---|
| AutoEncoder_오토인코더 (0) | 2025.04.28 |
| CNN_Convolutional Neural Networks (0) | 2025.04.24 |
| 🏨 호텔 예약 정보 데이터셋 분석 | 3️⃣ 파일 업로드 (0) | 2025.04.21 |
| 딥러닝의 성능 향상을 위한 하이퍼파라미터 종류 (1) | 2025.04.14 |