Yolo 비전 선전
선전
지금 참여하기
용어집

CLIP (대조 언어-이미지 사전 훈련)

Explore how CLIP bridges the gap between vision and language. Learn about zero-shot learning, contrastive image-text pairs, and using CLIP with [YOLO26](https://docs.ultralytics.com/models/yolo26/) for open-vocabulary detection.

CLIP(Contrastive Language-Image Pre-training)은 시각 데이터와 자연어 간의 격차를 해소하는 OpenAI가 개발한 혁신적인 신경망 아키텍처입니다. 기존 컴퓨터 비전(CV) 시스템이 고정된 범주 집합을 위해 노동 집약적인 데이터 라벨링을 필요로 하는 것과 달리, CLIP은 인터넷에서 수집한 수백만 개의 이미지-텍스트 쌍으로 훈련하여 이미지를 이해하는 법을 학습합니다. 이러한 접근 방식 덕분에 모델은 제로샷 학습을 수행할 수 있습니다. 즉, 훈련 과정에서 명시적으로 본 적 없는 객체, 개념 또는 스타일을 단순히 텍스트 설명을 읽는 것만으로 식별할 수 있습니다. 시각적 정보와 언어적 정보를 공유된 특징 공간에 매핑함으로써, CLIP은 광범위한 다운스트림 작업에 대한 강력한 파운데이션 모델 역할을 하며, 방대한 작업별 미세 조정이 필요하지 않습니다.

건축은 어떻게 작동하는가

CLIP의 핵심 메커니즘은 두 개의 병렬 인코더를 포함합니다: 일반적으로 비전 트랜스포머(ViT) 또는 ResNet을 기반으로 하는 이미지 인코더와 현대적 대규모 언어 모델(LLM)에서 사용되는 것과 유사한 텍스트 트랜스포머입니다. 대조 학습( contrastive learning)으로 알려진 과정을 통해, 시스템은 배치 내 어떤 텍스트 스니펫이 어떤 이미지와 일치하는지 예측하도록 훈련됩니다.

훈련 과정에서 모델은 매칭되는 이미지-텍스트 쌍의 벡터 임베딩을 서로 가깝게 끌어당기면서 매칭되지 않는 쌍은 멀리 밀어내는 방식으로 매개변수를 최적화합니다. 이를 통해 "골든 리트리버" 이미지의 수학적 표현이 "개 사진" 텍스트 임베딩과 공간적으로 근접한 다중 모달 잠재 공간이 생성됩니다. 이 벡터들 간의 코사인 유사도를 계산함으로써 모델은 이미지가 자연어 프롬프트에 얼마나 잘 부합하는지 정량화할 수 있어 유연한 이미지 분류 및 검색을 가능하게 합니다.

실제 애플리케이션

비전과 언어를 연결하는 능력은 CLIP을 현대 AI 애플리케이션의 핵심 기술로 만들었습니다:

  • 지능형 의미 검색: CLIP은 사용자가 복잡한 자연어 처리(NLP) 쿼리를 사용하여 대규모 이미지 데이터베이스를 검색할 수 있게 합니다. 예를 들어, 소매업 AI 분야에서 쇼핑객은 "빈티지 플로럴 여름 드레스"를 검색하여 해당 이미지에 특정 메타데이터 태그가 없더라도 시각적으로 정확한 결과를 얻을 수 있습니다. 이는 종종 고성능 벡터 데이터베이스에 의해 구동됩니다.
  • 생성형 AI 제어: Stable Diffusion과 같은 모델은 사용자 프롬프트를 해석하고 생성 과정을 안내하기 위해 CLIP에 의존합니다. CLIP은 생성된 시각적 출력이 텍스트 설명과 얼마나 잘 일치하는지 평가하는 점수 부여자 역할을 하며, 이는 고품질 텍스트-이미지 합성에 필수적입니다.
  • 개방형 어휘 객체 탐지: YOLO 같은 고급 아키텍처는 임의의 텍스트 입력에 기반해 detect 위해 CLIP 임베딩을 통합합니다. 이는 의료 AI와 같은 분야에서 재훈련 없이도 새로운 장비나 이상 현상을 식별해야 하는 동적 탐지를 가능하게 합니다.

Ultralytics에서 CLIP 기능 사용하기

표준 객체 탐지기는 훈련된 클래스로 제한되지만, CLIP 기반 특징을 사용하면 개방형 어휘 탐지가 가능합니다. 다음은 Python 이 코드는 사용 방법을 보여줍니다. ultralytics 사용자 정의 텍스트 프롬프트를 사용하여 detect 패키지:

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의 특정 유용성을 이해하기 위해 다른 일반적인 AI 패러다임과 구별하는 것이 도움이 됩니다:

  • CLIP 대 지도 학습: 기존의 지도 학습 모델은 모든 범주(예: "고양이", "자동차")에 대해 엄격한 정의와 라벨링된 예시가 필요합니다. CLIP은 웹에서 발견된 원시 텍스트-이미지 쌍으로부터 학습하여 더 큰 유연성을 제공하고, Ultralytics 같은 도구를 통해 관리되는 수동 주석 작업의 병목 현상을 제거합니다.
  • CLIP 대 YOLO26: CLIP이 개념에 대한 일반화된 이해를 제공하는 반면, YOLO26은 속도와 정밀한 위치 파악을 위해 최적화된 실시간 객체 탐지기로 특화되어 있습니다. CLIP은 주로 특징 추출기나 제로샷 분류기로 사용되는 반면, YOLO26은 실제 운영 환경에서 고속 실시간 추론을 위한 핵심 엔진 역할을 합니다.
  • CLIP 대 표준 대비 학습: SimCLR 과 같은 방법은 일반적으로 동일한 이미지의 두 가지 증강된 뷰를 비교하여 특징을 학습합니다. CLIP은 이미지를 텍스트 설명과 대비시켜 단일 모달리티가 아닌 두 가지 서로 다른 데이터 모달리티를 연결합니다.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기