AI VIDEO BRIEFING
CLIP이란 무엇인가? AI가 이미지와 텍스트를 같은 의미 공간에 놓아 서로 연결하는 학습 원리 정리
이미지에 무엇이 담겼는지 챗봇이 설명하고, 문장 한 줄로 그림을 만들어내는 비결은 CLIP입니다. 그림과 글을 같은 좌표 공간에 나란히 놓아 비교하는 학습 방식과 제로샷 분류, 확산 모델 활용까지 쉽게 풀어봅니다.

핵심 메시지
쉽게 이해하기
최근 챗봇에 사진을 넣고 '여기 뭐가 있어?'라고 물으면 답을 내놓는다. 또 '죽마를 탄 개구리' 같은 문장을 적으면 그에 맞는 그림이 생성된다. 이렇게 그림과 글을 자유롭게 오가게 해주는 다리 역할을 하는 기술이 바로 CLIP이다. CLIP은 Contrastive Language-Image Pairs의 약자로, 이미지를 마치 언어처럼 다룰 수 있는 형태로 바꾸는 것이 핵심 발상이다.
왜 굳이 이런 방식이 필요할까. 가장 단순한 방법은 고양이·개·버스처럼 정해진 1000개 항목으로 분류기를 학습시키는 것이다. 하지만 세상에는 그보다 훨씬 많은 것이 존재하고, 새 종류가 등장할 때마다 데이터를 다시 모아 처음부터 학습해야 한다. 이미지를 한 문장으로 묘사하는 캡션 방식도 더 풍부한 설명을 주긴 하지만, 학습한 적 없는 상황에는 여전히 약하다.
CLIP은 대신 이미지와 텍스트를 같은 '숫자 공간'에 집어넣는다. 단어 벡터처럼, 짝을 이루는 그림과 문장이 같은 좌표(지문)에 모이도록 벡터를 정렬해 학습하는 것이다. 이를 위해 이미지를 처리하는 비전 트랜스포머와 문장을 처리하는 텍스트 트랜스포머, 두 인코더를 동시에 훈련한다. 한 묶음(배치) 안에서 모든 그림과 문장 사이의 거리를 재고, 실제로 짝인 대각선 위 쌍은 비슷하게, 나머지는 서로 멀어지게 반복 조정한다. 유사도는 두 벡터 사이의 각도를 재는 '코사인 유사도'로 측정한다.
이런 학습이 가능하려면 어마어마한 데이터가 필요하다. 2021년 CLIP 논문은 인터넷에서 긁어모은 4억 개의 이미지-캡션 쌍을 사용했고, 오늘날 기준으로는 50억 개도 흔하다. 대체텍스트(alt text)나 이미지 주변의 설명처럼 쓸 만한 캡션이 붙은 그림을 웹 크롤러로 수집하는데, 그 양이 너무 많아 일일이 검수하기 어렵고 품질이 들쭉날쭉하거나 문제 있는 자료가 섞이기도 한다.
학습이 끝나면 CLIP은 여러 후속 작업의 부품으로 쓰인다. 스테이블 디퓨전 같은 확산 모델에서는 '배 앞에 선 남자' 같은 프롬프트를 CLIP 텍스트 인코더로 임베딩해 이미지 생성을 안내한다. 또 한 번도 분류하도록 훈련받지 않은 이미지를 맞히는 '제로샷 분류'도 가능하다. '고양이 사진', '개 사진' 같은 문장들을 미리 임베딩해 두고, 입력 이미지의 임베딩과 가장 가까운 문장을 찾는 식이다.
주요 인사이트
- CLIP의 본질은 '같은 의미면 같은 위치'다. 그림과 글을 같은 좌표 공간에 놓았기 때문에, 둘의 거리를 재는 것만으로 의미가 통하는지 판단할 수 있다.
- 분류기나 캡션 모델의 한계는 '확장성'이었다. 새 개념마다 재학습이 필요했지만, CLIP은 방대한 웹 데이터로 한 번 정렬해 두면 명시적으로 가르치지 않은 작업도 어느 정도 해낸다.
- 임베딩은 한 방향이다. 이미지와 텍스트를 같은 공간으로 보낼 수는 있어도 그 과정을 거꾸로 돌려 텍스트에서 이미지를 복원할 수는 없다. 그래서 제로샷 분류는 '문장 쪽을 미리 임베딩해 비교'하는 우회 방식을 쓴다.
- 성능은 규모에서 나온다. 미묘한 프롬프트까지 잘 반영하려면 수억~수십억 쌍의 학습이 필요하며, 데이터가 적으면 일반화 능력이 크게 떨어진다.
자주 묻는 질문
CLIP은 무엇의 약자이고 핵심 목표는 무엇인가요?
Contrastive Language-Image Pairs의 약자입니다. 이미지를 언어처럼 다룰 수 있도록, 그림과 그것을 설명하는 문장을 같은 숫자 공간(임베딩)에 나란히 놓아 서로 비교할 수 있게 만드는 것이 목표입니다.
CLIP은 어떻게 학습하나요?
이미지용 비전 트랜스포머와 문장용 텍스트 트랜스포머 두 인코더를 함께 학습합니다. 한 배치 안에서 모든 그림과 문장의 거리를 코사인 유사도로 재고, 실제로 짝인 쌍은 가깝게, 아닌 쌍은 멀어지게 반복 조정합니다.
학습된 CLIP은 어디에 쓰이나요?
확산 모델에서 텍스트 프롬프트를 임베딩해 이미지 생성을 안내하는 데 쓰이고, 분류 훈련을 받지 않은 이미지를 맞히는 제로샷 분류에도 사용됩니다. '고양이 사진' 같은 문장을 미리 임베딩해 입력 이미지와 가장 가까운 것을 고릅니다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