---
title: "문장으로 분류기를 만드는 순간: CLIP이 연결한 이미지와 언어"
author: "Dne Cna"
published_at: "2026-10-07T03:00:03.226Z"
updated_at: "2026-09-30T08:15:21.243Z"
tags: ["ai","머신러닝","논문리딩","clip"]
canonical_url: "https://ariser.io/@writer_8706b598dfee/%EB%AC%B8%EC%9E%A5%EC%9C%BC%EB%A1%9C-%EB%B6%84%EB%A5%98%EA%B8%B0%EB%A5%BC-%EB%A7%8C%EB%93%9C%EB%8A%94-%EC%88%9C%EA%B0%84-clip%EC%9D%B4-%EC%97%B0%EA%B2%B0%ED%95%9C-%EC%9D%B4%EB%AF%B8%EC%A7%80%EC%99%80-%EC%96%B8%EC%96%B4"
ai_assisted: false
---

# 문장으로 분류기를 만드는 순간: CLIP이 연결한 이미지와 언어

[원문](https://ariser.io/@writer_8706b598dfee/%EB%AC%B8%EC%9E%A5%EC%9C%BC%EB%A1%9C-%EB%B6%84%EB%A5%98%EA%B8%B0%EB%A5%BC-%EB%A7%8C%EB%93%9C%EB%8A%94-%EC%88%9C%EA%B0%84-clip%EC%9D%B4-%EC%97%B0%EA%B2%B0%ED%95%9C-%EC%9D%B4%EB%AF%B8%EC%A7%80%EC%99%80-%EC%96%B8%EC%96%B4)

새로운 상품 분류 체계를 만들었다고 해 보자. 기존 모델은 운동화와 구두를 구분하지만, 이제는 출근용과 여행용으로 나누고 싶다. 보통은 새 라벨을 붙이고 분류기를 다시 훈련한다. CLIP은 여기에 다른 출발점을 제시한다. 분류할 개념을 문장으로 써서 이미지와 비교하면 어떨까.

이 아이디어가 편리한 이유는 모델이 처음 배운 클래스 목록을 프로그램 밖으로 꺼내 놓는 데 있다. 가중치를 바꾸기 전에 문장을 바꿔 새로운 분류 문제를 정의해 볼 수 있다. 하지만 편리함을 제대로 이해하려면, CLIP이 언어로 무엇을 배웠고 무엇을 하지 않는지 구분해야 한다.

## 캡션을 생성하는 대신 짝을 찾는다

CLIP에는 이미지 인코더와 텍스트 인코더가 있다. 둘은 각각 입력을 벡터로 바꾸고, 그 벡터를 같은 공간에서 비교할 수 있도록 학습한다. 학습 배치에 N개의 이미지와 그에 대응하는 N개의 문장이 있으면, 모든 이미지와 문장의 유사도를 계산한다.

정답은 원래 짝을 이룬 이미지와 문장이다. 이미지 쪽에서는 자신의 문장을 찾고, 문장 쪽에서는 자신의 이미지를 찾도록 대칭적인 교차엔트로피 손실을 사용한다. 유사도는 정규화한 벡터의 내적을 바탕으로 하며, 점수의 날카로움을 조절하는 학습 가능한 스케일이 들어간다. [원문](https://arxiv.org/abs/2103.00020)의 의사코드는 이 구조를 짧게 보여 준다.

이미지마다 긴 설명을 생성하는 디코더가 필수인 구조는 아니다. 이미지와 문장이 각자의 인코더를 거친 뒤 하나의 점수로 만난다. 따라서 텍스트를 출력하는 챗봇과는 작동 방식이 다르다. CLIP 자체에 사진을 보여 주고 상세한 설명문이 자동으로 나온다고 기대하면 다른 모델의 역할을 섞게 된다.

학습 배치에 강아지 사진과 강아지 설명이 여러 개 있다면, 원래 짝이 아닌데도 의미상 맞는 조합이 생길 수 있다. 배치의 비대응 쌍을 부정 예시로 취급하는 학습에는 이런 노이즈가 있다. 인터넷의 설명문도 객체를 빠뜨리거나 맥락만 말할 수 있다. 이 목표는 완벽한 의미 라벨이 아니라 많은 약한 신호에서 유용한 정렬을 배우는 방식이다.

## 문장이 분류기의 가중치가 된다

사전 학습을 마친 뒤 고양이와 강아지를 구분하려면 각 클래스의 설명을 텍스트 인코더에 넣는다. 입력 사진의 벡터와 설명 벡터를 비교해 가장 가까운 것을 고른다. 이때 텍스트 벡터들은 사실상 분류기의 클래스별 기준 방향 역할을 한다.

단어만 넣는 것보다 맥락을 포함한 설명이 도움이 될 수 있다. 예를 들어 `crane`은 새도 되고 기계도 된다. 이미지의 분류 대상이 무엇인지 문장으로 명확히 하는 것이 필요하다. 논문은 prompt engineering과 여러 표현을 합치는 방식이 zero-shot 평가에 영향을 준다는 점을 실제로 확인한다.

여기서 zero-shot은 해당 평가 작업의 훈련 이미지로 모델을 추가 학습하지 않는다는 뜻이다. 모델이 세상에서 그 개념을 처음 본다는 뜻은 아니다. 웹의 이미지와 문장으로 사전 학습했다면 관련 개념이 이미 등장했을 수 있다. 작업별 학습이 없다는 조건과 완전히 낯선 개념을 이해한다는 주장은 다르다.

또한 정답 후보는 사람이 정한다. 출근용과 여행용이라는 클래스가 겹칠 수 있고, 사진만으로는 용도를 알기 어려울 수 있다. 문장으로 문제를 정의하기 쉬워졌어도, 문제 자체가 시각적으로 판별 가능한지는 여전히 점검해야 한다.

## 이 논문이 크게 만든 것은 감독 신호의 범위다

일반적인 이미지 분류에서는 라벨이 제한된 클래스 이름으로 주어진다. 이미지에 붙은 자연어에는 대상, 행동, 분위기, 장소 같은 여러 정보가 들어갈 수 있다. CLIP은 이 넓고 불완전한 신호를 대규모 사전 학습에 활용한다. 원 논문은 웹에서 모은 4억 개의 이미지와 텍스트 쌍을 사용한다.

이 규모를 보고 데이터가 많아서 끝난 이야기라고 읽으면 아쉽다. 많은 데이터를 어떤 문제로 바꿔 학습했는지가 중요하다. 저자들은 자연어 감독을 사용하는 여러 목표를 비교하고, 짝을 찾는 대조 학습이 효율적으로 표현을 만드는 방법임을 보여 준다. 데이터 규모와 목적함수가 함께 결과를 만든다.

내 해석으로는 CLIP의 실용적 전환점은 언어를 학습용 보조 정보에만 쓰지 않은 데 있다. 추론 때도 언어를 새로운 작업의 인터페이스로 사용한다. 사전 학습에서 연결한 두 공간을 평가 때 다시 활용하므로, 새 클래스 목록을 사람이 읽고 수정할 수 있는 형태로 전달하게 된다.

## 잘 되는 작업과 어려운 작업을 같이 본다

논문은 다양한 데이터셋에서 zero-shot 전이를 평가한다. 일반적인 객체 분류에서 좋은 결과를 얻는 한편, 수량 세기나 일부 전문 영역 등에서는 약점을 보인다. 비교 대상의 supervised 학습 여부와 데이터 사용량을 함께 읽어야 정확한 의미가 드러난다.

특히 이미지에 무엇이 있는지 대략 맞히는 일과 관계를 정밀하게 판별하는 일은 다르다. 빨간 컵과 파란 접시가 각각 있는 사진을 인식해도, 어느 것이 왼쪽에 있는지 혹은 컵이 몇 개인지 정확히 표현하지 못할 수 있다. 이 예시는 모델의 표현 능력에 대해 확인할 질문이지, 모든 CLIP 모델에서 같은 오류가 난다는 단정은 아니다.

분포 변화에서의 평가도 중요하다. 배경이나 촬영 방식이 바뀌었을 때 작업별로 훈련한 모델과 다르게 반응할 수 있다. 다만 어느 모델이 더 강건하다는 결론은 평가한 변화의 종류 안에서 이해해야 한다. 모든 환경에 강하다는 범용 보증으로 받아들이기 어렵다.

웹 데이터의 시각적 편향도 임베딩에 들어갈 수 있다. 사람이나 직업을 분류하는 작업이라면 후보 문장과 데이터 구성에 따라 결과가 달라지는지 실제 사례를 확인해야 한다. 모델이 내놓은 유사도는 객관적인 사실 판정이 아니라 학습된 이미지 언어 관계의 점수다.

## 가벼운 도입 실험에도 설계가 필요하다

실무에서는 문장 후보를 바꾸어 보는 실험을 빠르게 할 수 있다. 하지만 평가 데이터를 보며 문장을 계속 조정했다면 그 데이터는 이미 개발 과정에 쓰인 것이다. 마지막 성능을 보고할 별도 평가 집합을 남겨 두는 편이 좋다. 문장 선택도 시스템 튜닝에 해당한다.

사진을 후보 중 하나로 분류하는 경우에는 없는 클래스를 억지로 고르는 문제도 고려해야 한다. 후보가 고양이와 강아지뿐이면 자동차 사진도 그 둘 중 가까운 쪽을 고를 수 있다. 유사도 점수를 확률처럼 해석하거나 고정 임계값 하나로 모든 작업을 처리하기 전에, 실제 입력에서 오탐과 미탐을 측정해야 한다.

검색에서는 이미지와 문장 임베딩을 미리 저장해 둘 수 있다는 장점이 있다. 매번 모든 후보를 신경망에 다시 넣기보다 벡터 검색으로 비교할 수 있다. 다만 텍스트 표현과 이미지 전처리, 모델 버전이 바뀌면 저장된 벡터도 같은 기준인지 확인해야 한다. 편리한 임베딩 인터페이스에도 일관된 데이터 관리가 필요하다.

CLIP을 읽고 나면 새 이미지 작업을 시작하는 방식이 바뀐다. 먼저 라벨을 대량으로 만들기 전에, 우리가 원하는 개념을 어떤 문장으로 설명할 수 있는지 시험할 수 있다. 그 가능성과 한계를 함께 이해하는 것이 중요하다. 언어가 분류기의 입력이 되는 순간 작업 정의는 훨씬 유연해지지만, 평가해야 할 책임까지 사라지는 것은 아니다.

논문 정보: Alec Radford 외, **Learning Transferable Visual Models From Natural Language Supervision**, 2021. [논문 원문](https://arxiv.org/abs/2103.00020) · [공식 설명](https://openai.com/index/clip/) · [공식 구현](https://github.com/openai/CLIP)

