[논문 리뷰] ViperGPT: Visual Inference via Python Execution for Reasoning
ViperGPT는 코드 생성 모델을 사용해 시각-언어 모듈을 Python 프로그램으로 구성하고 이를 실행해 시각적 질의에 답합니다. 작업별 학습 없이도 시각적 매칭, VQA, 및 영상 추론에서 강력한 제로샷 성능을 달성합니다.
Answering visual queries is a complex task that requires both visual processing and reasoning. End-to-end models, the dominant approach for this task, do not explicitly differentiate between the two, limiting interpretability and generalization. Learning modular programs presents a promising alternative, but has proven challenging due to the difficulty of learning both the programs and modules simultaneously. We introduce ViperGPT, a framework that leverages code-generation models to compose vision-and-language models into subroutines to produce a result for any query. ViperGPT utilizes a provided API to access the available modules, and composes them by generating Python code that is later executed. This simple approach requires no further training, and achieves state-of-the-art results across various complex visual tasks.
연구 동기 및 목표
- 복잡한 시각 질의에 대해 엔드-투-엔드 비전 모델에 대한 모듈식이고 해석 가능한 대안을 제안한다.
- 코드 생성 모델을 사용해 모듈화된 시각/언어 도구를 API를 통해 호출하는 Python 프로그램을 합성하는 프레임워크를 제안한다.
- 작업별 training 없이 제로샷으로 시각적 매칭, VQA, 및 영상 추론에서 최첨단 성능을 보여준다.
- visual tasks를 가속화하고 모듈식 시각 추론 연구를 촉진하기 위한 재사용 가능한 Python 라이브러리를 제공한다.
제안 방법
- 모듈식 시각 및 지식 컴포넌트(예: find, exists, compute_depth, best_text_match)로 구성된 API를 사전 학습된 모델로 뒷받침한다.
- 대형 언어 모델(Codex)을 사용해 텍스트 질의에서 이러한 모듈을 프로그램으로 결합하는 Python 코드를 생성한다.
- 표준 Python 해석기로 생성된 Python 프로그램을 실행해 최종 답을 얻고 해석 가능성을 위한 명확한 중간 값을 확보한다.
- 모듈 구현을 LLM 컨텍스트 윈도우로부터 추상화한 채 코드 생성을 안내하는 API 명세와 도크스트링을 제공한다.
- 멀티프로세싱 및 배치 실행을 가능하게 하여 GPU에서 여러 프로그램을 효율적으로 처리한다.
실험 결과
연구 질문
- RQ1LLM을 통한 제로샷 프로그램 합성이 시각-언어 모듈을 효과적으로 결합해 작업별 학습 없이도 복잡한 질의에 답할 수 있는가?
- RQ2생성된 프로그램이 시각 추론 과제를 해결할 때 중간 단계가 해석 가능하고 충실한가?
- RQ3모듈식 인지 및 외부 지식 컴포넌트가 시각 매칭, VQA, 및 영상 추론 작업의 성능에 미치는 영향은 무엇인가?
- RQ4Python 기반 실행 프레임워크가 비디오 데이터로 확장되어 시간적/인과적 추론을 특수 해석기 없이 지원할 수 있는가?
주요 결과
- 시각적 매칭, 이미지 질문 응답, 외부 지식 QA 및 영상 시간/인과 추론에서 강력한 제로샷 성능을 달성한다.
- 답이 모듈형 구성 요소가 생성하는 명시적 중간 값에서 구성되기 때문에 해석 가능한 단계별 실행이 얻어진다.
- 지각 모듈(GLIP, X-VLM, MiDaS)과 Python 수준 로직 및 외부 지식 쿼리(GPT-3)의 결합이 다양한 작업을 처리하는 데 도움이 된다.
- 해당 프레임워크는 작업별 훈련 없이도 개방형 세계 질의를 지원하며, 개선은 기본 모듈 및 코딩 구성에 좌우된다.
- 영상 추론은 순차적 지각 및 순서화된 프레임에 대한 추론을 통해 나타나며, 주로 이미지에 대한 지각 모듈을 사용하더라도 경쟁력 있는 결과를 달성한다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.