본문 바로가기
카테고리 없음

OrdinalCLIP: Learning Rank Prompts forLanguage-Guided Ordinal Regression

by 연금(Pension)술사 2026. 6. 9.

 

NeurIPS 2022 Main Conference Track

 


순서가 있는 라벨을 예측하는 문제를 CLIP의 language prior로 풀어보자는 논문입니다. 기존 ordinal regression은 나이 16, 17, 18세 또는 severity 0, 1, 2, 3 같은 rank를 사실상 독립 class처럼 다루는 경우가 많습니다. 그러면 “class 간 순서성”을 충분히 반영하지 못하고, rank concept을 training data에서만 학습하기 때문에 few-shot이나 distribution shift 상황에서 overfitting이 생길 수 있습니다. 논문은 이를 해결하기 위해 각 rank label을 text prompt로 바꾸고, CLIP text encoder를 통해 각 rank에 해당하는 language prototype을 만듭니다. 이후 image feature가 해당 language prototype과 잘 align되도록 contrastive learning 형태로 학습합니다.

 

Method


  • Rank category $R={r_{j} | 0 <= j < C}$
  • C: 전체 rank/class 수
  • X: 배치 내 이미지 (배치사이즈는 B)
  • Y: one-hot label
  • $I_{i}$: Image feature
  • $p_{j}$: 언어모델쪽에서나온 프로토타입
  • image-text similarity: $a_{i,j}=I_{i}\cdot p_{j}^{T}$

 

문제 정의:

1. Language Prototype 만들기: 순위자체를 텍스트로 바꿔서 진행함. 예를 들어 age estimation이면 "a person of the age of {rj}" 이런걸로 만듬. 그러면 $r_{j}$ 에 대한 텍스트 임베딩이나오고, 이를 prototype $p_{j}$으로 씀.

2. Image-language matching으로 ordinal regression 재정의

  1. $r'_{k}$: rank 프롬프트를 직접 넣는게아니라, 0단계의 프롬프트와 마지막단계의 프롬프트에 해당함 (learnable token)
  2. $r_{j}$: $r'_{0}$와 $r'_{k}$을 가지고 Linear interpolation해서 중간단계들을 만듬.
  3. $T_{k}$: rank j 의 프롬프트 전체 = {context promt embedding} + {rank prompt}
  4. $p_{j}$: text encoder을 통과한 임베딩

=> 초기값이 random initialization인데, 이거 잘못세팅되면 Linear interpolation이 거의 의미가없을듯. 

반응형