✅ 전이 학습은 딥러닝에서 데이터 부족과 계산 자원 문제를 해결하는 핵심 전략이며, 이미지 분류에서 가장 강력하게 활용됩니다.
📚 전이 학습 (Transfer Learning)이란?
**전이 학습(Transfer Learning)**은 **하나의 문제(Source Task)**를 해결하기 위해 **사전 학습(Pre-trained)**된 모델이 얻은 **지식(Knowledge)**을, **다른 유사한 문제(Target Task)**를 해결하는 데 재사용하는 머신러닝 접근 방식입니다.
- 지식이라 함은, 신경망 모델의 학습된 가중치(Weights)와 편향(Biases), 즉 모델이 데이터에서 추출하는 **특징 추출 능력(Feature Extraction Capability)**을 의미합니다.
- 컴퓨터 비전(Computer Vision, 컴퓨터가 시각 정보를 처리하는 기술) 분야에서는 ImageNet과 같이 수백만 장의 대규모 이미지 데이터셋으로 이미 훈련된 CNN(합성곱 신경망) 모델을 가져와 활용하는 것이 일반적입니다.
전이 학습을 사용하는 이유:
- 데이터 효율성 🤏: 학습할 타겟 데이터셋이 작더라도, 이미 방대한 데이터로 학습된 모델의 지식을 빌려와 높은 성능을 달성할 수 있습니다.
- 시간 및 자원 절약 ⏰: 대규모 모델을 처음부터(from scratch) 훈련시키는 데 필요한 막대한 컴퓨팅 자원과 긴 시간을 절약할 수 있습니다.
- 과적합(Overfitting) 방지 🚫: 데이터가 적을 때 모델을 처음부터 학습시키면 데이터에 과도하게 맞춤화될 위험이 크지만, 전이 학습은 모델의 일반화된 특징 추출 능력을 유지하여 이를 방지하는 데 도움을 줍니다.
🖼️ 이미지 분류 모델에서 전이 학습 활용 방법
이미지 분류(Image Classification)에서 전이 학습은 주로 다음 두 가지 주요 전략을 통해 이루어집니다.
1. 특징 추출기 (Feature Extractor)로 사용하기
이 방법은 사전 학습된 모델을 **이미지의 일반적인 특성(Feature)**을 뽑아내는 도구로만 활용하고, 모델의 가중치(Weights)는 고정시키는 방식입니다.
- 사전 학습된 모델 로드: ResNet, VGGNet, MobileNet 등 대규모 데이터셋(예: ImageNet)으로 학습된 모델의 가중치를 불러옵니다.
- 레이어 동결 (Freeze Layers): 불러온 모델의 **초기 레이어(Early Layers)**부터 **중간 레이어(Intermediate Layers)**까지의 가중치를 동결()하여 학습 과정에서 업데이트되지 않도록 합니다.
- CNN의 초기 레이어들은 이미지의 일반적인 특징 (선, 모서리, 색상 패턴 등)을 학습하므로, 새로운 작업에서도 유용하게 사용될 수 있습니다.
- 새 분류 레이어 추가: 기존 모델의 **마지막 분류 레이어(Classification Layer)**를 제거하고, 우리의 새로운 분류 작업(타겟 클래스 수)에 맞게 **새로운 완전 연결 레이어(Fully Connected Layer, 밀집층)**를 추가합니다.
- 학습: 동결되지 않은 새로 추가된 레이어만 우리의 작은 타겟 데이터셋으로 학습시킵니다.
주요 적용 상황: 타겟 데이터셋이 매우 작고, 사전 학습 데이터셋과 시각적 유사성이 높을 때.
2. 미세 조정 (Fine-Tuning)
특징 추출 방식보다 한 단계 더 나아가, 사전 학습된 모델의 일부 가중치까지도 새로운 데이터에 맞게 미세하게 조정하는 방식입니다.
- 특징 추출 단계와 동일: 사전 학습된 모델을 로드하고, 새로운 분류 레이어를 추가하여 먼저 학습시킵니다.
- 일부 레이어 동결 해제: 모델의 후반부 레이어(Later Layers) 일부를 동결 해제()합니다. 후반부 레이어는 이미지의 고수준, 구체적인 특징 (예: 눈, 코, 귀와 같은 객체의 부위)을 학습하므로, 이를 새로운 데이터에 맞춰 조금씩 조정합니다.
- 낮은 학습률(Low Learning Rate)로 학습: 전체 모델 또는 동결 해제된 레이어를 매우 낮은 학습률()로 다시 학습(재훈련)합니다. 낮은 학습률은 사전 학습된 가중치의 큰 변화를 방지하면서 새로운 데이터에 적절히 적응하도록 돕습니다.
주요 적용 상황: 타겟 데이터셋이 어느 정도 크고, 사전 학습 데이터셋과 시각적 유사성이 중간 정도일 때.
쉬운 비유 🧑🏫
전이 학습은 마치 새로운 언어를 배우는 사람과 같습니다. 🗣️
- 사전 학습된 모델은 이미 **모국어(대규모 ImageNet 데이터)**를 마스터한 뛰어난 언어학자입니다. 이 언어학자는 단어의 구조, 문법, 발음 등의 일반적인 지식을 모두 가지고 있죠.
- 당신이 배우려는 **새 언어(타겟 분류 문제)**는 한국어와는 전혀 다른 **'외계어'**라고 가정해 봅시다.
- 특징 추출은 이 언어학자에게 **외계어 단어장(새로운 분류 레이어)**만 주고, 기존의 언어 능력(가중치)은 건드리지 않고 외계어 단어만 외우게 하는 것과 같습니다. (시간과 노력이 적게 듦)
- 미세 조정은 이 언어학자에게 외계어 단어장을 외우게 하면서, 외계어의 특정 발음 규칙이나 독특한 뉘앙스에 맞춰 기존의 발음 기관(후반부 레이어)을 조금씩 수정하도록 훈련시키는 것과 같습니다. (더 높은 정확도를 위해 미세 조정)
'AI 엔지니어준비' 카테고리의 다른 글
| 💡 Word2Vec: GPT의 조상, 단어의 의미를 담는 벡터 (0) | 2025.11.14 |
|---|---|
| 💡 문서 분류 코드의 기본 아키텍처 및 진행 이유 (0) | 2025.11.14 |
| ❓ 데이터 증강(Data Augmentation)이 무엇인지 그리고 이미지 데이터에 주로 사용되는 증강 기법에 대해 (0) | 2025.09.29 |
| ❓ 모델에 이미지를 입력하기 전에 크기 조정(Resizing)과 정규화(Normalization)를 하는 이유 (0) | 2025.09.29 |
| ❓ 오토인코더(Autoencoder)가 어떤 상황에 적합한지, 그리고 오토인코더를 구성하는 인코더와 디코더의 개념 및 차이점에 대해 (0) | 2025.09.21 |