CLIP (Contrastive Language-Image Pre-training)
CLIP (대조 언어-이미지 사전 학습)을 살펴보며 비전과 언어를 연결하는 방법을 알아보세요. CLIP이 제로샷 학습을 가능하게 하고 Ultralytics YOLO26을 구동하는 방식을 살펴보세요.
CLIP (대조적 언어-이미지 사전 학습)은 시각 데이터와 자연어 사이의 간극을 연결하는 신경망 아키텍처로, OpenAI가 개발했습니다. 고정된 카테고리 집합에 대해 노동 집약적인 데이터 라벨링이 필요한 기존 컴퓨터 비전 (CV) 시스템과 달리, CLIP은 인터넷에서 수집한 수백만 개의 이미지-텍스트 쌍으로 학습하여 이미지의 의미를 이해합니다. 이 접근 방식을 통해 모델은 제로샷 학습을 수행할 수 있습니다. 즉, 텍스트 설명을 읽는 것만으로도 학습 중에 명시적으로 본 적이 없는 객체, 개념 또는 스타일을 식별할 수 있습니다. CLIP은 시각 정보와 언어 정보를 공유된 특징 공간에 매핑함으로써 광범위한 다운스트림 작업을 위한 강력한 파운데이션 모델로 활용되며, 작업별 파인튜닝을 광범위하게 수행할 필요가 없습니다.
아키텍처 작동 방식#
CLIP의 핵심 메커니즘은 두 개의 병렬 인코더로 구성됩니다. 하나는 일반적으로 Vision Transformer (ViT) 또는 ResNet을 기반으로 하는 이미지 인코더이고, 다른 하나는 최신 대규모 언어 모델 (LLMs)에서 사용되는 것과 유사한 텍스트 Transformer입니다. 대조 학습이라는 과정을 통해 시스템은 배치 내에서 어떤 텍스트 조각이 어떤 이미지와 일치하는지 예측하도록 학습됩니다.
학습 중 모델은 일치하는 이미지-텍스트 쌍의 벡터 임베딩을 서로 가깝게 끌어당기고 일치하지 않는 쌍은 서로 멀어지게 하도록 파라미터를 최적화합니다. 이를 통해 다중 모달 잠재 공간이 생성되며, 여기서 "골든 리트리버" 이미지의 수학적 표현은 "개의 사진"이라는 텍스트 임베딩과 공간적으로 가까운 위치에 놓입니다. 이러한 벡터 간 코사인 유사도를 계산하면 모델은 이미지가 자연어 프롬프트와 얼마나 잘 대응하는지 정량화할 수 있으며, 유연한 이미지 분류와 검색이 가능해집니다.
실제 적용 사례#
비전과 언어를 연결하는 능력 덕분에 CLIP은 최신 AI 애플리케이션의 핵심 기술이 되었습니다:
- 지능형 시맨틱 검색: CLIP을 사용하면 복잡한 자연어 처리 (NLP) 쿼리를 사용하여 대규모 이미지 데이터베이스를 검색할 수 있습니다. 예를 들어 소매업의 AI 환경에서 고객은 "빈티지 플라워 여름 원피스"를 검색하고, 이미지에 해당 메타데이터 태그가 구체적으로 지정되어 있지 않아도 시각적으로 정확한 결과를 얻을 수 있습니다. 이 기능은 고성능 벡터 데이터베이스를 통해 구현되는 경우가 많습니다.
- 생성형 AI 제어: Stable Diffusion과 같은 모델은 CLIP을 사용하여 사용자 프롬프트를 해석하고 생성 과정을 안내합니다. CLIP은 스코어러 역할을 하여 생성된 시각적 결과가 텍스트 설명과 얼마나 잘 일치하는지 평가하며, 이는 고품질 텍스트-이미지 합성에 필수적입니다.
- 개방형 어휘 객체 감지: YOLO-World와 같은 고급 아키텍처는 CLIP 임베딩을 통합하여 임의의 텍스트 입력을 기반으로 객체를 감지합니다. 이를 통해 의료 분야의 AI와 같은 분야에서 동적 감지가 가능해집니다. 이러한 분야에서는 재학습 없이 새로운 장비나 이상 징후를 식별해야 합니다.
Ultralytics에서 CLIP 특징 사용하기#
표준 객체 감지기는 학습된 클래스에 한정되지만, CLIP 기반 특징을 사용하면 개방형 어휘 감지가 가능합니다. 다음 Python 코드는 ultralytics 패키지를 사용하여 사용자 지정 텍스트 프롬프트로 객체를 감지하는 방법을 보여줍니다:
from ultralytics import YOLOWorld
# Load a pre-trained YOLO-World model utilizing CLIP features
model = YOLOWorld("yolov8s-world.pt")
# Define custom classes using natural language text prompts
model.set_classes(["person wearing sunglasses", "red backpack"])
# Run inference on an image to detect the text-defined objects
results = model.predict("travelers.jpg")
# Display the results
results[0].show()관련 개념 구분하기#
CLIP의 구체적인 활용 목적을 이해하려면 CLIP을 다른 일반적인 AI 패러다임과 구분하는 것이 도움이 됩니다:
- CLIP과 지도 학습의 비교: 기존 지도 모델은 모든 카테고리(예: "고양이", "자동차")에 대해 엄격한 정의와 라벨이 지정된 예시를 요구합니다. CLIP은 웹에서 수집한 원시 텍스트-이미지 쌍으로 학습하므로 더 높은 유연성을 제공하고, Ultralytics Platform과 같은 도구를 통해 수행되는 수동 어노테이션의 병목 현상을 제거합니다.
- CLIP과 YOLO26의 비교: CLIP이 개념에 대한 일반화된 이해를 제공하는 반면, YOLO26은 속도와 정밀한 위치 추정에 최적화된 특화된 실시간 객체 감지기입니다. CLIP은 흔히 특징 추출기 또는 제로샷 분류기로 사용되는 반면, YOLO26은 프로덕션 환경에서 고속 실시간 추론을 수행하는 엔진입니다.
- CLIP과 표준 대조 학습의 비교: SimCLR과 같은 방법은 일반적으로 동일한 이미지의 증강된 두 뷰를 비교하여 특징을 학습합니다. CLIP은 이미지와 텍스트 설명을 대조하여 단일 데이터 모달리티가 아니라 서로 다른 두 데이터 모달리티를 연결합니다.









