
강력한 사전 훈련된 시각-언어 모델(예: CLIP)의 등장과 함께, 이러한 모델을 하류 데이터셋에 적응시키는 방법을 탐구하는 것이 점점 더 중요해지고 있다. 최근 제안된 Context Optimization(CoOp)이라는 방법은 자연어처리(NLP) 분야에서 주목받고 있는 프롬프트 학습(prompt learning) 개념을 시각 분야에 도입하여 사전 훈련된 시각-언어 모델의 적응을 가능하게 한다. 구체적으로 CoOp는 프롬프트 내의 맥락 단어를 학습 가능한 벡터 집합으로 변환하며, 레이블이 부여된 이미지가 몇 장만 존재하더라도 수동으로 정교하게 튜닝된 프롬프트에 비해 훨씬 큰 성능 향상을 달성할 수 있다. 본 연구에서는 CoOp의 핵심 문제를 규명한다: 학습된 맥락은 동일한 데이터셋 내에서 관측되지 않은 더 넓은 클래스에 대해 일반화되지 못한다는 점으로, 이는 CoOp가 훈련 과정에서 관측된 기본 클래스에 과적합(overfitting)되고 있음을 시사한다. 이 문제를 해결하기 위해 우리는 조건부 맥락 최적화(Conditional Context Optimization, CoCoOp)를 제안한다. CoCoOp는 CoOp를 확장하여 각 이미지에 대해 입력 조건에 따라 토큰(벡터)를 생성하는 가벼운 신경망을 추가로 학습한다. CoOp의 정적 프롬프트와 달리, CoCoOp의 동적 프롬프트는 각 입력 인스턴스에 맞춰 적응되므로 클래스 분포의 변화에 덜 민감하다. 광범위한 실험 결과에 따르면, CoCoOp는 CoOp보다 훨씬 우수한 비관측 클래스에 대한 일반화 성능을 보이며, 단일 데이터셋을 넘어서도 유망한 전이 가능성을 보이고, 더 강력한 도메인 일반화 성능을 달성한다. 코드는 다음 링크에서 제공된다: https://github.com/KaiyangZhou/CoOp.