2025. 6. 13.
최근 인공지능 분야에서 이미지 검색 기술이 빠르게 발전하고 있습니다. 특히, CLIP(Contrastive Language–Image Pre-training) 모델은 이미지와 텍스트를 동시에 이해하는 능력으로 주목받고 있습니다. 이번 글에서는 도메인 특화 이미지 검색 시스템을 구축하기 위해 CLIP 모델을 어떻게 파인튜닝(fine-tuning) 할 수 있는지, 그리고 그 과정에서 전이 학습(Transfer Learning)과 대비 학습(Contrastive Learning)이 어떻게 활용되는지에 대해 자세히 알아보겠습니다.

CLIP 모델이란?
CLIP은 OpenAI에서 개발한 모델로, 이미지와 텍스트를 동일한 임베딩 공간에 매핑하여 두 모달리티 간의 유사도를 학습합니다. 이를 통해 이미지와 텍스트 간의 다양한 작업을 수행할 수 있습니다.
CLIP의 구조
이미지 인코더: 이미지를 벡터로 변환합니다.
텍스트 인코더: 텍스트를 벡터로 변환합니다.
공유 임베딩 공간: 이미지와 텍스트 벡터를 동일한 공간에 위치시켜 유사도를 계산합니다.
이러한 구조를 통해 CLIP은 이미지와 텍스트 간의 관계를 효과적으로 학습합니다.
전이 학습(Transfer Learning)의 활용
전이 학습은 대규모 데이터셋으로 사전 학습된 모델을 특정 도메인에 맞게 재학습시키는 방법입니다. CLIP은 약 4억 개의 이미지-텍스트 쌍으로 사전 학습되어 있어, 이를 기반으로 도메인 특화 작업에 적은 데이터로도 효과적인 파인튜닝이 가능합니다.

전이 학습의 장점
데이터 효율성: 적은 양의 도메인 데이터로도 높은 성능을 달성할 수 있습니다.
시간 절약: 사전 학습된 모델을 활용하여 학습 시간을 단축할 수 있습니다.
성능 향상: 도메인 특화 작업에서 기존 모델보다 높은 정확도를 기대할 수 있습니다.
예를 들어, 패션 도메인에서 CLIP을 활용한 이미지 검색 시스템을 구축할 때, 소규모의 패션 데이터셋을 사용하여도 효과적인 결과를 얻을 수 있습니다.
대비 학습(Contrastive Learning)의 적용
대비 학습은 유사한 쌍은 가깝게, 비유사한 쌍은 멀게 임베딩하는 방식으로 모델을 학습시키는 방법입니다. CLIP의 핵심 학습 방식이기도 합니다.

대비 학습의 원리
양성 쌍(Positive Pair): 같은 의미를 가진 이미지와 텍스트 쌍.
음성 쌍(Negative Pair): 다른 의미를 가진 이미지와 텍스트 쌍.
목표: 양성 쌍의 임베딩은 가깝게, 음성 쌍의 임베딩은 멀게 학습.
이러한 방식은 특히 라벨이 부족한 상황에서 효과적이며, 다양한 도메인에 적용 가능합니다.
도메인 특화 이미지 검색 시스템 구축 방법
의류, 패션 같은 특정 산업군에서 효과적인 이미지 검색 시스템을 만들기 위해서는 사전학습된 CLIP 모델을 도메인 특화로 파인튜닝하는 것이 핵심입니다. 다음은 직접 구현한 예제를 중심으로 도메인 특화, 전이 학습, 대비 학습을 어떻게 반영했는지 단계별로 설명합니다.
1. 도메인 특화(Domain Specialization)
도메인 특화는 일반적인 CLIP 모델이 이해하지 못할 수 있는 패션 업계 전용 토큰을 추가하고, 해당 도메인의 문장과 이미지 쌍을 모델이 학습할 수 있도록 유도하는 단계입니다.
주요 전략
패션 관련 신조어 및 전문어 추가
모델이 의류 스타일과 트렌드를 더 정교하게 이해할 수 있도록 다음과 같은 패션 특화 단어들을 tokenizer에 추가하였습니다:
추가된 토큰에 맞춰 임베딩 레이어 재초기화
새롭게 추가된 토큰에 대해 기존 텍스트 임베딩 레이어의 크기를 확장하고, 그 일부를 정규 분포로 초기화하였습니다.
도메인 텍스트-이미지 쌍 활용
이미지 설명 문장도 패션 용어를 적극 활용한 문장을 구성하였습니다.
이를 통해 모델은 기존에는 학습하지 못했던 세부적인 패션 트렌드와 스타일에 대해 이해력을 높이게 됩니다.
2. 전이 학습(Transfer Learning)
전이 학습은 CLIP이 대규모 웹 이미지-텍스트 쌍으로 사전 학습된 정보를 의류 이미지 검색이라는 도메인에 맞게 이어서 학습하는 방식입니다. 주로 **미세 조정(fine-tuning)**을 통해 수행됩니다.

