멀티모달 학습의 핵심은 "서로 다른 형태의 입력을 같은 뜻으로 연결하는 것"입니다. 이미지와 문장은 모양이 완전히 다르지만, 둘 다 같은 고양이를 가리킬 수 있습니다. CLIP은 이 연결을 shared embedding space라는 하나의 공통 좌표계 위에서 만들고, contrastive learning은 그 좌표계를 학습시키는 방법입니다. 이 강의에서는 왜 공통 좌표계가 필요한지부터 시작해, positive pair와 negative pair, contrastive loss, zero-shot 분류까지 순서대로 설명합니다.
이미지 분류기와 언어 모델이 각각 잘 작동한다고 해서, 이미지와 문장을 함께 이해하는 것은 아닙니다. 멀티모달 시스템에서는 "이 문장이 이 이미지와 맞는가?", "이 이미지에 어떤 문장이 가장 잘 대응되는가?"를 판단할 수 있어야 합니다. 이를 위해서는 이미지와 텍스트를 비교 가능한 형태로 바꿔야 합니다.
CLIP은 이 문제를 "둘 다 벡터로 바꾸고 같은 공간에서 비교하자"는 방식으로 풉니다. 이미지 인코더와 텍스트 인코더의 출력을 각각
라고 하겠습니다. 중요한 점은 이 두 벡터가 같은 차원의 공통 공간 안에 놓인다는 것입니다. 이렇게 해야 이미지 벡터와 텍스트 벡터의 거리나 내적을 직접 비교할 수 있습니다.
왜 공통 공간이 필요한지를 직관적으로 보면 간단합니다. 이미지와 텍스트는 원래 표현 방식이 너무 다릅니다. 픽셀과 단어는 직접 비교할 수 없습니다. 하지만 둘을 같은 의미 축을 가진 벡터 공간으로 보낸다면, "같은 뜻은 가깝고 다른 뜻은 멀다"라는 규칙을 적용할 수 있습니다.
이제 학습 데이터에서 서로 실제로 대응되는 이미지-텍스트 쌍을 positive pair로 둡니다. 반대로 맞지 않는 조합은 negative pair로 둡니다. 모델은 positive pair는 가까워지게 만들고, negative pair는 멀어지게 만들고 싶어 합니다.
이 직관은 보통 다음과 같은 contrastive loss로 표현됩니다.
여기서
는 실제로 맞는 문장 벡터이고, 분모에는 현재 이미지와 비교되는 여러 문장 후보가 들어갑니다. 이 식의 뜻은 단순합니다. 정답 문장과의 유사도는 높이고, 다른 문장들과는 구분되게 만들겠다는 것입니다.
이 학습이 반복되면 shared embedding space가 만들어집니다. 이 공간에서는 "같은 뜻"이 거리나 내적으로 표현됩니다. 예를 들어 고양이 사진은 "a cat" 문장 근처로 가고, 자동차 사진은 "a car" 문장 근처로 갑니다. 결국 서로 다른 모달리티가 같은 의미 축 위에서 비교될 수 있게 됩니다.
이 공통 좌표계가 중요한 이유는 단순한 검색을 넘어서기 때문입니다. 이미지 검색에서는 문장 쿼리와 가까운 이미지를 찾을 수 있고, 반대로 이미지 설명도 텍스트 공간에서 찾을 수 있습니다. 더 나아가 이 정렬이 되어 있어야 VLM에서 시각 정보와 언어 정보를 함께 다루는 질의응답이 가능해집니다.
CLIP이 zero-shot 분류에 강한 이유도 여기서 나옵니다. 새로운 클래스라도 텍스트 설명만 만들 수 있으면, 이미지와 그 설명의 유사도를 비교해 분류할 수 있습니다. 즉 고정된 숫자 클래스 헤드 없이도, 자연어 설명 자체가 분류 기준 역할을 하게 됩니다. 그래서 CLIP은 단순한 이미지-텍스트 매칭 모델이 아니라, 멀티모달 표현학습의 기초 모델로 취급됩니다.
positive pair의 의미
문제: 고양이 사진과 "a cat" 문장이 한 데이터 예시에서 함께 주어졌다면 어떤 쌍인가?
풀이: positive pair다.
해설: 서로 실제로 대응되는 이미지-텍스트 쌍이기 때문이다.
contrastive loss의 방향
문제: contrastive loss는 맞는 쌍과 틀린 쌍에 각각 어떤 힘을 가하는가?
풀이: 맞는 쌍은 가깝게 만들고, 틀린 쌍은 멀게 만든다.
해설: 공통 공간 안에서 의미 구조를 만드는 기본 원리다.
zero-shot 분류의 직관
문제: CLIP에서 텍스트 설명만으로 새 클래스를 분류할 수 있는 이유는 무엇인가?
풀이: 이미지와 텍스트가 같은 좌표계에 있으므로, 새 텍스트 설명도 즉시 비교 기준으로 쓸 수 있기 때문이다.
해설: 분류 기준을 고정된 번호표가 아니라 자연어 설명으로 바꿀 수 있다.