콘텐츠로 이동

VLM은 이미지와 텍스트를 한 모델 안에서 함께 다루는 구조입니다. 중요한 점은 단순히 두 입력을 같이 넣는 것이 아니라, 언제 어떤 방식으로 합칠지를 설계하는 것입니다. 이 강의에서는 왜 fusion이 필요한지, cross-attention이 어떤 역할을 하는지, grounding이 왜 핵심 품질 기준인지 순서대로 설명합니다.

먼저 알아둘 말

  • VLM: 이미지와 텍스트를 함께 다루는 비전-언어 모델이다.
  • vision encoder: 이미지를 특징 벡터나 특징 시퀀스로 바꾸는 모듈이다.
  • language model: 텍스트를 읽고 생성하는 모듈이다.
  • fusion: 서로 다른 모달리티의 정보를 합치는 방식이다.
  • early fusion: 비교적 이른 단계부터 두 모달리티를 함께 섞는 방식이다.
  • late fusion: 각 모달리티를 따로 처리한 뒤 나중에 결합하는 방식이다.
  • cross-attention: 한 모달리티의 query가 다른 모달리티의 key/value를 참고하는 attention이다.
  • grounding: 생성된 언어가 실제 입력 시각 정보와 연결되는 성질이다.
  • hallucination: 입력에 없는 내용을 그럴듯하게 만들어 내는 오류다.

이 강의에서 답할 질문

  • VLM은 어떤 부품들의 결합으로 이루어지는가?
  • fusion 방식이 여러 가지인 이유는 무엇인가?
  • cross-attention은 어떤 정보를 주고받게 하는가?
  • grounding이 약하면 왜 그럴듯하지만 틀린 답이 생기는가?

먼저 떠올릴 장면

  • 한 장의 사진을 보고 "왼쪽에 있는 사람은 무엇을 들고 있는가?"라는 질문에 답하는 상황을 떠올려 봅시다.
  • 이때 모델은 문장만 잘 읽어도 안 되고, 이미지만 잘 보아도 안 됩니다.
  • 질문의 특정 단어를 읽는 순간 실제 이미지의 특정 영역을 참고해야 정확한 답이 나옵니다.

생각의 순서

  1. 먼저 이미지와 텍스트를 왜 함께 처리해야 하는지 봅니다.
  2. 그다음 두 표현을 어디서 합칠지, 즉 fusion 방식을 구분합니다.
  3. 이어서 cross-attention이 어떻게 시각 정보를 언어 생성에 연결하는지 설명합니다.
  4. 마지막으로 grounding이 왜 평가의 핵심인지 정리합니다.

본문

VLM의 기본 구조는 크게 두 부분입니다. 하나는 이미지를 벡터 시퀀스로 바꾸는 vision encoder이고, 다른 하나는 텍스트를 읽고 생성하는 language model입니다. 문제는 이 둘을 그저 나란히 두는 것만으로는 충분하지 않다는 점입니다. 모델이 실제로는 "질문의 어떤 부분이 이미지의 어느 정보와 연결되는가"를 알아야 하기 때문입니다.

바로 이 연결 방식을 정하는 것이 fusion architecture입니다. 즉 VLM 설계의 핵심은 "이미지 정보와 텍스트 정보를 언제, 어디서, 어떤 방향으로 섞을 것인가"입니다.

early fusion은 이미지 특징과 텍스트 토큰을 비교적 일찍부터 한 흐름 안에서 함께 처리합니다. 반대로 late fusion은 각 모달리티를 별도로 충분히 처리한 뒤, 더 높은 수준의 표현에서 결합합니다. 어느 쪽이 좋은지는 과제에 따라 달라집니다. 지역적인 시각 정보가 빠르게 필요하면 이른 결합이 유리할 수 있고, 각 모달리티를 먼저 충분히 해석한 뒤 합치는 편이 나으면 늦은 결합이 더 적합할 수 있습니다.

가장 자주 쓰이는 결합 방식 중 하나는 cross-attention입니다. 텍스트 쪽 상태를

$$ Q_{\text{text}} $$

라고 하고, 이미지 특징을

$$ K_{\text{img}},\; V_{\text{img}} $$

라고 하면 cross-attention은 대략 다음처럼 적을 수 있습니다.

