2. 전이 학습(Transfer Learning):Fine-tuning
전이 학습(Transfer Learning)은 사전 학습된 모델을 활용해 새로운 문제를 빠르게 해결할 수 있도록 돕는 딥러닝 기술입니다. 적은 데이터와 자원으로도 높은 성능을 낼 수 있어, AI 개발의 효율성과 확장성을 크게 높여줍니다.
전이 학습(Transfer Learning)
목차
1. 전이 학습(Transfer Learning)이란?
전이 학습(Transfer Learning)은 기존에 학습된 모델의 지식을 새로운, 하지만 관련된 작업에 적용하는 머신러닝 기법입니다.
보통은 대규모 데이터와 연산 자원을 사용해 학습한 모델을 기반으로, 소규모 데이터만으로도 새로운 문제를 해결할 수 있게 만듭니다.
- 예시: 고양이를 분류하는 모델을 재활용해, 살쾡이를 분류하는 모델로 확장 가능
AI를 처음부터 만들려면 아래와 같은 것들이 필요합니다:
- 엄청나게 많은 데이터
- 고성능 컴퓨터 자원
- 많은 시간과 비용
하지만 전이 학습을 쓰면 이미 만들어진 모델을 재활용하므로 시간과 비용을 아낄 수 있고,
데이터가 조금만 있어도 높은 정확도를 낼 수 있습니다.
2. 전이 학습의 주요 종류
전이 학습은 크게 전이되는 지식의 형태와 방식에 따라 아래와 같이 분류할 수 있습니다:
1. Feature-based Transfer Learning (특징 기반 전이 학습)
- 기존 모델이 학습한 특징 추출기(Feature Extractor)를 그대로 사용하거나 일부 수정해서 사용
- 예시: CNN의 앞쪽 convolution layer는 고정하고, 뒤쪽 classification layer만 새로 학습
- 이미지 분류 문제에서 ResNet, VGG 등 사전 학습된 모델의 중간 layer를 고정한 후, 출력층만 새로운 데이터에 맞게 재학습
2. Fine-tuning (미세 조정 전이 학습)
- 사전 학습된 전체 모델 또는 일부 레이어를 새로운 데이터로 재학습하여 성능 개선
- 일반적으로 전체 레이어를 고정하지 않고 일부를 학습 가능하게 풀어줌
- BERT, GPT 같은 NLP 모델에서 마지막 몇 개 레이어만 재학습하여 감성 분석, QA 시스템 등에 활용
- 주의사항: 학습률(Learning rate)을 조절하지 않으면 사전 학습된 정보가 손실될 수 있음
3. Domain Adaptation (도메인 적응)
- 입력 분포는 다르지만 태스크는 동일한 경우, 기존 모델을 새로운 도메인에 맞게 조정
- 예: 실내 이미지로 학습된 모델을 실외 환경에도 적용하기
- 영어 텍스트로 학습된 모델을 한국어 번역 데이터에 적용 (단, 같은 텍스트 번역 작업이라는 전제가 있음)
4. Multi-task Learning (다중 작업 학습)
- 여러 작업을 동시에 학습하여, 학습한 지식이 서로에게 도움이 되도록 함
- 서로 다른 작업이지만 관련성 있는 정보 공유를 통해 성능 개선
- 얼굴 인식과 감정 인식을 동시에 학습하는 모델 (공통된 얼굴 특징 공유)
5. Zero-shot / Few-shot Transfer Learning (제로샷 / 퓨샷 전이 학습)
- 새로운 작업에 대해 학습 없이(Zero-shot) 또는 극소량의 데이터로만 학습(Few-shot)
- 최근 **대형 언어 모델(LLM)**에서 활발히 연구됨
- GPT-4에게 "이 문장이 긍정적이야?"라고 물으면, 별도 감성 데이터 없이도 답변 가능
3. 전이 학습과 파인튜닝 비교
항목 | 전이학습(Transfer Learning) | 파인튜닝(Fine-tuning) |
목적 | 기존 모델의 기본 지식 재사용 | 기존 모델을 새로운 작업에 맞게 조정 |
적용 범위 | 주로 초기 레이어(특징 추출기)를 고정 | 일부 또는 전체 레이어의 가중치 재조정 |
학습량 | 적은 학습 (출력 부분만 학습) | 더 많은 학습 (출력 + 중간 계층까지 가능) |
리소스 | 리소스 효율적 | 더 많은 자원 필요 |
유사성 | 소스/타겟 작업이 매우 유사할 때 유리 | 유사하지만 약간의 차이가 있는 경우 적합 |
상황 | 추천 방법 |
데이터가 매우 적음 | 전이 학습 (특징만 재활용) |
데이터가 어느 정도 있고, 정확도가 중요 | 파인튜닝 (세밀한 조정 가능) |
두 작업이 매우 유사함 | 전이 학습으로 충분 |
새 작업이 기존 작업과 유사하지만 더 복잡함 | 파인튜닝 권장 |
1) 전이 학습(Transfer Learning)
사전 학습된 모델의 대부분을 그대로 사용하고,마지막 출력 레이어만 새롭게 학습합니다.
보통 초기 레이어(예: CNN의 Conv layer)는 고정(freeze)되어 있고, 출력층만 교체 및 학습합니다.
◆ 예시
- 고양이 vs 개 분류 모델을 가지고 있다면,
→ 해당 모델을 사자 vs 호랑이로 분류하는 데 재사용 가능
→ 이때는 출력층만 새로 학습하고, 나머지는 그대로 둠
2) 파인 튜닝(Fine-tuning)
전이 학습에서 한 단계 더 나아가, 기존 모델의 일부 계층도 함께 다시 학습합니다.
특히 후반부 레이어들만 선택적으로 학습해 새로운 작업에 더 잘 맞추는 방식입니다.
◆ 예시
- 위의 고양이 vs 개 모델을 가지고,
→ 포메라니안 vs 골든 리트리버처럼 더 세부적인 분류가 필요할 때
→ 출력층뿐 아니라, 중간 레이어 일부도 다시 학습하여 정확도 향상
4. 전이 학습의 장단점
◆ 장점
계산 비용 절감 | 사전 학습된 모델을 활용해 새로 모델을 처음부터 학습하지 않아도 되므로, 훈련 시간과 연산 자원을 크게 절감할 수 있습니다. (예: Epoch 수 감소, GPU 사용량 감소 등) |
적은 데이터로도 가능 | 대규모 라벨링 데이터 없이도 충분한 성능을 낼 수 있어, 데이터 수집 및 전처리 부담을 줄일 수 있습니다. 특히 라벨링 비용이 높은 분야(의료, 법률 등)에 효과적 |
일반화 성능 향상 | 다양한 데이터셋에서 학습된 경험을 바탕으로, 새로운 데이터에 대한 적응력(일반화 능력)이 더 뛰어남 → 과적합 억제에 유리 |
빠른 개발 | 학습 속도가 빠르고, 프로토타입이나 실험 단계에서 빠르게 결과를 확인할 수 있어 AI 프로젝트 진행 속도 향상 |
전문성 요구 감소 | 도메인 전문가 없이도, 사전 학습된 고성능 모델을 바로 활용 가능 → 진입 장벽 완화 |
◆ 단점
부정적 전이 (Negative Transfer) | 사전 학습된 모델과 새로운 작업 간의 유사성이 낮을 경우, 성능이 오히려 나빠지는 현상 발생 가능 |
적용 조건 제한 | 효과적인 전이 학습을 위해서는 다음 조건이 필요합니다: ① 두 작업이 유사해야 함 ② 데이터 분포가 크게 달라선 안 됨 ③ 같은 구조의 모델이 적용 가능해야 함 |
유사성 평가 어려움 | 어떤 경우에 전이 학습이 효과적인지 정량적으로 판단할 수 있는 표준 지표가 부족함 → 실험과 테스트를 통해 직접 확인해야 함 |
모델 크기 및 복잡성 | 일부 사전 학습 모델은 너무 크거나 복잡해서 리소스가 제한된 환경(모바일, IoT)에서 사용하기 어려움 |
전처리 필요 | 전이 학습을 하더라도 데이터 품질이 낮거나 전처리가 부족하면 성능에 악영향 → 데이터 증강, 정규화 등 여전히 중요함 |
5. 사전 훈련 모델(pretrained model)
전이 학습(Transfer Learning)은 대량의 데이터로 훈련된 기존 모델을 활용하여, 새로운 데이터셋이나 작업에 대해 빠르게 성능을 개선할 수 있는 학습 방식입니다.
이 과정에서 사용하는 것이 바로 사전 훈련된 모델(pretrained model)입니다.
1) 사전 훈련 모델 선택시 주요 고려 요소
◆ 예측 속도 (Inference Speed)
모델의 예측 속도는 실시간 응답이 필요한 애플리케이션에서 매우 중요합니다.
특히 CCTV 영상 분석, 모바일 앱 실시간 처리와 같은 환경에서는 빠른 추론이 필수입니다.
반면, 서버 환경에서의 대규모 배치 처리에서는 속도보다는 처리량(Throughput)이 더 중요할 수 있습니다.
- MobileNet: 경량화 구조로 매우 빠른 예측 속도를 제공
- ResNet50: 높은 정확도를 제공하지만 속도는 다소 느릴 수 있음
◆ 모델 크기 (Model Size)
모델의 크기는 배포 환경과 밀접하게 연결되어 있습니다.
임베디드 시스템, 모바일 디바이스와 같이 메모리가 제한된 환경에서는 모델 크기가 작아야 하며,
네트워크를 통한 모델 전송 속도나 클라우드/로컬 추론 비용에도 영향을 미칩니다.
- EfficientNet-Lite: 경량화를 고려해 설계된 모델로 크기가 작고 추론 효율이 높음
- Inception-ResNet: 복잡한 구조로 인해 메모리 사용량이 크고 배포가 까다로울 수 있음
◆ 사전 학습 정확도 (Pretrained Accuracy)
모델이 사전 학습된 상태에서 어느 정도의 성능을 보여주는지도 매우 중요한 요소입니다.
기본적으로 높은 정확도를 갖춘 모델은 적은 양의 fine-tuning만으로도 우수한 전이 학습 결과를 낼 수 있습니다.
단, 사전 학습된 **작업(Task)**과 실제 적용하려는 대상(Task) 간의 유사성이 높을수록 전이 성능이 극대화됩니다.
- ImageNet으로 학습된 모델은 일반 이미지 분류에는 적합하지만, 의료 영상 같은 특수 도메인에는 추가 조정이 필요합니다.
2) 주요 사전 훈련 모델 비교
Hugging Face, TensorFlow Hub, PyTorch Hub 등에서 다양한 사전 훈련 모델을 쉽게 사용할 수 있습니다.
모델명 | 파라미터수 | 크기 | 속도 | 정확도 | 특징 |
MobileNetV2 | ~3.4M | ~14MB | 매우 빠름 | 71.8% | 모바일/임베디드 환경 최적화 |
EfficientNet-B0 | ~5.3M | ~20MB | 빠름 | 77.1% | 정확도와 크기의 균형 우수 |
ResNet50 | ~25.6M | ~98MB | 중간 | 76.0% | 널리 쓰이는 표준 CNN |
InceptionV3 | ~23.8M | ~92MB | 다소 느림 | 77.9% | 다양한 스케일을 동시에 처리 |
DenseNet121 | ~8.0M | ~33MB | 중간 | 74.9% | 파라미터는 적지만 연산량 큼 |
ViT-B/16 | ~86.0M | ~330MB | 느림 | 81.0% | Vision Transformer, 높은 정확도 |
ConvNeXt-Tiny | ~28.6M | ~97MB | 중간 | 82.1% | CNN 기반 + Transformer 설계 반영 |
- 정확도 : ImageNet Top-1 정확도
◆ 파라미터
- 파라미터는 모델이 학습하는 가중치(weight)로, 많을수록 더 복잡한 패턴과 정교한 표현을 학습할 수 있습니다.
- 파라미터 수가 많을수록 학습해야 할 값이 많기 때문에, 학습 시간과 연산 비용이 증가합니다.
- 파라미터는 메모리에 저장되기 때문에, 수가 많을수록 GPU/CPU의 메모리 요구량이 증가합니다.
- 데이터 양에 비해 파라미터 수가 너무 많으면, 모델은 훈련 데이터에만 잘 맞고 일반화 성능이 떨어지는 과적합이 발생할 수 있습니다.
- 특히 전이 학습에서 적은 데이터로 fine-tuning할 때, 파라미터 수가 많은 모델은 오히려 위험할 수 있습니다.
파라미터 수 적은 모델 | 파라미터 수 많은 모델 |
빠른 추론, 저전력, 모바일 환경 | 높은 정확도, 복잡한 작업 수행 |
IoT, 실시간 시스템 | 클라우드 서버, 대규모 학습 가능 |
일반적인 이미지 분류 | 객체 탐지, 세분화, 자연어 처리 등 |
6. 전이 학습의 주요 접근 방식
전이 학습은 이미 학습된 모델이나 지식을 다른 문제에 활용하는 기법입니다.
이 방법은 특히 데이터가 부족한 상황에서 매우 유용합니다
다음 3가지 방식은 상황에 따라 단독으로 쓰이기도 하고, 조합해서 사용되기도 합니다.
접근 방식 | 설명 | 특징 |
1. 직접 모델 훈련 후 재사용 | 관련 문제로 모델을 먼저 훈련시키고 다시 활용 | 유연한 활용 가능 |
2. 사전 학습 모델 사용 | 이미 학습된 모델을 가져와 재사용 | 가장 널리 쓰임 |
3. 특징 추출 방식 | 중간 층을 이용해 핵심 정보만 추출 | 데이터 효율성과 범용성 좋음 |
1) 모델을 직접 훈련해서 재사용하기 (Training a Model to Reuse it)
문제 A를 해결하고 싶은데, 데이터가 부족한 경우가 많습니다.
이때, 관련된 문제 B를 찾아서 많은 데이터를 기반으로 먼저 모델을 학습합니다.
이후, 학습된 모델(또는 그 일부)을 문제 A에 다시 사용하는 방식입니다.
◆ 예시:
- 고양이 종류를 분류하고 싶은데 데이터가 부족하다면, 동물 사진 전체로 먼저 학습하고, 그 모델을 가져와 고양이 분류에 활용하는 방법입니다.
◆ 사용 방법:
- 입력 형식이 같다면 모델 전체를 다시 사용할 수도 있고,
- 마지막 몇 개 층을 다른 문제에 맞게 수정 후 재훈련할 수도 있습니다.
2. 사전 훈련된(pre-trained) 모델 활용하기 (Using a Pre-Trained Model)
직접 모델을 훈련하지 않고, 이미 공개된 사전학습(pre-trained) 모델을 가져다 사용하는 방법입니다.
대부분의 딥러닝 프레임워크(Keras, PyTorch 등)는 인기 있는 모델들을 미리 학습해 놓았고, 바로 불러와서 사용할 수 있습니다.
◆ 활용 예시:
- Keras의 ResNet, Inception, VGG 모델
- Hugging Face의 BERT, GPT 등
◆ 사용 시 고려할 점:
- 전체 모델을 재사용할지, 일부만 사용할지는 문제의 복잡도에 따라 결정
- 출력층은 대체로 내가 풀고자 하는 문제에 맞게 새로 구성해야 함
3. 특징 추출(Feature Extraction) 방식
이 방법은 데이터에서 중요한 특징(Feature)을 자동으로 뽑아내는 것을 목적으로 합니다.
딥러닝 모델은 이미지, 텍스트 등에서 사람이 수작업으로 설계하지 않아도 유용한 특징들을 스스로 학습할 수 있습니다.
이렇게 학습된 특징은 다른 문제에 활용할 수도 있습니다.
◆ 방식:
- 모델의 출력층이 아닌 중간층의 결과를 사용합니다.
- 중간층은 데이터의 핵심적인 표현(Representation)을 포함하고 있기 때문입니다.
◆ 많이 사용하는 분야:
- 컴퓨터 비전(CV): 이미지 분류, 객체 탐지 등에서 자주 사용
- 데이터의 크기를 줄이고, 계산 자원을 절약할 수 있어 효율적
관련 글 링크
https://aws.amazon.com/ko/what-is/transfer-learning/
전이 학습이란? - 기계 학습에서의 전이 학습 설명 - AWS
전이 학습(TL)은 한 작업에 대해 사전 학습된 모델을 새로운 관련 작업에 맞게 미세 조정하는 기계 학습(ML) 기법입니다. 새로운 ML 모델을 학습하는 것은 대량의 데이터, 컴퓨팅 성능, 프로덕션 준
aws.amazon.com
https://www.ibm.com/kr-ko/think/topics/transfer-learning
전이 학습이란 무엇인가요? | IBM
전이 학습이란 무엇인가요? 이 머신 러닝 기술을 통해 모델의 일반화 가능성과 성능을 개선하는 방법을 알아보세요.
www.ibm.com
https://builtin.com/data-science/transfer-learning
What Is Transfer Learning? A Guide for Deep Learning | Built In
Transfer learning refers to applying a pre-trained model to another related task. Discover why the practice has become so popular in machine learning.
builtin.com