
인간이 그러하듯, 모델에게도 척추, 목, 대가리가 있다.
| Backbone | Head | |
| 역할 | Feature Extraction | Task 수행 |
| 상세 | CV에서 이미지의 패턴을 추상화 - edge, texture, shape | 추상화된 Feature를 기반으로 분류 / 추정 / 라벨링 수행 |
| 특징 | 대량의 이미지로 pre-trained 됨 | Feature를 기반으로 모델의 "예측"을 담당 |
| 예시 | CLIP, ViT, ResNet | 분류 헤드, 바운딩 박스 헤드, 세그멘테이션 마스크 헤드, 다중 작업 헤드 |
Backbone (백본) 이란 무엇인가
백본(Backbone)은 객체 탐지나 이미지 분류와 같은 상위 수준의 컴퓨터 비전 작업을 위해 특징(feature)을 추출하는 데 사용되는 모델이다. 주로 대량의 이미지로 pre-trained 되어있다.
Why use Backbone (왜 사용하는가)
백본 (Backbone)의 활용은 모델 설계를 더 쉽고 효율적이고 일반화 가능하게 한다.
- 원본 데이터에서 특징을 자동으로 추출하기 위해
백본은 이미지와 같은 원본 입력을 고수준의 특징 벡터(feature)로 변환하여, 분류·탐지·세그멘테이션과 같은 후속 작업이 가능하게 합니다. → 수작업 Feature Engineering 대체 - 대규모 사전학습 모델을 재사용하여 시간과 데이터를 절약하기 위해
대부분의 백본은 대규모 데이터셋(ImageNet 등)에서 사전학습되어 있으며, 이를 재사용(Transfer learning)하면 적은 데이터로도 성능을 높일 수 있음 - 모듈형 아키텍처를 가능하게 하기 위해
백본은 “무엇을 보고 이해할 것인가”를 담당하고, 헤드(head)는 “무엇을 예측할 것인가”를 담당합니다.
→ 백본을 바꾸거나 헤드를 바꿔 다양한 실험을 빠르게 할 수 있습니다. - 전통적인 CV 방법보다 높은 성능과 확장성을 제공하기 때문에
딥러닝 백본은 복잡하고 다양하며 비정형적인 데이터에서 더 높은 성능과 일반화 능력을 보여줌
So What - PM이 알아야 할 것
Backbone 선택은 모델 성능과 비용 사이의 Trade-Off 이다. Backbone을 바꾸는 것 만으로도 F1/Recall이 크게 개선될 수 있으며 과도하게 큰 Backbone은 비용 악화로 이어질 수 있음.
| 이유 | 상세 |
| 모델 실험 속도 & 비용 최적화 | 백본을 교체하여 빠르게 실험하고 결과 비교 가능 — 전체 모델을 처음부터 다시 만들 필요 없음 |
| 데이터 전략과 연결됨 | 데이터가 작거나 편향된 경우, 더 강력한 백본이 성능 문제를 해결할 수 있는 주요 레버 |
| 아키텍처 의사결정에 영향을 줌 | 모델 성능 문제의 근본 원인이 헤드(정책/라벨링)인지, 백본(표현력)인지 구분 가능 |
| 비즈니스 요구(속도 vs 정확도 vs 비용) 기반으로 선택 | 실시간 서비스인지, 오프라인인지, 모바일인지에 따라 백본 선택 전략이 다름 |
| Multi-task 및 Moderation 모델 설계의 핵심 구성 요소 | 백본 + 여러 헤드 구조를 통해 다양한 KPI 최적화 가능 |
SO WHAT - 모델 성능 문제 원인 파악
모델 성능 저하의 원인은 아래로 분류할 수 있다
│
├─ 1. 모델 구조 문제
│ ├─ ✅ Backbone (Feature Representation Quality - 복잡한 패턴을 요약하고 구별할 수 있는 능력
│ └─ Head (의사결정 또는 task 설계 문제)
│
├─ 2. 데이터 문제
│ ├─ 라벨 품질 (Label noise, annotation 오류)
│ ├─ 데이터 분포 문제 (bias, slicing)
│ └─ 데이터 양 부족
│
├─ 3. 학습 / 튜닝 문제
│ ├─ Loss, Optimizer, Learning rate
│ ├─ Overfitting / Underfitting
│ └─ Regularization, augmentation
│
├─ 4. 정책 / 목표 문제
│ ├─ Labeling 기준 & 정의
│ └─ Metric, Threshold, KPI alignment
│
└─ 5. 운영 / 시스템 문제
├─ Latency / Quantization / Pruning 영향
└─ Deployment mismatch (train-test gap)
Backbone의 성능 ~ 모델의 성능 관계
표현력 = feature representation quality
- Backbone이 입력을 embedding(벡터)로 변환할 때, 이 embedding이 정보량이 많고 구별 가능(clearly separable)해야 한다.
PM이 확인해야 할 것
| 질문 | 확인사항 |
| Slice별 성능 차이가 큰가? | 표현력 문제 가능성 ↑ |
| 데이터 추가해도 개선 안 되는가? | 백본 한계일 확률 ↑ |
| 단순한 문제는 잘하지만 edge-case 실패? | 표현력 강한 백본 후보 실험 필요 |
| 비용/latency 여유가 있는가? | Bigger backbone 활용 |
| 실시간/모바일 제약이 있는가? | 효율 모델 필요 (MobileNet, EfficientNet-lite) |
"표현력이 좋다 표현력이 나쁘다" 의 비교
| Good | Bad |
| 다양한 변화를 이해하고 일반화 가능 | 특정 조건만 이해, 쉽게 흔들림 |
| Recall/Precision 안정적 | 특정 slices에서 성능 붕괴 |
| 데이터 효율적 | 데이터 많이 넣어도 개선 없음 |
| 백본 교체 효과 큼 | 백본 바꿔도 개선 미미함 |
Backbone 선택하기
백본 선택은 제품 요구사항(정확도 vs 속도), 데이터 크기, 연산 비용, 그리고 태스크 종류에 따라 달라진다고 한다. 작은 데이터라면 대형 사전학습 모델(CLIP, ViT), 실시간이 중요하면 MobileNet / EfficientNet, 정확도가 최우선이면 DINOv2 / ViT-Large가 적합하다고 한다.
'Machine Learning (인공지능)' 카테고리의 다른 글
| [ML] 벡터 (Vector), 임베딩 (embedding), 코사인 유사도 (Cosine Similarity) (0) | 2025.11.29 |
|---|---|
| [강의 추천] Supervised Machine Learning: Regression and Classification (0) | 2025.10.11 |