ML Background · 2026-05-20

랜드마크 모델 학습 방식 3가지

MobileCLIP2-S3/S4 계열 모델을 우리 프로젝트에 맞게 fine-tuning할 때 선택할 수 있는 방식을 image-label classification, image-text contrastive, multi-task 세 가지로 나눠 정리한다. 핵심은 “무엇을 가까이 두고, 무엇을 멀리 보낼 것인가”다.

먼저 결론

Sprint 1의 모델은 image-label classification에 가까웠다. 이미지 인식 데모를 빠르게 안정화하기에는 좋은 선택이었다. Sprint 2에서 자연어 검색과 cross-modal retrieval까지 강화하기 위해 classification loss와 image-text contrastive loss를 함께 쓰는 multi-task 방식이 가장 현실적이다.

세 방식의 한눈 비교

1. Image-label 이미지를 class로 맞춘다 이미지 landmark class 분류 좋은 점: 이미지 인식 안정화 한계: 텍스트와 직접 연결 약함 2. Image-text 맞는 이미지-문장을 가깝게 둔다 이미지 문장 positive pair는 가까이 negative pair는 멀리 자연어 검색에 강함 3. Multi-task 분류와 image-text 정렬을 같이 한다 이미지 class 분류 문장 정렬 Sprint 2 추천 인식 + 검색을 함께 강화

1. Image-label classification

Sprint 1 모델 학습 방식에 가장 가까웠다. 학습 데이터는 이미지와 landmark_id 라벨이다. 모델은 이미지를 보고 현재 지원 landmark class 중 하나를 맞추도록 학습된다.

입력:
gwanghwamun_001.jpg

정답:
landmark_id = gwanghwamun

학습 목표:
gwanghwamun class 점수는 높이고
다른 class 점수는 낮춘다.

이 방식은 구현이 단순하고 이미지 인식 정확도를 빠르게 올리기 좋다. 다만 텍스트와 이미지를 같은 embedding space에 직접 정렬하지는 않는다. 그래서 현재 구조에서는 이미지 검색과 자연어 검색이 분리된 retrieval space에서 동작한다.

2. Image-text contrastive

CLIP 원래 학습 방식에 가깝다. 이미지 encoder와 텍스트 encoder를 함께 사용해서, 맞는 이미지-텍스트 쌍은 가깝게, 틀린 쌍은 멀게 만든다.

positive pair:
광화문 이미지
↔ "Gwanghwamun, the main gate of Gyeongbokgung Palace"

negative pair:
광화문 이미지
↔ "Cheonggyecheon stream in downtown Seoul"

이 방식은 자연어 검색과 cross-modal retrieval에 강하다. 예를 들어 “palace gate”라는 텍스트 embedding을 광화문 이미지 embedding과 직접 비교할 수 있다. 대신 caption 품질에 크게 의존하고, 작은 데이터셋에서는 이름만 외우거나 과적합될 위험이 있다.

왜 classification이 필요한가

여기서 중요한 구분은 일반적인 의미특정 대상 ID다. MobileCLIP2 원본 대조학습은 “큰 궁궐 문”, “도심 하천”, “성곽이 있는 공원”처럼 이미지와 문장의 일반적인 시각 의미를 잘 맞추도록 학습됐다.

하지만 Landmark Assistant가 원하는 답은 “궁궐 문처럼 보인다”에서 끝나지 않는다. 사용자가 사진을 올렸을 때 이 문이 gwanghwamun인지, gyeongbokgung_geunjeongmun인지처럼 우리 서비스의 특정 landmark_id로 결정해야 한다.

대조학습이 잘 잡는 것:
"traditional Korean palace gate"
"large wooden gate with tiled roof"
"historic palace architecture"

우리 서비스가 최종적으로 구분해야 하는 것:
gwanghwamun
gyeongbokgung_geunjeongmun
deoksugung
changgyeonggung

광화문과 근정문은 둘 다 “traditional Korean palace gate”와 가까울 수 있다. 이건 모델이 틀렸다기보다 두 대상이 실제로 의미적으로 비슷하기 때문이다. 그런데 앱에서는 둘을 같은 답으로 보여주면 안 된다.

그래서 classification loss가 필요하다. classification은 모델에게 “비슷하게 생겼더라도 이 이미지는 gwanghwamun class 쪽으로, 저 이미지는 gyeongbokgung_geunjeongmun class 쪽으로 보내라”는 압력을 준다.

학습 방식 잘하는 일 우리 프로젝트에서의 한계/역할
Image-text contrastive 이미지와 문장의 의미를 맞춘다. 자연어 검색에 강하다. 비슷한 시각 의미를 가진 특정 랜드마크 ID를 강하게 나누는 신호는 부족할 수 있다.
Image-label classification 이미지를 정해진 class ID 중 하나로 배정한다. 자연어 의미 연결은 약하지만, 특정 landmark_id 식별에는 강하다.
Multi-task 일반 의미 정렬과 특정 ID 식별을 함께 학습한다. 랜드마크 인식과 자연어 검색을 동시에 가져가야 하는 Sprint 2에 가장 현실적이다.

3. Multi-task

Sprint 2에서 가장 추천하는 방식이다. 기존 classification loss를 버리지 않고, image-text contrastive loss를 추가한다. 즉 모델이 “이 이미지는 광화문이다”도 배우고, “이 이미지는 광화문 설명과 의미적으로 가깝다”도 함께 배운다.

