본문 바로가기
Machine Learning (인공지능)

[ML] 머신러닝에서 Head 와 Backbone의 의미

by muha0-0 2025. 11. 30.

인간이 그러하듯, 모델에게도 척추, 목, 대가리가 있다.

인간이 그러하듯, 모델에게도 척추, 목, 대가리가 있다.

 

  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가 적합하다고 한다.