주요 전략
사전학습된 CLIP 모델 로드
일부 계층만 초기 학습 (5 에폭 동안 Freeze)
모델 전체를 학습하지 않고, 텍스트·이미지 프로젝션과 로짓 스케일 계층만 활성화하여 전이 학습의 안정성과 효율성을 높였습니다.
5 epoch 이후 전체 파라미터 학습 활성화
모델이 충분히 적응한 후, 모든 파라미터를 학습시켜 보다 세밀한 도메인 적응을 유도했습니다.
이 방식은 기존의 학습된 특징을 보존하면서도 새로운 도메인 지식에 효과적으로 적응하도록 돕습니다.
3. 대비 학습(Contrastive Learning)
CLIP의 핵심 원리인 대비 학습은 이미지와 텍스트 쌍 간의 임베딩 유사도를 학습하여 검색 정확도를 높이는 핵심 전략입니다.
주요 전략
이미지-텍스트 양방향 손실 계산
학습 중 이미지 임베딩과 텍스트 임베딩 간의 코사인 유사도를 기반으로 다음과 같은 방식으로 손실을 계산합니다:
정규화된 임베딩 사용 및 유사도 행렬 계산
학습이 완료된 후, 이미지와 텍스트 임베딩을 정규화한 뒤 유사도 행렬을 계산하여 검색 품질을 시각화합니다.
성능 평가
Top-1 Accuracy 기준으로 평가하여 학습된 모델의 검색 정밀도를 측정하였습니다.
이 과정을 통해 모델은 이미지와 문장 간 의미적 대응 관계를 점점 더 정확하게 파악하게 됩니다.
직접 구현한 예제는 CLIP 모델을 의류 분야에 특화시키기 위해 도메인 어휘 추가, 전이 학습 기반 파인튜닝, 대비 학습 기반 손실 계산을 유기적으로 연결한 훌륭한 사례입니다.
이러한 구조를 다른 산업군(예: 의료, 전자기기, 예술 등)에 적용할 경우, 도메인 특화 어휘와 설명만 바꾸어주면 유사한 방식으로 적응시킬 수 있습니다.
파인튜닝 후 검색 함수 실행
`find_image_from_text` 함수는 텍스트 쿼리를 입력받아 가장 유사한 이미지를 찾아내고, `find_text_from_image` 함수는 이미지 URL을 입력받아 해당 이미지와 가장 유사한 텍스트 설명을 찾아냅니다. 파인튜닝 과정을 통해 이러한 요소들이 도메인 특성에 맞게 업데이트되므로, 검색 결과의 정확도와 관련성이 크게 향상됩니다.

실행결과
파인튜닝된 모델과 준비된 데이터셋을 사용하여 다음과 같이 검색 함수를 호출할 수 있습니다.
이 코드를 실행하면 텍스트 쿼리 또는 입력 이미지에 대해 파인튜닝된 모델이 계산한 유사도를 기반으로 상위 k개의 검색 결과(이미지 또는 텍스트)와 해당 설명, 유사도 점수가 출력됩니다. 또한, 검색된 이미지가 시각적으로 표시됩니다.

최적화와 고급 전략
LLM2CLIP 기법
최근에는 대형 언어 모델(LLM)을 활용하여 CLIP의 텍스트 임베딩 품질을 높이는 시도도 활발합니다. LLM2CLIP은 텍스트 설명의 품질을 향상시켜 전체 성능을 끌어올리는 효과를 보이고 있습니다. 이는 특히 세밀한 언어적 표현이 중요한 도메인에서 유용합니다
※ [참고] arXiv 논문
저해상도 사전 학습 → 고해상도 파인튜닝 (RECLIP)
리소스를 절약하면서도 높은 성능을 얻고 싶다면, RECLIP 전략을 활용해 볼 수 있습니다. 초기 학습은 저해상도 이미지로 진행하고, 이후 고해상도 이미지로 파인튜닝하여 효율성과 성능을 동시에 확보합니다
※ [참고] RECLIP 논문
기존의 키워드 기반 검색은 한계가 명확했습니다. 그러나 CLIP 모델의 등장과 파인튜닝 전략의 결합은 이미지 검색의 가능성을 새롭게 열고 있습니다. 도메인 특화된 텍스트 설명과 고품질 이미지를 적절히 활용한다면, 실제 사용자 니즈에 부합하는 이미지 검색 시스템을 구현할 수 있습니다.