total_loss =
  classification_loss
  + lambda * image_text_contrastive_loss

처음에는 lambda를 작게 두는 편이 안전하다. 예를 들어 0.1~0.3 정도에서 시작하면 이미지 분류 성능을 크게 흔들지 않으면서 텍스트 검색 개선 효과를 볼 수 있다.

학습 신호 모델이 배우는 것 좋아지는 기능
Classification loss 이미지가 어느 랜드마크 class인지 구분한다. 이미지 검색, Top-1/Top-3 인식.
Image-text contrastive loss 이미지와 맞는 설명을 가깝게, 틀린 설명을 멀게 둔다. 자연어 검색, cross-modal retrieval.
Hard negative 구성 비슷한 랜드마크끼리의 차이를 더 민감하게 배운다. 광화문/근정문, 궁궐/사찰 혼동 완화.

우리 프로젝트 기준 추천

방식 현재 적합도 추천 판단
Image-label classification 높음 Sprint 1처럼 이미지 인식 데모를 빠르게 안정화할 때 적합하다.
Image-text contrastive 단독 중간 자연어 검색 실험에는 좋지만, 이미지 분류 정확도 유지가 별도 검증되어야 한다.
Multi-task 가장 높음 Sprint 2에서 이미지 인식과 자연어 검색을 함께 개선하는 주 학습 방향으로 적합하다.

따라서 다음 단계는 기존 image-label 학습을 폐기하는 것이 아니라, caption dataset을 정리한 뒤 multi-task fine-tuning을 실험하는 것이다.

Sprint 2 실험 순서

  1. 각 landmark에 한/영 caption, alias, visual feature, contrast caption을 정리한다.
  2. 현재 classification baseline을 고정하고 image retrieval 성능을 기록한다.
  3. image-text contrastive loss를 작은 비율로 추가한 multi-task 실험을 진행한다.
  4. 이미지 검색, 자연어 검색, cross-modal retrieval을 각각 따로 평가한다.
  5. 광화문/근정문처럼 헷갈리는 hard negative pair를 별도 리포트로 추적한다.

향후 경량화 참고: SlimQwen

SlimQwen: Exploring the Pruning and Distillation in Large MoE Model Pre-training 는 2026년 5월 공개된 MoE LLM 압축 논문이다. 대상은 Qwen 계열 대형 언어 모델이므로 MobileCLIP2 랜드마크 모델에 바로 적용할 방법론은 아니다. 하지만 Sprint 2 이후 모델 크기와 latency를 더 줄일 때 참고할 설계 원칙을 준다.

논문 주장 우리 프로젝트에서의 해석 지금 적용 여부
pretrained 모델을 pruning해서 시작하는 편이 scratch 학습보다 안정적이다. Apple이 pre-train한 MobileCLIP2 계열의 기존 image-text 지식을 존중해야 한다. 간접 반영. Sprint 2는 scratch가 아니라 fine-tuning으로 간다.
KD만 쓰는 것보다 KD와 원래 학습 loss를 함께 쓰는 편이 좋다. 우리도 classification 하나만 밀기보다 image-text contrastive를 함께 유지하는 multi-task 방향이 안전하다. 반영. CE/CosFace/ArcFace + contrastive + hard-negative를 비교한다.
한 번에 크게 줄이는 one-shot compression보다 progressive pruning이 더 안정적이다. 모델 압축이 필요해지면 S4를 바로 작은 student로 바꾸기보다 단계별 실험을 설계한다. Sprint 2 핵심은 아님. artifact 크기/latency가 병목일 때 Sprint 3 후보.

따라서 이 논문은 현재 학습 방식의 primary reference가 아니라 향후 distillation, pruning, student 모델 설계 참고 논문으로 둔다. 지금 우선순위는 MobileCLIP2-S3/S4 multi-task 학습과 hard-negative/text retrieval 평가 체계를 안정화하는 것이다.

이 지식을 이해할 때 참고해볼만한 자료

아래 자료는 학습 방식의 배경을 더 깊게 볼 때 참고하기 좋다. 먼저 CrossEntropy와 ArcFace로 image-label classification을 이해하고, 그 다음 CLIP과 supervised contrastive learning을 보면 세 방식의 차이가 더 선명해진다.

주제 자료 왜 보면 좋은가
Image-label classification PyTorch CrossEntropyLoss 이미지와 class label로 분류 모델을 학습할 때 쓰는 기본 loss를 확인할 수 있다.
ArcFace ArcFace: Additive Angular Margin Loss embedding 공간에서 같은 class는 모으고 다른 class는 각도상 더 분리하는 아이디어를 이해하기 좋다.
Image-text contrastive CLIP: Learning Transferable Visual Models From Natural Language Supervision 맞는 image-text pair를 가깝게, 틀린 pair를 멀게 학습하는 대표적인 배경 논문.
CLIP 쉬운 소개 OpenAI CLIP 소개 CLIP이 자연어와 이미지를 연결하는 방식을 직관적으로 이해하기 좋다.
Supervised contrastive Supervised Contrastive Learning 라벨 정보를 사용해 같은 class sample을 가깝게 두는 contrastive learning 관점을 이해할 수 있다.
향후 모델 경량화 SlimQwen: Exploring the Pruning and Distillation in Large MoE Model Pre-training MobileCLIP2 계열 랜드마크 모델에 직접 적용할 논문은 아니지만, pretrained 모델을 보존하면서 압축·distillation을 설계하는 관점을 참고할 수 있다.