AI바라기의 인공지능
VLM : 논문리뷰 : Visual Chain-of-Thought Prompting for Knowledge-Based Visual Reasoning 본문
VLM : 논문리뷰 : Visual Chain-of-Thought Prompting for Knowledge-Based Visual Reasoning
AI바라기 2024. 7. 2. 15:06Visual Chain-of-Thought Prompting for Knowledge-Based Visual Reasoning
Abstract
지식 기반 시각적 추론은 시각 정보와 외부 지식을 종합적으로 활용해야 하므로 매우 어려운 과제입니다.
기존 연구들은 시각 인식과 언어 추론을 분리하여 처리하여 이러한 문제를 해결하지 못했습니다.
본 논문에서는 이를 극복하기 위해 시각적 사고 연쇄 프롬프트(Visual Chain-of-Thought Prompting, VCTP)를 제안합니다. VCTP는 다음 세 단계로 구성됩니다.
- 보기(See): 이미지에서 시각적 개념 후보를 추출합니다.
- 생각하기(Think): 언어 모델(LLM)을 활용하여 질문의 핵심 개념에 집중하고, 시각 정보를 텍스트로 변환하여 답변을 생성합니다.
- 확인(Confirm): 생성된 답변의 근거를 확인하고, 시각 정보와의 일치성을 검증합니다.
VCTP는 다양한 실험을 통해 다음과 같은 장점을 보였습니다.
- 뛰어난 성능: 기존 퓨샷 학습 방식보다 우수한 성능을 달성했습니다.
- 투명성 및 신뢰성: 각 추론 단계의 근거를 제시하여 투명하고 신뢰할 수 있는 추론 과정을 보장합니다.
- 높은 계산 효율성: 미세 조정 방식에 비해 계산 효율성이 높습니다.
VCTP는 지식 기반 시각적 추론 분야에서 혁신적인 발전을 이끌어낼 것으로 기대됩니다.
Introduction
인간처럼 추론하는 것 같습니다.
본 논문에서는 이미지 내용을 해석하고, 관련된 열린 세계 지식을 상기하며, 단계별 논리적 추론을 통해 답변에 도달해야 하는 지식 기반 시각적 추론 문제를 연구합니다.
지식 기반 시각적 추론은 시각적 맥락, 외부 지식, 자연어 질문을 추론 체인 전체에서 상호작용적으로 통합해야 하므로 기존의 시각적 질문 답변 및 추론보다 더 어렵습니다.
그림 1에서 보듯이, "방 이름이 무엇입니까?"라는 질문에 답하기 위해
인간은 먼저 방을 보고 "액자", "소파", "램프"와 같은 시각적 개념을 추출해야 합니다.
그런 다음 질문과 의미적으로 관련된 핵심 시각적 개념에 주목하고 "이것은 커피 테이블입니다", "갈색 베개가 있는 긴 소파가 있습니다"라고 생각하여 "거실"이라는 답변을 얻습니다.
마지막으로, 인간은 시각적 맥락을 다시 불러와 "소파와 커피 테이블은 보통 거실에 있습니다"라는 결론을 도출하여 답변이 맞는지 확인합니다.
시각-언어 및 언어-시각 상호 작용은 만족스러운 답변에 도달할 때까지 반복적으로 수행할 수 있습니다.
만약 기계도 이러한 능력을 갖추게 된다면 보조 로봇이나 챗봇 등 수많은 실제 응용 분야에 활용될 수 있을 것입니다.
기존에는 COT와 같은 방법이 사용되었지만 VLM에서는 적용하기 힘들었습니다.
따라서 기존 연구에서는 막대한 시각-언어 데이터로 LLM을 미세 조정하거나, PICa와 같은 프롬프트 기반 방법을 사용하여 이미지를 캡션으로 변환하여 텍스트 프롬프트를 수행하는 방법을 사용했습니다.
두 가지 방법 모두 인간의 추론 과정처럼 단계별 추론 체인을 생성할 수 없어 모델을 완전히 블랙박스로 남겨둡니다.
또한 시각적 인식과 언어 기반 추론을 독립적인 모듈로 취급하여 여러 양식 간의 상호 작용과 소통을 무시합니다.
- 이는 인간의 수행방식과는 다르다.-
이러한 점에 착안하여 본 논문에서는 대규모 언어 모델이 시각 정보와 상호 작용하고 소통하여 열린 세계 지식 기반 시각 추론을 위한 단계별 추론 체인을 구성하는 방법을 연구합니다.
이를 위해 그림 1의 인간 추론 과정을 모방하는 새로운 프레임워크인 시각적 사고 연쇄 프롬프트(Visual Chain-of-Thought Prompting, VCTP)를 제안합니다.
본 모델은 세 가지 핵심 모듈, 즉 보기 모듈, 생각하기 모듈, 확인 모듈을 갖춘 반복적이고 상호작용적인 프레임워크입니다.
이미지-질문 쌍이 주어지면 보기 모듈은 먼저 장면 파서를 사용하여 이미지의 모든 후보 시각적 개념을 추출합니다.
생각하기 모듈은 LLM을 사용하여 주어진 자연어 질문에 해당하는 관련 시각적 개념 (예: 그림 1의 "소파")을 선택하고 캡션 모델을 사용하여 시각 정보를 텍스트 설명 (예: "갈색 베개가 있는 긴 소파가 있습니다")으로 변환합니다.
LLM은 참석한 시각적 맥락을 기반으로 질문에 대한 답변 ("거실")을 예측합니다.
또한, 더 투명하고 신뢰할 수 있는 추론을 제공하기 위해 근거 확인을 위한 확인 모듈을 도입합니다.
구체적으로, LLM이 예측된 답변에 대한 근거 (예: 그림 1의 "소파와 커피 테이블은 보통 거실에 있습니다")를 생성하도록 요구합니다.
그런 다음 신경 교차 양식 분류기를 사용하여 이러한 근거와 주어진 시각적 입력 간의 매칭 유사성을 추정합니다. 마지막으로, 선택된 근거는 LLM의 프롬프트에 입력되어 근거가 동일한 출력을 일관되게 추론할 수 있도록 합니다.
두 번의 연속된 반복에서 답변이 동일할 때까지 충분한 교차 양식 상호 작용을 위해 생각하고 확인하는 과정을 반복합니다.
요약하면,
본 논문에서는 지식 기반 시각적 추론을 위한 새롭고 모듈화된 상호작용적이며 반복적인 프레임워크인 VCTP를 소개합니다.
VCTP는 이미지의 관련 시각적 개념에 반복적으로 주의를 기울이고 답변 예측에 대한 일관된 근거를 제공할 수 있습니다. VCTP는 몇 가지 장점을 제공합니다.
첫째, 효과적입니다. 지식 기반 벤치마크에 대한 광범위한 실험 결과 VCTP가 이전의 퓨샷 기준선보다 더 나은 성능을 달성함을 확인했습니다.
또한, VCTP는 예측으로 이어지는 전체 단계별 추론 추적을 유지하므로 더 투명하고 해석 가능합니다.
Related Work
Visual Prompting.
GPT3와 같은 대규모 언어 모델(LLM)은 자연어 처리(NLP)에서 퓨샷 프롬프팅(few-shot prompting)을 대중화했습니다.
퓨샷 프롬프팅은 여러 입력-출력 쌍을 맥락으로 사용하여 언어 모델이 작업을 이해하고 새로운 예시에 대한 예측을 생성하는 방식입니다.
chain-of-thought prompting과 그 변형들은 NLP에서 더 효과적이고 투명한 추론을 위해 개발되었습니다.
이후 프롬프팅은 비전 분야에도 도입되었습니다.
CLIP과 RegionCLIP은 훈련 중에 클래스 레이블을 자연어 감독으로 대체하여 제로샷 분류 및 감지를 가능하게 합니다.
CLIP 및 RegionCLIP: 이미지 분류 모델 훈련 시, 기존에는 "고양이", "개"와 같은 클래스 레이블을 사용했습니다. CLIP과 RegionCLIP은 이러한 레이블 대신 "고양이 사진", "개 사진"과 같은 자연어 설명을 사용하여 모델을 훈련합니다. 이를 통해 모델은 훈련 데이터에 없는 새로운 이미지도 분류할 수 있게 됩니다 (제로샷 분류).
UnitedIO는 각 비전 작업을 언어 프롬프트로 지정하여 멀티태스크 학습을 수행합니다.
UnitedIO: 하나의 모델로 여러 가지 비전 작업(이미지 분류, 객체 탐지 등)을 수행할 수 있도록 훈련하는 멀티태스크 학습 방법입니다. 각 작업에 대한 언어 프롬프트를 제공하여 모델이 어떤 작업을 수행해야 하는지 알려줍니다.
최근 연구에서는 Transformer를 훈련하여 먼저 근거를 예측한 다음, 멀티모달 특징 벡터를 기반으로 답변을 추론하는 방식을 제안했습니다.
변환기(Transformer) 모델을 사용하여 이미지를 분석하고, 먼저 이미지에 대한 설명(근거)을 생성한 다음, 이를 기반으로 질문에 대한 답변을 추론하는 방식을 제안했습니다.
본 논문에서는 이와는 다르게 지식 기반 시각적 추론을 위한 상호작용 프롬프팅 사용을 목표로 합니다.
이는 관련 시각적 개념 추출, 외부 지식 상기, 시각적 맥락과 일치하는 텍스트 예측 검증 등 언어 모델과 비전 모델 간의 빈번한 상호 작용을 필요로 합니다.
이러한 연구는 이전에는 제대로 연구되지 않았던 영역입니다.
Large Pre-trained Models for Visual Reasoning.
대규모 사전 훈련 모델은 시각 및 언어 추론에도 활용되어 왔습니다.
대부분의 연구에서는 방대한 시각-언어 데이터로 대규모 사전 훈련 모델을 학습한 후,
특정 하위 작업에 맞춰 미세 조정하는 방식을 사용합니다.
하지만 이러한 방식은 엄청난 계산량과 시간을 요구합니다.
예를 들어, Flamingo 모델은 15일 동안 185백만 개의 이미지와 182GB의 텍스트를 사용하여 1536개의 TPUv4에서 미세 조정해야 합니다.
또한, 이러한 사전 훈련 모델 중 다수는 제한적인 열린 세계 지식만을 포함하고 있어,
외부 지식을 활용하는 LLM 기반 모델에 비해 지식 기반 시각적 추론(KB-VR) 데이터셋에서 낮은 성능을 보이는 것으로 나타났습니다.
Yang 등은 이미지를 텍스트 설명으로 변환하고 이를 LLM의 프롬프트로 사용하여 지식 기반 시각적 질문 답변에서 높은 성능을 달성했습니다.
그러나 이러한 텍스트 기반 시각적 맥락은 질문과 독립적이며, 질문-답변 과정을 블랙박스로 남겨둡니다.
Knowledge-based Visual Reasoning
본 연구는 지식 기반 시각적 추론(KB-VR)과도 관련이 있습니다.
KB-VR은 이미지 내용을 이해하고 외부 지식을 검색하여 질문에 답변하는 것을 필요로 합니다.
초기에는 대부분 심층 신경망을 사용하여 이미지를 이해하고 명시적인 지식 기반에서 관련 지식을 검색하는 방법이 주를 이루었습니다.
최근에는 GPT-3와 같은 LLM이 지식 기반 역할을 할 수 있다는 것을 발견하고,
LLM을 사용하여 질문에 직접 답변하는 방식이 등장했습니다.
본 연구에서 제안하는 모델 또한 LLM에서 관련 지식을 검색하지만,
최종 답변 예측 외에도 단계별 추론 과정을 제공한다는 점에서 차별점을 가집니다.
Neural-Symbolic Visual Reasoning
본 연구는 신경 모듈 네트워크(neural module networks)와 관련될 수 있습니다.
신경 모듈 네트워크는 투명한 단계별 추론을 제공하며,
일반적으로 질문을 일련의 연산으로 분해하고, 각 연산을 네트워크 모듈로 모델링하며,
이러한 연산을 반복적으로 실행하여 결과를 얻습니다.
본 연구는 이와는 다르게 시스템의 상호 운용성을 유지하면서 열린 세계 지식 기반 시각적 추론에서 합리적인 성능을 달성할 수 있는 시스템을 구축하는 것을 목표로 합니다.
이 부분은 어려우니 예시를 들겠습니다.
신경 기호 시각적 추론(Neural-Symbolic Visual Reasoning):
- 목표: 시각적 정보(이미지)와 함께 추론 능력을 요구하는 문제 해결. 예: "사진 속 물체들의 관계는 무엇인가?"
- 신경망(Neural): 이미지 인식 등 시각 정보 처리에 뛰어남.
- 기호(Symbolic): 논리적 추론, 지식 표현에 강점.
- 신경 기호 시스템: 두 가지 장점을 결합하여 복잡한 시각적 추론 문제 해결 시도.
신경 모듈 네트워크(Neural Module Networks, NMNs):
- 개념: 신경 기호 시각적 추론의 한 방법.
- 작동 방식:
- 질문을 여러 단계의 연산(operation)으로 분해 (예: "어떤 색 물체가 가장 큰가?" -> "색깔 찾기", "크기 비교")
- 각 연산을 수행하는 신경망 모듈 생성
- 모듈들을 순차적으로 실행하여 답변 도출
- 장점: 추론 과정이 투명하게 드러나 해석 용이
- 단점:
- 단순한 문제(예: 물체 개수 세기)에만 효과적
- 복잡한 실제 문제에서는 성능 저하 (기존의 종단 간 신경망 방식보다 낮은 성능)
본 연구의 차별점:
- 목표: 열린 세계 지식 기반 시각적 추론 문제 해결
- 열린 세계(Open-world): 정해진 범위를 넘어서는 다양한 지식 활용
- 지식 기반(Knowledge-based): 외부 지식(상식, 백과사전 등)을 함께 활용
- 핵심: 신경망과 기호 시스템의 장점을 결합하여 합리적인 성능을 달성하면서도 시스템의 상호 운용성 유지
- 상호 운용성(Interoperability): 다양한 시스템, 모델과의 호환성 및 유연한 조합 가능
Method
Overall
본 섹션에서는 지식 기반 시각적 추론을 위한 새로운 프레임워크인 시각적 사고 연쇄 프롬프트(VCTP)를 소개합니다.
VCTP는
질문을 이해하고,
이미지 내 핵심 시각적 개념에 주목하며,
증거를 검색하고,
단계별로 답변을 도출할 수 있습니다.
VCTP는 보기, 생각하기, 확인의 세 가지 모듈로 구성되며, 이러한 모듈을 반복적으로 실행합니다.
그림 2에서 보듯이, 이미지와 그 내용에 대한 질문이 주어지면 보기(See) 모듈은 장면 파서를 사용하여 이미지 내의 모든 후보 객체(개념)를 감지하고 예측된 클래스 이름으로 표현합니다.
또한 전체 이미지에 대한 전역 설명을 생성합니다.
그런 다음 생각하기(Think) 모듈은 LLM을 사용하여 질문과 의미적으로 관련된 핵심 개념에 주목하고 이미지 캡셔너를 사용하여 자연어 형태로 설명합니다.
주목된 시각적 맥락을 기반으로 LLM은 질문에 대한 답변을 예측합니다.
확인 모듈은 LLM이 답변을 뒷받침하는 근거를 계속 생성하도록 하고 교차 양식 분류기를 사용하여 이를 검증합니다.
근거가 답변과 일치하는지 확인하기 위해 확인된 근거를 프롬프팅 맥락에 다시 추가하고 새로운 생각하기-확인 반복을 시작합니다.
두 번의 연속된 반복에서 답변 예측이 일치할 때까지 답변과 근거를 반복적으로 생성합니다.
VCTP는 효과성과 해석 가능성이라는 두 가지 장점을 가집니다.
관련 시각 영역에 적응적으로 주목하고 일관된 답변-근거 예측을 출력할 수 있기 때문에 효과적입니다.
또한 전체 추론 과정에 대한 단계별 조사를 수행할 수 있으므로 해석 가능합니다.
Model Details
See Module
질의 이미지가 주어지면, Faster R-CNN 객체 탐지 모델을 사용하여 이미지 내 모든 객체 후보를 감지합니다.
구체적으로는 Yang 등이 공개한 탐지 모델을 사용하여 객체 위치와 "칼", "접시", "냅킨"과 같은 범주 레이블을 예측합니다.
또한, 이미지 캡셔너를 사용하여 전체 이미지에 대한 전역 설명을 생성합니다.
이러한 시각적 개념은 생각하기 모듈에서 선택되고 더 자세히 설명되어 답변을 얻는 데 필요한 시각적 맥락을 제공합니다.
Think module
VCTP 프레임워크의 두 번째 모듈인 생각하기 모듈은 이미지의 해당 영역에 주목하고 LLM이 답변을 예측할 수 있도록 텍스트 설명으로 변환합니다.
그림에서 보듯이, 생각하기 모듈에서는 '주목-설명-예측' 접근 방식을 사용합니다.
첫 번째 단계는 '주목' 단계입니다.
여기서 프롬프팅 방법을 사용하여 LLM이 질문과 의미적으로 관련된 이미지의 핵심 개념에 주목하도록 돕습니다.
그림 3 (A)에는 LLM이 핵심 시각적 개념에 주목하도록 프롬프트 템플릿을 제시합니다.
훈련 세트의 일부 입력-출력 쌍을 LLM의 프롬프트에 입력하고, LLM이 주어진 맥락을 기반으로 선택하도록 합니다.
질문은 템플릿 상단에 표시됩니다.
보기 모듈에서 감지된 객체는 "칼" 및 "콩"과 같은 범주 이름으로 표시되며, LLM 출력 단어의 어휘는 이러한 범주 이름으로 제한됩니다.
LLM은 질문을 처리하는 데 더 많은 시각적 맥락을 제공하기 위해 가장 관련성이 높은 객체를 선택합니다.
그림 2에서 보듯이,
이러한 주목된 개념(예: "고기" 및 "칼")은 "칼은 어떤 음식을 위한 것입니까?"
라는 질문에 대한 답변 "고기"를 얻는 데 중요합니다.
생각하기 모듈의 다음 단계는 '설명' 단계입니다.
선택된 개념에 해당하는 이미지 영역을 잘라내어 이미지 캡셔너에 입력하여 새로운 개념에 대한 지역 설명을 생성합니다.
생성된 지역 설명은 LLM의 프롬프트에 추가되어 답변을 예측하는 데 필요한 세부적인 시각적 맥락을 제공합니다.
객체에 대한 지역 설명은 일반적으로 객체 클래스보다 더 많은 정보를 제공합니다. 예를 들어, 그림 2의 "접시 위에 고기 몇 조각"이라는 캡션은 "고기"와 "접시" 사이의 관계를 추가로 설명합니다.
추가설명~
'주목' 단계에서 선택된 객체가 이미지의 어느 영역에 위치하는지 특정합니다. 예를 들어, "고기" 객체가 선택되었다면, 이미지에서 고기가 있는 영역을 찾습니다.
선택된 객체 영역만을 잘라내어 이미지 캡셔너(Image Captioning) 모델에 입력합니다.
이미지 캡셔너는 해당 영역에 대한 자연어 설명을 생성하는 모델입니다.
이미지 캡셔너는 객체의 종류뿐만 아니라, 객체의 색상, 모양, 크기, 주변 객체와의 관계 등 다양한 정보를 포함하는 캡션을 생성합니다. 예를 들어, "접시 위에 놓인 붉은색 고기"와 같은 캡션을 생성할 수 있습니다.
생성된 캡션은 LLM에게 제공됩니다. 이 캡션은 단순히 "고기"라는 정보만 제공하는 것이 아니라, "접시 위에 놓여 있다", "붉은색이다"와 같은 추가적인 정보를 제공하여 LLM이 답변을 생성하는 데 필요한 맥락 정보를 풍부하게 합니다.
이러한 상세 설명은 LLM이 외부 지식과 이미지 정보를 연결하여 추론하는 데 도움을 줍니다.
예를 들어, "접시 위에 놓인 붉은색 고기"라는 설명은 LLM이 "칼은 고기를 자르는 데 사용됩니다"라는 외부 지식을 활용하여 "칼은 고기를 위한 것입니다"라는 답변을 추론하는 데 도움을 줍니다.
생각하기 모듈의 마지막 단계는 '예측' 단계입니다.
훈련 세트에서 여러 개의 질문-답변 예시를 LLM의 프롬프트에 추가하고 답변을 예측하도록 요청합니다.
답변 예측은 주목된 시각적 맥락과 확인 모듈에서 이전 반복에서 예측한 근거를 기반으로 합니다.
확인 모듈에 대해서는 확인 모듈 섹션에서 자세히 설명합니다.
추가 설명~
생각하기 모듈의 '예측' 단계는 지금까지 수집된 정보를 바탕으로 LLM이 질문에 대한 최종 답변을 생성하는 단계입니다.
- 주목된 시각적 맥락: '주목' 단계에서 선택된 핵심 객체와 '설명' 단계에서 생성된 상세 설명을 통해 이미지의 맥락 정보를 파악합니다.
- 이전 반복의 근거: 만약 이전 반복에서 확인(Confirm) 모듈을 통해 검증된 근거가 있다면, 이를 함께 활용합니다. 근거는 답변의 정확성을 높이는 데 도움이 됩니다.
- 퓨샷 학습 예시: 훈련 데이터에서 추출된 질문-답변 쌍을 통해 질문의 유형과 답변 형식을 파악하고, 이를 바탕으로 답변을 생성합니다.
작동 방식
- 프롬프트 구성: 그림 B
- LLM 답변 생성: LLM은 구성된 프롬프트를 입력으로 받아 질문에 대한 답변을 생성합니다. 이때 LLM은 주어진 정보와 외부 지식을 종합적으로 활용하여 가장 적절한 답변을 추론합니다.
- 출력: LLM이 생성한 답변을 출력합니다.
Confrm Module.
VCTP 프레임워크의 마지막 모듈인 확인 모듈은 그림 2에서 보듯이, 답변 예측에 대한 일관된 뒷받침 근거를 생성하고 예측의 정확성을 검증하는 것을 목표로 합니다.
퓨샷 예시 맥락과 생각하기 모듈에서 생성된 상호작용 프롬프트가 주어지면, LLM에게 답변 예측 후 뒷받침 근거를 계속 예측하도록 요구합니다.
이러한 질문-답변-근거 템플릿의 프롬프트 예시는 그림 3 (B)에서 확인할 수 있습니다.
LLM 예측의 중요한 문제점은 생성 과정이 블랙박스라는 점과 예측된 답변 및 근거의 정확성을 검증하기 어렵다는 점입니다.
올바른 근거는 두 가지 특징을 가져야 한다고 생각합니다.
첫째, 근거는 답변과 일치해야 합니다.
예측된 답변("고기")에 대한 뒷받침 근거("칼은 고기를 자르는 데 사용됩니다")가 주어지면, 이 근거가 맥락에 추가될 때 동일한 답변을 예측할 수 있어야 합니다.
째, 근거는 시각적 입력과 일치해야 합니다.
근거가 답변 예측을 뒷받침하는지 확인하기 위해 생성된 텍스트 근거를 다음 반복에서 LLM의 프롬프트에 입력합니다.
두 개의 연속된 예측 답변이 동일할 때까지 이 답변-근거 및 근거-답변 절차를 반복합니다.
Experiments
제안된 VCTP의 효과는 여러 사전 훈련된 비전 모델과 언어 모델의 상호작용에 의존합니다.
이미지에서 시각적 개념을 감지하기 위해 Visual Genome으로 훈련된 Faster R-CNN 모델을 선택했습니다.
주목된 객체에 대한 지역 캡션 모델로는 BLIP을 사용합니다.
효과적이고 공개적으로 사용 가능하기 때문에 OPT-66B 및 Llama-2-70B를 사전 훈련된 언어 모델로 선택하여 프롬프트를 수행합니다.
CLIP 모델 (ViT-B/16)을 사용하여 근거와 이미지 간의 매칭 유사성을 검증합니다.
GPT-3는 고가의 API 및 제한된 방문 빈도로 인해 사용하지 않았습니다.
하드웨어 구성에서 효율적으로 실행할 수 있는 최대 개수인 8개로 생각하기 모듈의 맥락 내 예시 수를 고정했습니다.
이전 연구를 따라 맥락 내 예시 선택 및 다중 쿼리 앙상블을 사용하여 LLM에 프롬프트를 수행합니다.
맥락 내 예시의 경우, 훈련 세트에서 현재 이미지-질문 쌍과 가장 유사한 예시를 클립 기능을 사용하여 선택합니다.
다중 쿼리 앙상블의 경우, 모델과 기준선에 5번 입력하고 가장 높은 로그 확률을 가진 것을 선택합니다.
단, 표 3의 정렬 모델은 제외하며, 이 경우 기준선을 14번 앙상블하여 본 모델과 유사한 계산 비용을 갖도록 합니다.
자세한 실험은 설명 제외!