$$ \mathrm{CrossAttn} = \mathrm{softmax}!\left( \frac{Q_{\text{text}}K_{\text{img}}^\top}{\sqrt{d}} \right) V_{\text{img}} $$

이 식의 뜻은 분명합니다. 지금 생성 중인 텍스트 상태가 이미지 특징들 중 어디를 얼마나 참고할지 결정한 뒤, 필요한 시각 정보를 끌어와 다음 언어 표현을 만드는 것입니다. 그래서 cross-attention은 "언어가 시각 정보를 읽는 창"이라고 볼 수 있습니다.

이 구조가 중요한 이유는 언어 생성이 항상 시각 정보를 필요로 하기 때문입니다. 예를 들어 "왼쪽 사람", "빨간 컵", "표지판에 적힌 글자" 같은 표현은 이미지 안의 특정 위치나 특정 속성을 정확히 참고해야만 답할 수 있습니다. 이런 경우 cross-attention은 언어 상태와 시각 특징을 직접 연결해 주는 핵심 통로가 됩니다.

하지만 시각 정보를 참고한다고 해서 자동으로 올바른 답이 보장되지는 않습니다. 모델이 이미지를 제대로 보지 않고, 언어적 습관만으로 문장을 이어 쓰면 겉보기에는 자연스럽지만 실제 입력과 어긋난 응답이 나올 수 있습니다. 예를 들어 이미지에 개가 없는데 "개가 공을 물고 있다"고 답하면 언어는 유창하지만 입력과는 맞지 않습니다.

이를 막기 위해 중요한 개념이 grounding입니다. grounding은 출력 문장이 실제 입력과 연결되어 있다는 뜻입니다. 즉 좋은 VLM은 문장을 잘 만드는 것만으로 충분하지 않고, 그 문장이 실제 시각 정보에 의해 뒷받침되어야 합니다. grounding이 약하면 hallucination이 늘어나고, 모델은 그럴듯하지만 틀린 설명을 자주 내놓게 됩니다.

결국 VLM은 단순한 "이미지+텍스트" 모델이 아닙니다. 어떤 정보를 언제, 어느 방향으로 전달할지 설계하는 fusion 구조의 문제이며, 그 결과가 실제 입력과 얼마나 연결되는지를 보는 grounding의 문제이기도 합니다. 그래서 VLM을 이해할 때는 성능 숫자보다 정보 흐름 구조와 grounding 품질을 함께 봐야 합니다.

예제

  1. cross-attention의 역할 문제: 질문 텍스트를 생성하는 중에 이미지의 특정 영역 정보를 참고하려면 어떤 구조가 적합한가? 풀이: 텍스트 query가 이미지 key/value를 참고하는 cross-attention 구조가 적합하다. 해설: 현재 언어 상태가 필요한 시각 정보를 선택해 가져오는 방식이기 때문이다.

  2. grounding 실패의 징후 문제: 이미지와 관계없는 그럴듯한 설명을 계속 만들어 낸다면 무엇이 약한 것인가? 풀이: grounding이 약한 것이다. 해설: 출력 언어가 실제 입력 시각 정보와 충분히 연결되지 않았다는 뜻이다.

  3. fusion 방식의 차이 문제: 왜 fusion 방식이 하나로 고정되지 않고 여러 가지가 존재하는가? 풀이: 과제마다 어느 시점에 모달리티를 결합하는 것이 더 유리한지가 다르기 때문이다. 해설: 정보 결합이 필요한 위치와 강도는 과제마다 다르므로, 설계도 여러 형태가 나온다.

스스로 점검

연습 문제

  1. VLM의 기본 부품을 설명하라.
  2. early fusion과 late fusion의 차이를 설명하라.
  3. cross-attention이 self-attention과 어떻게 다른지 설명하라.
  4. grounding이 왜 중요한 품질 기준인지 설명하라.

복습 질문

  1. VLM에서 fusion은 무엇을 결정하는가?
  2. cross-attention은 어느 방향의 정보 흐름을 만드는가?
  3. grounding이 약하면 어떤 오류가 생기는가?

체크포인트

  1. VLM의 기본 구조를 설명할 수 있다.
  2. fusion 방식이 여러 개인 이유를 이해한다.
  3. cross-attention의 수식을 말로 읽을 수 있다.
  4. grounding의 중요성을 설명할 수 있다.