AI바라기의 인공지능

VLM : 빠른 논문 리뷰 : Generate, but Verify: Reducing Hallucination in Vision-Language Models with Retrospective Resampling 본문

논문리뷰

VLM : 빠른 논문 리뷰 : Generate, but Verify: Reducing Hallucination in Vision-Language Models with Retrospective Resampling

AI바라기 2026. 1. 22. 12:02


용어 설명 (Terminology)

  • REVERSE (REtrospective VERification and SElf-correction): 이 논문에서 제안하는 프레임워크로, VLM이 텍스트를 생성하는 동시에 스스로 검증하고, 불확실할 경우 되돌아가서(retrospective) 수정하는 방법론.
  • Visual Hallucination: VLM이 이미지에 존재하지 않는 객체나 관계를 마치 있는 것처럼 묘사하는 현상.
  • Generation Adjustment: Decoding 단계에서 logit 값을 조정하여 hallucination을 줄이려는 기존의 시도들 (예: VCD). 수정 메커니즘이 없다는 단점이 있음.
  • Post-hoc Verification: 텍스트 생성이 완료된 후 외부 모델(예: GPT-4)을 사용해 검증하는 방식. 비용이 많이 들고 복잡함.
  • Retrospective Resampling: 추론(Inference) 단계에서 모델이 </UN>(Unconfident) 토큰을 예측하면, 신뢰할 수 있는 지점(</CN>)으로 되돌아가(backtracking) 다시 생성하는 핵심 메커니즘.
  • Confidence Tokens (<SPAN>, </CN>, </UN>): 모델이 자신의 생성물에 대한 확신을 명시적으로 표현하도록 학습시키기 위해 도입한 특수 토큰들. </CN>은 확신(confident), </UN>은 불확신/환각(unconfident)을 의미.
  • Rejection Sampling: 수정 단계에서 hallucination 확률이 낮아질 때까지 온도를 높여(temperature scaling) 여러 번 샘플링하는 기법.
  • Query Rewriting: 단순 재생성이 아니라, 모델에게 "잠재적인 오류가 있는 구절"에 대한 힌트를 주어 프롬프트를 수정하고 다시 생성하게 하는 기법.

Purpose of the Paper

  • 기존 패러다임의 분리 문제 해결: 기존의 hallucination 완화 기법은 생성 과정을 수정하는 Generation Adjustment (수정 불가능, 휴리스틱 의존)와 생성이 끝난 후 검사하는 Post-hoc Verification (외부 모델 필요, 비용 높음, 단순히 거절만 하는 경향)으로 양분되어 있었음.
  • 단일 모델 내 통합 (Unified Framework): 이 논문은 외부 모델 없이 하나의 VLM이 생성(generation), 검증(verification), 수정(correction)을 모두 수행할 수 있도록 통합하고자 함.
  • 실시간 자가 수정 (On-the-fly Self-correction): 텍스트를 다 생성하고 나서 고치는 것이 아니라, 생성하는 도중에 스스로 오류를 감지하고 즉시 수정하여 효율성과 정확성을 높이는 것이 목적임.

Key Contributions

  • REVERSE Framework 제안: Hallucination-aware training과 Inference-time의 retrospective resampling을 결합하여, VLM이 스스로 오류를 감지하고 수정하는 최초의 통합 프레임워크를 제시함.
  • 1.3M Hallucination-Verification Dataset 구축:
    • 기존 데이터셋(LLaVA-v1.5-665k)을 기반으로 130만 개의 semi-synthetic 데이터를 생성.
    • 긍정(positive) 샘플에는 </CN>, 부정(negative/hallucinated) 샘플에는 </UN> 토큰을 부착하여 모델이 문장 단위의 확신도를 학습하도록 설계함.
  • Retrospective Resampling Mechanism:
    • Inference 시 모델이 </UN> 토큰의 확률이 임계값()을 넘으면 자동으로 생성을 중단.
    • τ
    • 가장 최근의 </CN> 지점으로 백트래킹(backtracking) 후, Rejection Sampling Query Rewriting을 통해 내용을 수정함.
  • 효율적인 Training Objective: </SPAN> </UN> 사이의(즉, 환각된) 토큰에 대해서는 loss를 계산하지 않음으로써(masking), 모델이 잘못된 정보를 학습하지 않고 오직 "이것이 환각이다"라는 사실(</UN>)만 학습하도록 유도함.

