Transfer Learning
전이 학습(Transfer Learning)을 통해 적은 데이터로 높은 정확도의 AI를 학습시키는 방법을 살펴보세요. 컴퓨터 비전 프로젝트를 가속화하기 위해 Ultralytics YOLO26 사전 학습 가중치를 활용하는 방법을 배우세요.
전이 학습(Transfer learning)은 특정 태스크를 위해 개발된 모델을 두 번째 관련 태스크의 모델을 위한 시작점으로 재사용하는 machine learning (ML)의 강력한 기법입니다. 막대한 데이터셋과 상당한 연산 능력이 필요한 neural network를 처음부터 학습시키는 대신, 개발자는 AI가 이미 습득한 지식을 활용합니다. 이 접근 방식은 인간이 학습하는 방식을 모방합니다. 예를 들어 피아노 연주법을 아는 것은 음악 이론과 손가락 민첩성에 대한 기초적인 이해가 전이되기 때문에 오르간을 훨씬 더 쉽게 배우게 해줍니다. deep learning의 맥락에서 이는 모델이 훨씬 적은 데이터와 시간으로 새로운 문제에서 높은 정확도를 달성할 수 있음을 의미합니다.
전이 학습의 작동 원리#
전이 학습의 효과는 feature extraction의 계층적 본질에 있습니다. 딥러닝 모델, 특히 컴퓨터 비전에 사용되는 모델은 레이어에서 패턴을 인식하는 법을 학습합니다. backbone의 초기 레이어는 모서리, 곡선, 텍스처와 같은 단순하고 보편적인 특징을 감지합니다. 이러한 저수준 특징은 거의 모든 시각적 태스크에 적용할 수 있습니다.
이 과정은 일반적으로 두 가지 주요 단계로 구성됩니다.
-
사전 학습(Pre-training): 모델은 일반적인 시각적 표현을 학습하기 위해 ImageNet과 같은 대규모 benchmark dataset에서 학습됩니다. 이를 통해 시각적 구조를 이미 이해하고 있는 일련의 model weights가 생성됩니다.
-
적응(Adaptation): 그런 다음 사전 학습된 모델이 특정 닉스 태스크에 적응됩니다. 이는 주로 초기 레이어를 "고정"하고(가중치를 고정 상태로 유지) 더 작고 맞춤형인 데이터셋에서 최종 레이어 또는 detection head만 재학습시키는 방식으로 수행됩니다.
실제 애플리케이션 사례#
전이 학습은 거대 기술 기업의 자원 없이도 전문화된 솔루션을 구축할 수 있게 하여 AI를 대중화했습니다.
- AI in Healthcare: 모든 특정 질병에 대해 수백만 개의 주석이 달린 의료 이미지를 수집하는 것은 어렵습니다. 그러나 연구원들은 일상적인 객체에 대해 사전 학습된 모델을 가져와 medical image analysis에 적용할 수 있습니다. 모델은 형태와 이상 징후를 감지하는 능력을 전이하여 높은 precision으로 엑스레이 또는 MRI 스캔에서 종양을 식별합니다.
- AI in Manufacturing: 산업 환경에서 시각 검사 시스템은 새로운 제품 라인에 빠르게 적응해야 합니다. 일반화된 결함 감지 모델을 신속하게 업데이트하여 smart manufacturing 워크플로를 활용하여 가동 중단 시간을 최소화함으로써 마이크로칩과 같은 특정 신규 부품의 결함을 찾아낼 수 있습니다.
다른 개념과의 관계#
전이 학습과 밀접하게 관련된 용어들을 구분하는 것이 도움이 됩니다.
- vs. Fine-Tuning: 미세 조정은 전이 학습을 구현하는 특정 방법입니다. 전이 학습이 지식을 재사용하는 포괄적인 개념인 반면, 미세 조정은 모델의 일부를 고정 해제하고 더 낮은 learning rate로 새로운 데이터에 대해 학습시키는 기계적 프로세스를 말합니다.
- vs. Zero-Shot Learning: 전이 학습에는 새 태스크에 대한 일부 라벨링된 데이터가 포함된 학습 단계가 필요합니다. 대조적으로, 제로샷 학습은 시각적 예시가 아닌 의미론적 설명에 종종 의존하여 모델이 이전에 본 적이 없는 객체를 분류하려고 시도합니다.
실용적인 예시#
다음 Python 스니펫은 ultralytics 라이브러리를 사용한 전이 학습을 보여줍니다. COCO 데이터셋에서 파생된 사전 학습된 가중치가 포함된 YOLO26 모델을 로드합니다. 새 데이터셋에서 학습을 시작하면 모델은 이전에 학습된 특징을 새 태스크에 자동으로 전이합니다.
from ultralytics import YOLO
# Load a pre-trained YOLO26 model (transferring weights from COCO)
model = YOLO("yolo26n.pt")
# Train the model on a new, smaller dataset to adapt its knowledge
# This leverages the pre-learned backbone for faster convergence
results = model.train(data="coco8.yaml", epochs=5)클라우드에서 데이터셋을 관리하고 이러한 학습 실행을 수행하기 위해 Ultralytics Platform과 같은 도구는 프로세스를 간소화하여 팀이 데이터에 주석을 달고 전이 학습된 모델을 효율적으로 배포하는 데 협업할 수 있도록 합니다.
학술 이론에 대한 더 심층적인 내용을 위해 Stanford CS231n notes는 훌륭한 개요를 제공하며, PyTorch Transfer Learning Tutorial은 구현을 위한 광범위한 기술적 세부 정보를 제공합니다.






