RECODE: Reasoning Through Code Generation for Visual Question Answering

이 논문은 시각적 추론의 정확성과 검증 가능성을 높이기 위해 이미지를 실행 가능한 코드로 역추적하는 'RECODE'라는 에이전트 프레임워크를 제안하고, 이를 통해 다양한 벤치마크에서 기존 방법보다 우수한 성능을 입증했습니다.

Junhong Shen, Mu Cai, Bo Hu, Ameet Talwalkar, David A Ross, Cordelia Schmid, Alireza Fathi

게시일 Wed, 11 Ma
📖 3 분 읽기☕ 가벼운 읽기

Each language version is independently generated for its own context, not a direct translation.

📊 그림을 읽는 새로운 방법: 'RECODE'가 해결한 미스터리

오늘 소개할 논문은 **"MLLM(멀티모달 대형 언어 모델)"**이라는 똑똑한 AI 가 차트나 도표 같은 복잡한 그림을 볼 때 겪는 고민을 해결한 이야기입니다.

🕵️‍♂️ 문제: AI 가 그림을 볼 때 겪는 '눈가림'

지금까지 AI 는 그림을 볼 때 마치 사람이 사진을 한 번 쓱 훑어보는 것처럼 픽셀 (점) 단위로만 보았습니다.

  • 비유: 마치 미로를 볼 때, 벽 하나하나의 색만 보고 "어디로 가야 할지" 추측하는 것과 비슷합니다.
  • 결과: "이 그래프의 막대 높이가 정확히 100 인가, 101 인가?" 같은 정밀한 계산이나 논리적 추론을 할 때 AI 는 자주 틀립니다. "눈으로 봤으니 대충 이런 것 같다"라고 추측할 뿐, 검증할 수 있는 방법이 없기 때문입니다.

💡 해결책: 그림을 '코드'로 되돌리기 (Derendering)

이 논문은 **"그림을 다시 그릴 수 있는 프로그램 (코드) 을 만들어보자!"**는 아이디어를 제시합니다. 이를 **DERENDERING(되돌리기)**이라고 부릅니다.

  • 창의적 비유:
    Imagine you have a delicious cake (the image).
    기존 AI 는 **"이 케이크는 초콜릿이고 달콤해!"**라고 맛을 보고 추측만 합니다.
    하지만 RECODE는 **"이 케이크를 만들기 위해 필요한 레시피 (코드) 를 역추적해서 찾아내는 것"**입니다.
    • "밀가루 200g, 설탕 50g, 오븐 180 도에서 30 분..."
    • 이렇게 **레시피 (코드)**를 만들면, "설탕이 50g 맞나?"라고 다시 계산해 볼 수 있고, 정확한 이유를 알 수 있게 됩니다.

🤖 RECODE 가 어떻게 일하는지 (3 단계)

  1. 시도하기 (생성):
    AI 는 입력된 그림을 보고 "이걸 그릴 수 있는 코드가 뭐지?"라고 여러 가지 **후보 레시피 (코드)**를 만들어냅니다. (예: "아마도 이 그래프는 파이썬 코드로 그렸을 거야"라고 상상하며 여러 버전의 코드를 씁니다.)

  2. 심사하기 (비평가):
    만들어진 코드들을 실행해 봅니다. 실행된 결과가 원래 그림과 얼마나 닮았는지 **엄격한 심사위원 (크리틱)**이 확인합니다.

    • "이 코드는 그래프가 조금 찌그러졌네? 탈락!"
    • "이 코드는 축의 숫자가 딱 맞아떨어지네? 합격!"
  3. 다듬기 (반복):
    가장 잘 맞는 코드를 골라 더 정교하게 다듬습니다. 이 과정을 반복하면, AI 는 그림을 단순히 '보는' 것이 아니라, 그림을 '만드는 논리'를 이해하게 됩니다.


🌟 왜 이것이 중요한가요?

이 방법은 그림을 보는 방식을 '추측'에서 '검증'으로 바꿔줍니다.

  • 기존 방식: "저기 숫자가 100 인 것 같아." (틀릴 수 있음)
  • RECODE 방식: "이 코드를 실행해 보니 100 이라는 값이 정확히 계산되었어. 따라서 정답은 100 이다." (검증 가능)

이 기술은 차트 (ChartQA), 기하학 문제 (Geometry3K) 등 숫자와 논리가 중요한 분야에서 기존 AI 들보다 훨씬 뛰어난 성능을 보여줍니다.

🚀 결론

RECODE는 AI 에게 "그림을 그리는 법 (코드) 을 먼저 배우게 함으로써, 그림을 더 정확하게 이해하게 만든" 혁신적인 방법입니다. 마치 미로에서 길을 잃지 않기 위해 지도 (코드) 를 먼저 그리는 것과 같아서, 앞으로 AI 가 복잡한 데이터를 분석할 때 훨씬 더 똑똑하고 신뢰할 수 있는 파트너가 될 것입니다.