Novelty

  • Intrinsic Confidence Learning: 기존 모델들이 단순히 토큰 확률(log-prob)의 엔트로피 등에 의존했던 것과 달리, 특수 토큰(</CN>, </UN>)을 직접 학습시켜 모델이 명시적으로 자신의 확신도를 내뱉게 만듦.
  • Self-contained Correction Loop: Woodpecker 같은 기존 SOTA들이 무거운 외부 검증기(GPT-4 등)를 필요로 했던 것과 달리, 자체 모델의 확률 분포만을 사용하여 검증과 수정을 수행하므로 구조가 단순하고 범용적임.
  • Hierarchical Backtracking Strategy: 단순히 문장을 다시 만드는 것이 아니라, 로컬 범위(최근 </CN>)에서 먼저 수정을 시도하고 실패하면 글로벌 범위(문장 전체)로 확장하는 계층적 전략을 사용함.

Experimental Highlights

  • Benchmarks: CHAIR-MSCOCO, AMBER (Image Captioning), HaloQuest, MMHal (Open-ended VQA).
  • State-of-the-Art (SOTA) Performance:
    • CHAIR-MSCOCO: 기존 최고 성능 모델들(Woodpecker, VCD 등) 대비 CHAIR 점수(hallucination 비율)를 최대 12% 감소시킴.
    • HaloQuest: 거짓 전제(false premise)가 포함된 까다로운 질문에 대해 34%의 성능 향상을 기록함.
    • MMHal: GPT-4 기반 평가에서 기존 방법론들을 능가하며, hallucination rate를 유의미하게 낮춤.
  • Controllability (Trade-off): 임계값() 조절을 통해 Hallucination 억제와 표현력(Expressiveness/Coverage) 사이의 균형을 사용자가 직접 제어 가능함을 입증 (Figure 5).
    • 낮은  (0.0001) 적용 시, GPT-4V보다 더 낮은 hallucination rate 달성 가능.
    • τ
  • τ

Limitations and Future Work

  • Inference Efficiency: 오류 수정 시 백트래킹과 재생성(resampling) 과정이 필요하므로, 기본 모델 대비 토큰 생성량이 증가함 (평균 3배 미만, 최대 50회 시도 제한). Future Work: KV-cache 재사용 최적화 등을 통해 연산 비용을 줄이는 연구 필요.
  • Discriminative Tasks의 한계: Yes/No와 같은 단답형 질문(Discriminative VQA)에서는 백트래킹을 할 여지가 적어 성능 향상이 미미함.
  • Dataset Bias: 데이터 생성 과정에서 GPT-4o를 사용했기 때문에, GPT-4의 편향(bias)이나 커버리지 한계가 데이터셋에 반영될 수 있음. Future Work: 더 다양하고 편향이 적은 고품질 데이터셋 구축 필요.

Overall Summary

이 논문은 VLM의 고질적인 문제인 Visual Hallucination을 해결하기 위해, 외부 검증 모델 없이 단일 모델 내에서 생성, 검증, 수정을 통합한 REVERSE 프레임워크를 제안했습니다. 연구진은 130만 개의 특수 토큰 태깅 데이터셋을 구축하여 모델이 스스로 환각 여부를 판단하도록 학습시켰으며, 추론 시 Retrospective Resampling을 통해 오류를 실시간으로 감지하고 수정하도록 만들었습니다. 이 방법론은 CHAIR-MSCOCO 및 HaloQuest 등 주요 벤치마크에서 기존 SOTA(Woodpecker 등)를 큰 폭으로 상회하며, VLM의 신뢰성을 높이는 데 있어 Self-Correction 기법의 강력한 잠재력을 입증했습니다.


