Chain-of-Visual-Thought: Teaching VLMs to See and Think Better with Continuous Visual Tokens
Chain-of-Visual-Thought: Teaching VLMs to See and Think Better with Continuous Visual Tokens
Abstract
- VLM의 한계를 극복하기 위한 Chain-of-visual-thought (COVT)라는 새로운 프레임워크를 제안함
- 문제점: 기존 VLM은 언어적 추론에는 뛰어나지만, 공간적 추론이나 기하학적 인식과 같이 밀도 높은 시각적 지각이 필요한 작업에서는 어려움을 겪음
- 시각적 정보를 제한적인 텍스트 토큰으로만 처리하려 하기 때문임
- 해결책: VLM이 단순히 단어로만 추론하는 것이 아니라, 연속적인 시각 토큰을 통해 시각적으로 사고할 수 있게 하는 COVT 프레임워크를 도입함
- 이 시각 토큰들은 2D 외형, 3D 기하학, 공간 배치, 가장자리 구조 등 풍부한 시각적 신호를 압축하여담고 있음
- 약 20개의 적은 토큰 예산으로 가벼운 비전 전문가 모델의 지식을 distill해서 학습함
- 추론 시에는 이 연속적인 시각 토큰 공간에서 직접 사고하며, 필요에 따라 이를 시각화하여 모델이 무엇을 보고 있는지 해석할 수 있음
- 성과: qwen2.5-vl, llava와 같은 강력한 vlm에 covt를 적용했을 때, 10개 이상의 다양한 perception 벤치마크에서 성능이 향상됨
Introduction
- VLM의 성공 - 시각적 입력을 언어 중심의 토큰 공간으로 projection함
- llm이 가진 강력한 구성력과 논리적 추론 능력을 그대로 상속받아 자연어를 통한 멀티모달 상호작용이 가능해졌음
- 텍스트 기반 추론의 한계
- 기존의 텍스트 기반 cot는 논리/수학 문제에서는 효과적이지만, 시각적 추론에서는 근본적인 한계가 있음
- 연속적인 시각 정보를 discrete한 텍스트 토큰으로 변환하는 과정에서 세밀한 지각 정보가 손실되기 때문임 - boundaries, layout, depth, geometry …
- 현재 VLM은 perception이 많은 counting 등의 task는 어려워함
- 텍스트로만 시각적 관계를 설명하게 하면, 오히려 모델의 시각적 추론 성능이 저하되는 현상이 발생하기도 함
- qwen3-vl-thinking < qwen3-vl-instruct
⇒ 시각적 정보는 내재적으로 연속적이고 고차원인데, 현재 모델들은 language token을 통해서 추론을 하기 때문에 복잡한 인지 추론 능력이 떨어짐
- 기존 해결책
- 외부 비전 도구를 사용하는 방식 - 계산 비용이 높고 도구의 성능에 결과가 제한된다는 단점이 잇음
- 또는 사고 과정에서 이미지를 생성하거나 cropping할 수 있음
- 이것도 역시 이미지를 text space에 project하는 방법임
- 본 연구는 이러한 한계를 극복하기 위해, ‘_vlm이 모든 것을 단어로 번역하지 않고 인간처럼 시각적으로 사고할 수는 없을까?’_라는 질문을 던짐
→ 외부 도구 없이 모델 내부에서 시각적 신호를 직접 처리하는 COVT를 제안함
- 동작 원리
- 연속적 시각 토큰을 도입하여 VLM이 시각적 단서 - 2D 외형, 3D 기하학, 공간 배치 등 -를 직접 추론에 활용하도록 함
- 학습 과정에서 모델은 가벼운 시각 전문가 모델들의 지식을 distill해서, 추론 과정 중 이 시각 토큰들을 예측하고 생성하도록 훈련됨
- 전문가 모델 통합
- task-oriented experts
- SAM(객체 분할), DepthAnything(깊이), PIDINet(윤곽선)
- prompt level에서 정렬
- representation-based expert
- DINO(의미적 특징)
- feature space에서 정렬됨
- 이해, 생성, 추론, 효율적 추론의 4단계 점진적 학습을 통해 모델이 시각적 사고를 익히도록 함
- task-oriented experts
- 추론 과정
- 추론 시 모델은 텍스트 / 시각 토큰이 섞인 covt를 형성함
- 의미론적으로 일관되고 perceptually 근거가 있는 답변을 생성하게 됨
- 모델 내부에서 이 과정이 처리되지만, 필요하다면 생성된 시각토큰을 디코더에 넣어서 이미지로 (마스크, 깊이 맵 등) 변환할 수 있음
- 이를 통해 사용자는 모델이 무엇을 보고 어떻게 생각했는지 눈으로 직접 확인할 수 있음
- 추론 시 모델은 텍스트 / 시각 토큰이 섞인 covt를 형성함
- 다양한 벤치마크에서 뛰어난 성능을 보였음
- cv-bench, depth 관련 task 등
- 압축된 시각적 사고가 더 정밀하고 근거 있는 멀티모달 지능을 가능하게 함을 증명함
- contribution 요약
- 연속적 시각 토큰을 통한 추론 프레임워크 covt 제안
- 효과적인 시각 토큰 정렬 전략 및 4단계 학습 파이프라인 제안
- 다양한 벤치마크에서의 성능 향상 및 모델의 해석 가능성 입증
- 이렇게 여러 perception-intensive한 task에 대해서 visual token을 생성할 수 잇고, 이는 추후 decoder를 통해 interpretable하게 시각화할 수도 있음
Related work
- Tool-augmented reasoning
- VLM이 외부의 전문 시각 도구를 호출하여 문제를 해결하는 방식
- 모델이 스스로 해결하기 어려운 시각적 작업을 외부의 전문 모델에 위임하여 처리함
- 한계점
- 외부 모델 실행하는 계산 비용
- 사용하는 외부 도구의 성능에 따라 최종 성능이 종속됨
- Text space reasoning
- llm에서 큰 성공을 거둔 cot를 시각적 모달리티로 확장하려는 시도들
- 이미지 → 캡션으로 변환하거나, 텍스트 논리를 통해 이미지를 해석하려고 함
- 한계점
- 연속적인 시각 정보를 discrete한 텍스트로 변환하는 과정에서 본질적으로 정보 손실
- visual cot : 이미지에 대한 텍스트 해석에 의존하여 추론이 텍스트 공간에 한정됨
- MCoT: 보조 이미지를 생성하거나 편집하여 추론하지만, 계산 비용이 많이 들고 유연성이 부족함
- VChain: 이미지/텍스트를 번갈아서 사용하지만, 여전히 이미지를 텍스트 공간으로 projection하여 시각 정보가 손실됨
- covt는 연속적인 “시각 토큰”을 사용하여 3d 인식 / 밀도 높은 시각 정보를 직접 추론에 활용함
- Latent space reasoning
- 텍스트와 같은 명시적인 토큰 대신, 모델 내부의 잠재 표현을 사용하여 추론하는 방식
- 복잡한 다단계 작업 시, 연속적인 latent 임베딩이 명시적인 텍스트 cot보다 효율적일 수 있다는 점에서 착안
- coconut & ccot: llm에서 추론 과정을 연속적인 토큰으로 압축하여 효율성을 높임
- aurora: depth, detection 신호의 잠재 표현 (vq-vae latents)를 사용해서 시각적 추론을 강화함
- mirage: 시각적 추론을 위해 latent imagination을 활용함
- covt는 이러한 연구들을 확장하여, tool-use의 개념을 잠재 공간에 직접 내재화했음
- perceptual experts와 정렬된 시각적 사고 토큰을 모델 내부에서 생성하며 마치 도구를 쓴 것처럼 정밀하게 사고함
Method
3.1. Preamble
- 기존 VLM의 한계점
- Text-only cot는 error를 누적함 → **초기 단계에서 오류가 발생하면 뒤로 갈수록 오류가 누적되는 문제**
- 최종적으로 틀린 결과를 도출하게 됨
- 오류가 퍼지기 전에 시각 정보를 정확하게 포착할 수 있는 짧고 효율적인 추론 방식이 필요함
- 텍스트 중심 학습 신호의 한계
- **모델을 학습할 때 정답 supervision이 주로 텍스트로만 주어지는 것에 대한 문제**
- 텍스트 형식의 정답만 맞추면 되기 때문에, 이미지 내의 edge, depth, region 같은 낮은 수준의 세밀한 시각적 단서를 깊게 파악할 동기가 부족함
- vlm 자체가 이미지에서 정밀한 시각 정보를 추출하는 능력을 갖춰야 하며, 이 정보는 추후 vision decoder를 통해 시각화될 수 있어야 함
- Text-only cot는 error를 누적함 → **초기 단계에서 오류가 발생하면 뒤로 갈수록 오류가 누적되는 문제**
3.2. CoVT overall pipeline
- 💡vlm이 단순히 텍스트만 예측하는 것이 아니라, 연속적 시각 토큰을 생성하도록 훈련시켜서, **모델 내부에서 시각적 추론과 언어적 추론**이 자연스럽게 이어지도록 만드는 것
- next token prediction 확장
- vision experts를 통한 knowledge distillation
- vlm이 생성한 시각 토큰이 실제로 유의미한 시각 정보를 담으려면 supervision이 필요함
- 이를 위해 4가지 가벼운 vision expert의 지식을 distill하여 학습함
- **segmentation tokens - 객체 분할**
- SAM (segment anything model)
- VLM이 생성한 8개의 토큰을 SAM 디코더에 넣으면 마스크 이미지가 복원되도록 학습함
- **depth tokens - 깊이 인식**
- 픽셀 수준의 깊이 정보 (3d 공간 관계) 파악
- DepthAnything v2
- vlm이 생성한 4개의 토큰을 사용하여 depth map을 재구성하도록 학습함
- **edge tokens - 구조 인식**
- 객체의 경계선 및 기하학적 구조 파악
- PIDINet
- 4개의 토큰을 사용해서 edge map을 그려내도록 학습
- **DINO tokens - 의미 인식 (semantic)**
- 이미지의 의미론적 특징 파악
- DINO v2
- 생성된 4개의 토큰이 DINOv2가 추출한 패치 특징과 일치하도록 학습
- **segmentation tokens - 객체 분할**
- 추론과 시각화
- latent space 추론
- 실제 사용 시에는 매번 이미지를 생성 x
- 연속적인 시각 토큰 상태에서 바로 사고를 진행함
- 이를 통해 계산 비용을 줄임
- 해석 가능성
- 필요하다면, 생성된 시각 토큰을 디코더에 통과시켜 사람이 볼 수 있는 이미지로 변환하여 보여줄 수 있음
- latent space 추론
3.3. CoVT tokens
- Token selection based on core perception ability
- **token selection**: covt 프레임워크가 어떤 종류의 시각적 능력을 학습할 것인가?
- vlm의 핵심적인 지각 능력을 4가지로 분류하고, 각 능력에 맞는 전문가 모델을 선정해서 시각 토큰을 학습시킴
- instance recognition
- 객체의 위치와 모양 파악
- **SAM** → segmentation tokens 2. 2d and 3d spatial relationship
- 픽셀 수준의 깊이 정보 파악
- **depthAnything v2** → depth tokens 3. structure detection
- geometry-level details
- 객체의 구조적 단서 및 경계선 감지
- **PIDINet** → edge tokens 4. deep mining of semantic information
- 이미지의 의미론적 패치 표현 학습
- **DINO v2** → DINO tokens
- Tokens alignment based on granularity of visual models
- token alignment: vision experts와 어떻게 연결할 것인가?
- 모든 vision 모델이 동일한 방식으로 작동하지 않기 때문에, 모델의 성격에 따라 2가지 다른 정렬 방식을 사용함
- **fine-grained task-oriented**: SAM, DepthAnything, PIDINet
- vlm이 생성한 시각 토큰을 프롬프트 공간으로 project해서 전문가 모델의 decoder와 정렬함
- **representation-based**: DINO v2
- 덜 세밀하지만 전반적인 특징을 담고 있음
- feature space에서 전문가 모델의 encoder 출력값과 직접 정렬함
- **fine-grained task-oriented**: SAM, DepthAnything, PIDINet
### (1) Segmentation tokens
- 8개의 토큰 사용 → linear layer → cross attention → T_sam
- 예측한 마스크와 gt 마스크를 매칭 - dice loss, focal loss
- gt 마스크: 풀로 sam을 돌려서 여러개의 마스크를 얻은 다음, 품질 높은 8개를 gt로 선정
- 8개의 pair가 순서가 다를 수 있기 때문에 헝가리안 매칭 알고리즘을 사용
- 8개의 예측값과 8개의 정답 사이의 모든 조합에 대해 비용을 계산
- 전체 비용이 가장 적게 드는 최적의 1:1 짝꿍(Pair)을 찾아줌
- ex. “예측 1번은 정답 3번이랑 짝, 예측 2번은 정답 5번이랑 짝…” 이런 식으로 매칭을 확정
- loss function
- dice loss: 마스크의 겹치는 영역 (iou)를 최소화
- focal loss: 픽셀 단위의 분류 오차를 최소
### (2) Depth tokens
- 4개의 토큰 → 4개의 프롬프트로 작동
depthanything 인코더에서 추출한 dense 피처와 batch matrix multiplication을 통해 depth map D를 재구성함
최종 예측 depth map은 4개의 예측값 평균
- L1 reconstruction loss를 통해서 최적화
### (3) Edge tokens
- 생성된 4개의 토큰은 각각 PIDINet의 특징 맵에 적용되는 1x1 convolutional kernel로 활용됨
- 토큰 자체가 필터 역할을 해서 edge map을 그려냄
- 마찬가지로 4개의 edge map 평균을 예측 edge map으로 사용
- 마찬가지로 L1 reconstruction loss를 통해서 최적화
### (4) DINO tokens
- 4개의 토큰을 DINOv2가 추출한 patch level feature와 모양이 같아지도록 projection함
- mse loss를 통해서 dino feature과 직접 같아지도록 학습함
3.4. CoVT Training
training loss
- ce loss: vlm이 텍스트를 올바르게 생성했는지 측정하는 기본 손실
- γ,λ : visual loss에 대한 하이퍼파라미터, 실험에서는 모두 1로 설정함
→ text도 잘 생성하고, visual token도 잘 생성하게 됨
training data
- 시각 토큰을 점진적으로 익히도록 4단계 커리큘럼을 도입함
- 갑자기 어려운 task을 시키면 기존 언어 능력을 까먹거나 학습이 불안정해지는 것을 방지하기 위함임
- 이해 - comprehension stage
- 모델에게 시각 토큰의 기본적인 의미를 가르침
-
태그 바로 뒤에 시각 토큰을 삽입하여, 모델이 이미지 입력과 시각 토큰을 연관짓도록 함 - 입력에 정답 gt visual 토큰을 넣어서 visual token에 대해 이해하도록
- 생성 - generation stage
- 모델이 시각 토큰을 “정확하게 생성”하도록 학습
- 질문과 답변을 수정해서 모델이 명시적으로 시각 토큰을 출력하도록 유도함
- 질문-“이미지의 깊이 맵은 무엇인가?”, 답변-
<depth tokens>- 추론 - reasoning stage
- 시각 토큰을 사용해서 복잡한 문제를 풀도록 함
안에서 시각 토큰을 생성하고, 이를 근거로 최종 를 출력하는 전체 사고과정을 학습함 - 효율적 추론 - efficient reasoning stage
- 모델이 고정된 패턴에 얽매이지 않고 유연하게 사고하도록 함
- 시각 토큰의 일부 유형을 무작위로 제거하여 학습함
- ex. 어떨 때는 깊이 token 없이 seg token으로만 추론하도록..
- 주어진 정보만으로 효율적으로 답을 찾는 법을 학습함
- 데이터셋
- vision-centric data: llava-onevision 데이터셋 중 시각 중심 서브셋
- spatial perception data: 공간 지각 능력을 키우기 위한 tallyqa (숫자 세기), ade20k-depth (깊이 인식)
Experiments
Experiment Details
- 메인 베이스라인: qwen2.5-vl-7b
- lora 사용 adaptation
- rank 16, alpha 32
- learning rate: lora 5e-5, projection modeul 1e-5
- 학습 step
- 1단계 (Comprehension): 4,000 steps
- 2단계 (Generation): 3,000 steps
- 3단계 (Reasoning): 3,000 steps
- 4단계 (Efficient Reasoning): 5,000 steps
- a100 1장 or a6000 4장
- 배치 크기 4
Model Evaluation
- 모든 평가는 VLMEvalKit를 통해서 평가되었음
- VLMEvalKit: 오픈소스 평가 툴킷
- vision-centric benchmark
- main 평가를 CV-Bench로 하였음
- 하위 항목 중 count, depth, distance task를 중점적으로 보았음
- BLINK, RealWorldQA, MME-RealWorld: 현실 세계의 복잡한 이미지 이해 능력 평가
- MMStar: 이 벤치마크에서는 ‘대략적 인식(Coarse)’, ‘세밀한 인식(Fine-grained)’, ‘인스턴스 추론’과 같은 서브셋만 골라서 평가함
- non-vision-centric benchmark
- 시각 능력만 키우다가 기존의 일반적인 언어 능력이나 지식을 까먹지 않았는지 확인
- ocrbench, mme, wemath, hallusionBench 등
- 시각 능력만 키우다가 기존의 일반적인 언어 능력이나 지식을 까먹지 않았는지 확인
Quantitative Results
- 베이스라인 모델과의 비교
- covt를 적용하니까 일관되게 성능이 높아짐
- cvbench의 경우 5.5% 성능 향상
- subtask의 경우 depth task에서는 무려 14% 성능이 향상됨
- 토큰 수가 많아질 수록 성능이 올라감
- 1가지 token: seg
- 3가지 token: seg + depth + dino
- 4가지 token: seg + depth + dino + edge
- 특히 depth, distnace 추론 능력이 극대화 됨
- 각 토큰들이 서로 겹치는 정보를 주는게 아니라 상호 보완적인 정보를 제공하여 시너지를 냄
다른 베이스라인에도 적용해서 결과 봄- llava-v1.5-13b
- relative depth에서 aurora (다른 베이스라인 method) 보다 12.9% 우수함
- counting task
- 범용적으로 적용할 수 있는 방법론임
Qualitative Results
- visual 토큰들을 실제로 볼 수 있는 이미지로 복원해서 모델이 정답을 맞히기 위해서 시각 정보를 어떻게 활용했는지 분석함
- 얼굴 위 점 거리 비교 - relative depth
- 물체 간 거리 비교 - scene understanding
- 테니스 코트 라인 세기 - fine-grained details
- 실제로 모델이 판단한 시각적 근거를 시각화할 수 있음
Ablation studies
**Text-only Chain-of-Thought vs Chain-of-Visual Thought**
- covt > text-only cot
- **Token numbers**
**decoder align 방법**
- 기존 방식 : 시각 토큰을 expert 모델의 인코더 feature와 단순히 mse loss로 정렬
- covt: 시각 토큰을 decoder의 프롬프트로 사용해서 마스크, 깊이 맵을 복원하는 방식
부작용은 없는가? non-vision-centric task에 대해서
- 평균 1.2%의 성능 개선을 보임
Conclusion
- CoVT가 기존 VLM의 한계를 극복하고 향후 멀티모달 추론 시스템의 기초가 될 수 있음
- 연속적인 시각 토큰을 통해서 모델이 언어 공간의 제약을 넘어 밀도 높은 시각적 표현을 활용해 추론할 수 있음
- 서로 다른 종류의 시각 토큰이 합쳐질 때 더 강력한 성능을 발휘할 수 있음
- 한계: 아직 탐구하지 않은 더 효율적이거나강력한 시각 전문가 모델 조합이 있을 수 있음
- 완전한 interleaved한 추론이 부재함
- 현재는 시각적 생각 → 텍스트 답변
- 추후에는 텍스트와 시각적 생각이 자유롭게 섞여서 물흐르듯 이어지는 진짜 멀티모달 사고과정을 구현하는 것이 목표
- 완전한 interleaved한 추론이 부재함
This post is licensed under CC BY 4.0 by the author.















