Transfer Learning
전이 학습을 통해 더 적은 데이터로 고정확도 AI를 학습하는 방법을 살펴봅니다. Ultralytics YOLO26 사전 학습 가중치를 활용하여 컴퓨터 비전 프로젝트를 가속하는 방법을 알아봅니다.
전이 학습은 머신 러닝 (ML)에서 사용되는 강력한 기법으로, 특정 작업을 위해 개발된 모델을 두 번째 관련 작업을 수행하는 모델의 시작점으로 재사용합니다. 처음부터 신경망을 학습하려면 방대한 데이터 세트와 상당한 계산 능력이 필요하지만, 전이 학습에서는 개발자가 AI가 이미 습득한 지식을 활용합니다. 이 접근 방식은 인간의 학습 방식을 모방합니다. 예를 들어 피아노를 연주할 줄 알면 음악 이론에 대한 기초적인 이해와 손가락 기민성이 전이되므로 오르간을 훨씬 쉽게 배울 수 있습니다. 딥 러닝의 맥락에서는 모델이 훨씬 적은 데이터와 시간으로 새로운 문제에서 높은 정확도를 달성할 수 있다는 의미입니다.
전이 학습의 작동 방식#
전이 학습의 효과는 특징 추출의 계층적 특성에 있습니다. 딥 러닝 모델, 특히 컴퓨터 비전에 사용되는 모델은 여러 계층에서 패턴을 인식하도록 학습합니다. 백본의 초기 계층은 가장자리, 곡선, 텍스처와 같은 단순하고 보편적인 특징을 감지합니다. 이러한 저수준 특징은 거의 모든 시각 작업에 적용할 수 있습니다.
이 프로세스는 일반적으로 두 가지 주요 단계로 구성됩니다:
-
사전 학습: 모델은 일반적인 시각적 표현을 학습하기 위해 ImageNet과 같은 대규모 벤치마크 데이터 세트에서 학습됩니다. 그 결과 시각적 구조를 이미 이해하는 일련의 모델 가중치가 생성됩니다.
-
적응: 그런 다음 사전 학습된 모델을 특정 틈새 작업에 맞게 조정합니다. 일반적으로 초기 계층을 "동결"하여 가중치를 고정하고, 더 작은 맞춤형 데이터 세트에서 최종 계층 또는 검출 헤드만 다시 학습합니다.
실제 적용 사례#
전이 학습은 빅테크 기업의 리소스 없이도 전문화된 솔루션을 구축할 수 있게 함으로써 AI를 대중화했습니다.
- 헬스케어 분야의 AI: 특정 질환마다 수백만 장의 주석이 추가된 의료 이미지를 수집하는 것은 어렵습니다. 그러나 연구자들은 일상적인 사물로 사전 학습된 모델을 가져와 의료 영상 분석에 적용할 수 있습니다. 모델은 형태와 이상 징후를 감지하는 능력을 전이하여 X선 또는 MRI 스캔에서 종양을 높은 정밀도로 식별합니다.
- 제조 분야의 AI: 산업 환경에서는 비전 검사 시스템이 새로운 제품 라인에 빠르게 적응해야 합니다. 일반화된 결함 검출 모델은 스마트 제조 워크플로를 활용하여 가동 중단 시간을 최소화하면서 마이크로칩과 같은 특정 신규 부품의 결함을 식별하도록 신속하게 업데이트할 수 있습니다.
다른 개념과의 관계#
전이 학습을 관련성이 높은 용어와 구분해 이해하면 도움이 됩니다.
- 파인 튜닝과의 비교: 파인 튜닝은 전이 학습을 구현하는 구체적인 방법입니다. 전이 학습이 지식을 재사용한다는 포괄적인 개념이라면, 파인 튜닝은 모델의 일부를 고정 해제하고 더 낮은 학습률로 새로운 데이터에 대해 학습하는 기계적 프로세스를 의미합니다.
- 제로샷 학습과의 비교: 전이 학습에는 새로운 작업을 위한 일부 레이블 지정 데이터와 함께 학습 단계가 필요합니다. 반면 제로샷 학습은 모델이 이전에 본 적이 없는 사물을 분류하려고 시도하며, 시각적 예시보다는 의미론적 설명에 의존하는 경우가 많습니다.
실용 예제#
다음 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 노트에서 훌륭한 개요를 확인할 수 있으며, PyTorch Transfer Learning Tutorial에서는 구현을 위한 광범위한 기술 세부 정보를 제공합니다.