쉬운 설명 (Easy Explanation)

이 논문의 핵심 아이디어는 "글을 쓰다가 뭔가 찜찜하면 지우고 다시 쓰는 작가" 로 비유할 수 있습니다.

  • 기존 방식 (Generation Adjustment): 글을 쓸 때 애초에 틀린 단어를 안 쓰려고 뇌를 조작하는 방식(복잡하고 부자연스러움).
  • 기존 방식 (Post-hoc Verification): 글을 다 쓰고 나서 선생님(외부 모델)한테 검사를 받고, 틀렸으면 통째로 다시 쓰는 방식(선생님 모셔오기 비싸고 번거로움).
  • 이 논문의 방식 (REVERSE):
    1. VLM이 글을 쓰면서 스스로 "이건 확실해(</CN>)" 또는 "이건 좀 불안한데?(</UN>)"라고 표시를 남기게 훈련시킵니다.
    2. 글을 쓰다가 "불안하다(</UN>)"는 신호가 강하게 오면, 즉시 백스페이스(Backtrack) 를 눌러서 확실했던 지점으로 돌아갑니다.
    3. 그리고 "아까 그 부분은 틀릴 수 있으니까 다시 생각해봐(Query Rewriting)"라고 스스로에게 힌트를 주며 문장을 다시 작성합니다.
    4. 이 과정을 통해 남의 도움 없이 혼자서도 정확하고 믿을 수 있는 문장을 만들어냅니다.

 

 

 

 

 

 

더보기

REVERSE Inference Framework (Corrected)

  1. [Input] 이미지와 질문 프롬프트(예: "Describe this image.")를 모델에 입력합니다.
  2. [Generation Start] 모델이 답변 생성을 시작합니다.
  3. [Phrase Start] 주요 객체나 개념을 설명할 때 <SPAN> 토큰을 생성하고 내용을 쓰기 시작합니다 (예: <SPAN> a flying dog).
  4. [Lookahead / Monitoring] 단어를 생성하는 매 스텝마다, 다음 토큰이 </UN>(불확신)일 확률() 을 실시간으로 계산합니다.
  5. [Decision Point]
    • Case A (정상): </UN>일 확률이 낮다면, 해당 구문을 완성하고 </CN>(확신) 토큰을 생성합니다. (이 </CN> 위치가 새로운 "세이브 포인트"가 됩니다.)
    • Case B (환각 감지): 구문을 생성하던 중 혹은 끝날 때, </UN>일 확률이 임계값()을 넘으면, 모델은 </CN>을 생성하지 않고 즉시 멈춥니다.
  6. [Backtracking] 현재 작성 중이던(망친) 구문을 버리고, 가장 최근에 성공적으로 생성했던 </CN>의 위치(직전 세이브 포인트) 로 되돌아갑니다. (만약 첫 문장이라 이전 </CN>이 없다면 문장 시작점으로 이동)
  7. [Correction Prep] 입력 프롬프트 뒤에 "방금 실패한 단어는 틀릴 수 있다"는 힌트(Hint)를 추가합니다. (Query Rewriting)
  8. [Resampling] 세이브 포인트(</CN>) 이후부터 다시 생성을 시도합니다. 이때 창의성 온도(Temperature)를 약간 높여서 다른 표현이 나오도록 유도합니다. (Rejection Sampling)
  9. [Loop] 위 과정을 반복하며, </UN> 확률이 낮은 안전한 문장(... </CN>)이 나올 때까지 생성을 이어갑니다.
  10. [Finalize] 모든 생성이 끝나면 텍스트에 남아있는 <SPAN>, </CN>, </UN> 등의 특수 토큰을 모두 지웁니다.
  11. [Output] 사용자에게 최종 정제된 텍스트를 출력합니다.

 

 

별점 2점 / 5점

눈이 나쁜 아이에게 안경을 맞춰주는 대신, 틀리게 말할 때마다 눈치 챙기는 법만 130만 번 가르친 논문.