논문리뷰

VLM : 논문리뷰 : What’s Left? Concept Grounding with Logic-Enhanced Foundation Models

AI바라기 2024. 10. 13. 17:39

Abstract

VisProg 및 ViperGPT와 같은 최근 연구에서는 large language models (LLMs)을 사용하여 pre-trained vision-language models에서 실행 가능한 프로그램을 생성하는 방식으로, 시각적 추론을 위한 foundation models을 영리하게 구성했습니다. 그러나 이러한 모델들은 2D 이미지와 같은 제한된 도메인에서만 작동하며 언어의 일반화 능력을 충분히 활용하지 못합니다. 예를 들어 "왼쪽"과 같은 추상적인 개념은 3D, 시간, 행동 데이터(예: 왼쪽으로 이동)에도 적용될 수 있습니다. 이러한 제한된 일반화는 이러한 추론 전용 방법이 pre-trained models을 새로운 도메인에 학습하거나 적용할 수 없기 때문에 발생합니다.

 

본 논문에서는 미분 가능하고 도메인에 독립적인 1차 논리 기반 프로그램 실행기를 사용하여 도메인 전반에서 개념을 기반으로 추론하는 방법을 학습하는 통합 프레임워크인 **Logic-Enhanced FoundaTion Model (LEFT)**을 제안합니다. LEFT는 모든 도메인 및 작업에서 공유되는 일반적인 논리 기반 추론 언어로 표현된 프로그램을 출력하는 LLM 인터프리터를 가지고 있습니다. 그런 다음 LEFT의 실행기는 훈련 가능한 도메인별 grounding 모듈을 사용하여 프로그램을 실행합니다.

LEFT가 2D 이미지, 3D 장면, 인간 동작 및 로봇 조작의 네 가지 도메인에서 개념을 유연하게 학습함을 보여줍니다. LEFT는 훈련 중에 보지 못했던 복잡한 작업을 포함하여 광범위한 작업에서 강력한 추론 능력을 보여주며 새로운 도메인에도 쉽게 적용할 수 있습니다.

 

 

 

Figure 1: LEFT는 modular concepts을 여러 도메인에 걸쳐 기반을 잡고 foundation model을 사용하여 작업 전반에서 개념을 유연하게 추론하는 통합된 개념 학습 및 추론 프레임워크입니다.

 

 

Introduction

언어의 힘은 추상화를 기반으로 한 일반화에 있습니다. "왼쪽"과 같은 단일 개념은 여러 도메인에서 사용될 수 있습니다. 예를 들어, 인지 영역에서는 의자의 3D 포인트 클라우드에서 왼쪽 다리를 인식하고, 탐색 영역에서는 블록 끝에 있는 카페에서 왼쪽으로 돌아 집에 가고, 조작 영역에서는 접시 왼쪽에 머그컵을 집어 놓습니다. "왼쪽"은 각 도메인에서 도메인별 기반을 가지지만, 추상화로서의 개념 기호 자체는 도메인 전반에 걸친 복잡하고 다단계 추론의 기초 역할을 합니다.

시각적 추론을 위한 머신 시스템 또한 개념 학습과 추론의 분리로부터 이점을 얻습니다. 최근 VisProg 및 ViperGPT 와 같은 모델은 **large language models (LLMs)**을 활용하여 언어 쿼리에 따라 프로그램을 생성합니다. 예를 들어, "고양이의 색깔은 무엇입니까?"라는 질문에 답하기 위해 프로그램은 먼저 고양이를 찾은 다음 색깔을 쿼리합니다. 이러한 프로그램은 기반 및 질문 답변을 위해 미리 정의되고 사전 훈련된 vision-language models (예: open-vocabulary segmentation models)으로 실행됩니다.

이러한 연구는 이미지 기반 추론에서 좋은 성능을 보이지만, 언어가 제공하는 일반화에도 불구하고 다른 도메인에서는 성공 사례가 적다는 점이 놀랍습니다.

 

시각적 추론 시스템을 여러 도메인에서 작동시키려면 무엇이 필요할까요? 기존 방법의 두 가지 주요 단점을 확인했습니다. 첫째, 추론만 가능하며 프로그램 실행 중에 "왼쪽"과 같은 개념을 해석하기 위해 사전 훈련된 모델에만 의존합니다. 따라서 데이터가 부족한 도메인(예: 3D, 인간 동작 또는 로봇 동작)에서는 사전 훈련된 모델이 존재하더라도 제대로 작동하지 않습니다.

 

따라서 도메인 전반에서 실행하기 위해 도메인별 개념 기반을 학습하는 훈련 가능한 시스템이 필요합니다.

 

안타깝게도 이러한 시각적 추론 모델은 두 번째 단점으로 인해 훈련 가능하도록 만들 수 없습니다. 즉, 이러한 기반 모듈을 구성하기 위해 미분 불가능한 프로그램 실행기에 의존합니다. 따라서 "왼쪽"은 2D 이미지와 비교하여 3D 장면 및 로봇 동작에서 다른 기반을 가질 수 있지만 이러한 모듈은 해당 도메인에서 추가 훈련을 통해 적응할 수 없습니다.

 

 

이러한 문제를 해결하기 위해 도메인 전반에서 개념을 기반으로 추론하는 방법을 학습하는 모델인 **Logic-Enhanced Foundation Models (LEFT)**를 제안합니다. LEFT는 언어 분석을 위해 LLMs을 활용합니다. 그러나 이전 연구와 달리 LEFT는 도메인 데이터로부터 학습하는 훈련 가능한 개념 기반 모듈을 가지고 있으며, 이는 미분 가능하고 도메인에 독립적인 1차 논리 기반 프로그램 실행기를 통해 가능합니다. 미분 가능한 실행 을 통해 기호 프로그램과 딥 모델을 결합한 이전 연구에서 영감을 받아, 더 이상 수동으로 설계된 도메인별 언어가 필요하지 않으며 도메인 전반의 일반화를 용이하게 합니다. 특히 LEFT의 LLM interpreter는 언어 쿼리를 입력으로 받아 텍스트의 모호성을 해결하고 도메인 및 작업에서 공유되는 1차 논리의 일반적인 추론 언어로 표현된 명확한 프로그램을 출력합니다. 그런 다음 LEFT의 실행기는 LLM에서 생성된 개념으로 자동 초기화되는 학습 가능한 도메인별 기반 모듈을 사용하여 논리 프로그램을 실행합니다.

 

LEFT는 모듈식 구조로 인해 도메인 전반에서 강력한 성능과 데이터 효율성이라는 이점을 누립니다. 단일 도메인 내에서 LEFT는 LLM interpreter의 일반적인 추론 기능을 활용하고 학습된 기반 개념을 일반 1차 논리 실행기로 효과적으로 재구성하여 보이지 않고 복잡한 작업에 zero-shot으로 일반화합니다. LEFT는 VisProg 및 ViperGPT의 일반화된 프레임워크로 볼 수 있습니다. 사전 훈련된 모델을 사용할 수 있고 훈련이 필요하지 않은 도메인(예: 2D 이미지)에서 LEFT는 유사하게 추론 전용으로 사용할 수 있습니다.

 

2D 질문 답변, 3D 지칭 표현 이해, 시간적 순서 추론, 로봇 조작에 이르기까지 네 가지 도메인과 일곱 가지 작업에 대한 LEFT의 성능을 검증합니다. 일반 LEFT 모델은 성능 및 데이터 효율성 설정에서 이전 작업별 모놀리식 방법보다 성능이 훨씬 뛰어나며 각 도메인에 대해 미리 정의된 프로그램 구현이 필요하지 않으면서 이전 신경 기호 방법과 비슷한 성능을 제공합니다.

 

중요한 것은 통합 LEFT 프레임워크는 도메인 전반에서 개념 학습을 수행할 수 있을 뿐만 아니라 세 가지 까다롭고 보이지 않는 추론 작업에 대한 zero-shot 전송을 보여줄 수 있다는 것입니다. 반대로 추론 전용 LLM 기반 방법과 일반 vision-language models은 일반화에 실패합니다.

 

 

 

Related Work

 

LLM-based decomposition frameworks.

본 프레임워크는 상식 추론을 위해 신경망, 논리 추론 및 large language models을 통합합니다. 관련 문헌의 첫 번째 그룹은 LLM 기반 접근 방식을 연구합니다. LLMs 의 성공에 영감을 받아, 최근 많은 연구에서 텍스트 기반 작업을 기존 모델에 대한 일련의 API 호출로 분해하기 위해 LLMs을 활용하는 프레임워크를 제안했습니다. LEFT와 비교하여 이러한 방법은 LLMs 및 API 모델을 사용하여 추론만 실행하며, 모달리티에 대한 기반 학습 없이 언어 도메인으로 제한됩니다. 예를 들어, LLMs은 언어에서 추론된 객체 범주에 대해 추론할 수 있지만 현재 장면에서 후보 객체를 인식하거나 객체를 이동하기 위한 로봇 동작을 생성할 수 없습니다. 또 다른 연구는 이미지에서 프로그램을 실행하지만 추가 교육 없이 일련의 사용 가능한 모듈에 대한 API 액세스를 가정합니다. 반대로 LEFT는 각 모달리티에 대한 개념 임베딩을 훈련하여 여러 도메인에서 모듈식 개념을 기반으로 하는 방법을 학습하며, 미리 정의되고 사전 훈련된 모듈이 필요하지 않습니다.

 

 

 

General vision-language models.

최근 몇 년 동안 통합 **vision-language models (VLMs)**은 멀티모달 도메인에서 학습하는 데 성공을 거두었습니다. 대표적인 예로 Flamingo 는 강력한 사전 훈련된 비전 및 언어 모델을 활용하여 이미지, 비디오 및 텍스트를 인터리빙한 다음 관련 텍스트를 출력하는 언어 생성 작업에서 few-shot 학습을 달성합니다. 그러나 이러한 통합 VLMs과 광범위한 엔드 투 엔드 방법은 여전히 다른 도메인에서의 적용이 제한적입니다. 또한 실제로는 더 복잡하고 보이지 않는 작업에서 어려움을 겪습니다. 반대로 LEFT는 도메인 전반에서 우수한 성능을 발휘하며 이전에 본 적이 없는 새롭고 까다로운 작업으로 일반화할 수 있습니다.

 

 

 

Neuro-symbolic methods.

프로그램과 신경망을 결합한 신경 기호적 접근 방식은 모듈식 설계의 강력한 데이터 효율성과 일반화 기능을 통해 다양한 시각적 추론 도메인에서 성공을 거두었습니다. 신경 기호적 VQA 는 질문 답변 작업을 위한 기호적 프로그램 실행을 제안했으며, Neuro-Symbolic Concept Learner [NSCL; ]는 고밀도 감독에 대한 요구 사항을 제거하여 훈련 패러다임을 더욱 개선했습니다. 2D 이미지 도메인 에서의 성공에 영감을 받아 신경 기호적 방법은 3D 장면 에서 기반을 잡고, 시간적 순서 에서 추론하고, 로봇 조작 을 수행하는 데 도입되었습니다. 그러나 이러한 신경 기호적 작업에는 미리 정의된 도메인별 언어가 필요하므로 작업 지침이 제한된 프로그램 집합으로 구문 분석된 다음 각 프로그램이 코드에서 수동으로 구현됩니다. 따라서 상식 추론을 통합하거나 다른 도메인으로 일반화하는 것은 어렵습니다. 반대로 LEFT는 모든 도메인에 대한 보편적인 언어를 제안하면서 신경 기호적 학습의 모든 이점을 유지합니다. LEFT는 도메인별 정의나 도메인별 프로그램 예제가 필요하지 않습니다. LLM에 대한 1차 논리 사용의 최소한의 프롬프트 예제를 통해 인코딩된 구조만 활용합니다. 따라서 도메인 전반에 걸쳐 일반적으로 적용할 수 있습니다.

 

 

 

 

Logic-Enhanced Foundation Model (LEFT)

 

Logic-Enhanced Foundation Model (LEFT)은 다양한 도메인과 작업에서 개념 학습 및 추론을 위한 통합 프레임워크입니다. 이는 large language models과 미분 가능한 논리 모듈, 그리고 각 모달리티에서 개념을 기반으로 하기 위한 모듈식 신경망을 통합합니다. 그림 2에서 볼 수 있듯이, 시스템은 세 가지 주요 구성 요소로 이루어져 있습니다.

  1. 첫 번째는 도메인에 독립적인 LLM language interpreter로, FOL execution engine (섹션 3.1)에 1차 논리 쿼리를 생성합니다. 생성된 기호 프로그램은 계층적 1차 논리 구조로 표현됩니다.
  2. 두 번째는 도메인에 독립적인 FOL executor로, 도메인의 엔티티(객체, 관계, 동작 등) 특징을 기반으로 논리 프로그램을 미분 가능하게 실행합니다(섹션 3.2). LEFT의 실행기는 완전히 미분 가능하므로 역전파가 가능합니다.
  3. 세 번째는 도메인별 기반 모듈로, 엔티티 중심 및 관계형 특징을 추출하는 각 모달리티에 대한 인코더와 모듈식 신경망으로 구현된 해당 개념 임베딩으로 구성됩니다(섹션 3.3). 개념 기반 모듈은 LLM interpreter에서 생성된 개념으로 초기화됩니다.

LEFT는 도메인에 독립적인 추론 모듈(LLM interpreterFOL executor로 구성됨)과 도메인별 기반 모듈의 프레임워크입니다. 이러한 구성 요소를 통해 LEFT는 도메인 및 작업 전반에서 개념 학습 및 추론을 수행합니다.

 

 

 

 

 

3.1 Domain-independent LLM interpreter

 

Figure 2: LEFT의 핵심은 언어 쿼리에서 first-order logic (FOL) 프로그램을 생성하는 foundation model 기반 언어 인터프리터, 모든 유형의 엔티티에서 작동하는 도메인에 독립적인 미분 가능한 FOL executor, 그리고 first-order logic 언어의 기호를 도메인별 특징과 연결하는 도메인별 기반 모듈입니다.

 

 

본 연구에서는 사전 훈련된 large language model을 도메인에 독립적인 언어 인터프리터로 활용합니다. 이는 언어 쿼리를 입력으로 받아 다운스트림 모듈에 1차 논리 쿼리를 생성합니다.

 

LLM을 프롬프트하는 데 사용되는 예제는 FOL 언어의 최소한의 일반적인 도메인 독립적인 예제와 구문 규칙에 대한 시스템 수준 설명입니다. LLM은 자연어 이해와 상식 추론을 모두 처리합니다. 예를 들어, "선반 위의 책, 파란색 책을 보고 그 왼쪽에 있는 물체를 선택하세요."와 같이 상호 참조와 모호한 수식어 연결을 해결해야 합니다. 또한 "파란색 구체 열에 맞는 물체를 찾으세요."와 같이 상식 추론을 수행합니다. 다운스트림 FOL 추론 모듈에 대해 생성하는 쿼리는 모호하지 않은 프로그램입니다. ιx.blue(x) ∧ sphere(x). 이 전략은 강력한 일반화를 유지하면서 작업 전반에 걸쳐 LLM의 추론 기능을 최대한 활용합니다. 실험에서 LEFT 인터프리터는 유추에 대해 추론하고, 상호 참조를 해결하고, 복잡한 퍼즐을 해결할 수 있음을 보여줍니다.

 

공식적으로 언어로 된 입력 작업 쿼리 Q가 주어지면 LLM interpreter는 다운스트림 FOL 실행기에 전달될 1차 논리로 작성된 프로그램인 프로그램 P를 출력합니다. 각 프로그램은 함수 이름과 인수로 구성되며, 한 함수의 출력이 다른 함수의 입력 인수가 될 수 있도록 계층적으로 연결될 수 있습니다. LLM에서 해석된 프로그램에는 도메인별 함수의 출력을 인수로 사용할 수 있는 도메인 독립적인 FOL 함수가 포함되어 있습니다. FOL 함수는 내장 구현이 있는 미리 정의된 일반 프로그램 집합이며 표 1에 전체 목록이 나와 있습니다. 이러한 함수는 논리 및 숫자 연산(예: 계산, forall, exists) 또는 입력 및 출력을 처리하는 함수(예: 객체 범주의 텍스트 설명을 반환하거나 다른 모듈에서 출력한 작업 실행)입니다. 다음 섹션에서 FOL 언어의 구문과 내장 구성 요소를 소개합니다.

 

LEFT는 GPT-3.5LLM 백본으로 활용합니다. 중요한 것은 LEFT 프롬프트는 도메인에 독립적이며, 평가 도메인에 없는 고양이 및 사과와 같은 일반적인 개념으로 작성된 간단한 구문 규칙과 예제를 포함합니다. 프롬프트의 예제는 "케이크 옆에 사과가 있습니까?"와 같은 1차 논리 문과 같은 최소한의 복잡성을 가지며, "두 객체가 특정 속성을 갖는지 분류하려면 'on(x, y)'를 사용하세요."와 같이 FOL 사용에 대한 간략한 설명과 쌍을 이룹니다. 또한 LLM이 먼저 쿼리에 대해 추론하고 언어 형식으로 텍스트를 단순화한 다음 FOL 프로그램을 생성하도록 요청하는 단계별 프롬프트 패러다임을 사용합니다.

 

더보기

정리하면

GPT에게 예제를 주면서 질문을 1차 논리 질문으로 바꾸고 그것을  FOL에서 각 모듈에 적절하게 사용할 수 있도록 한번 더 정리. 그 후 각 모듈별 결과를 종합하여 결과 예측(여기서 학습)

 

 

 

 

3.2 Domain-independent first-order logic executor

LEFT 도메인 독립 실행기는 여러 작업에서 공유되는 일반적인 추론 언어 역할을 하는 1차 논리에서 작동합니다. LLM interpreter에서 구문 분석된 FOL 프로그램 P가 주어지면 실행기는 기반 모듈과 함께 P를 작동하여 최종 답변을 반환합니다. 프로그램은 FOL 추론 프로세스의 계층적 구조를 모델링하기 위해 재귀적으로 실행됩니다. LEFT 프로그램은 Python 코드에서 미분 가능한 1차 논리 모듈로 구현됩니다.

 

FOL 언어는 세 부분으로 구성됩니다.

첫째, 부울 연산 및 논리 한정자와 같은 기본 1차 논리 연산입니다.

둘째, 엔티티 또는 엔티티 쌍에 대한 자연어 응답을 생성하는 describe와 로봇 동작을 실행하는 do와 같은 내장 함수입니다.

셋째, 객체 속성(예: 고양이), 객체 관계(예: 왼쪽) 및 동작(예: 팩)을 포함한 도메인별 개념 이름입니다.

이러한 개념 술어는 미리 정의된 함수 집합에서 선택되는 것이 아니라 언어 쿼리를 기반으로 LLM에서 자동으로 생성됩니다. 따라서 LEFT의 표현력은 exists 및 count와 같은 주어진 원시 집합에 의해 제한되지 않습니다. LLM에서 제안한 새로운 함수를 실행하는 방법을 배울 수 있습니다.

 

주어진 엔티티 집합에 대해 LEFT 실행기는 진리값의 텐서 기반 표현을 사용하여 모든 표현식을 실행합니다. 예를 들어, N개의 객체가 있는 장면이 주어지면 x가 정량화되지 않은 변수인 표현식 sphere(x)의 실행 결과는 길이가 N인 벡터로 나타낼 수 있으며, 각 항목 i는 객체 i가 구인지 여부를 나타냅니다. left(x, y)와 같은 관계 표현식은 N × N 크기의 행렬로 나타낼 수 있습니다. 객체가 선택되었는지 여부는 크기가 N인 벡터로 유사하게 나타낼 수 있으며, 각 항목 i는 객체 i가 선택될 확률입니다. 실제로 sphere(x) 및 left(x, y)와 같은 값은 도메인별 기반 신경망에서 예측됩니다. 표 1에서는 모든 연산에 대한 실행 전략을 자세히 설명합니다. 일반적인 신경 기호적 프레임워크라는 목표에 필수적인 LEFT는 2D, 3D, 시간 및 로봇 조작을 포함한 여러 도메인에서 추론하기 위해 나열된 FOL 함수만 필요합니다.

 

LLM interpreter에서 생성된 프로그램에는 FOL 프로그램과 기반 모듈에서 실행되는 도메인별 개념이 포함됩니다. LEFT 실행기는 1차 논리 프로그램의 arity(예: 함수의 인수 수)를 기반으로 이러한 프로그램을 구현합니다. 단항 수준 함수는 입력에서 각 엔티티에 대해 크기가 N인 엔티티 중심 특징으로 구현되고, 이진 수준 함수는 N × N 크기의 관계형 특징으로 구현되는 식입니다. 특히 각 도메인별 개념은 LLM에서 초기화되고 함수 구현은 모듈식 신경망으로 실행되므로 코드에서 수동으로 정의할 필요가 없습니다.

 

 

 

실행. 아래에서 FOL 프로그램에 대한 구현에 대해 설명합니다. 자세한 내용은 부록을 참조하세요.

  • exists(var, expr): 먼저 expr을 재귀적으로 실행하고 var이 텐서 차원 중 하나인 텐서를 가져옵니다. 해당 차원에 대해 최대 풀링을 수행합니다. 예를 들어, sphere(x)의 실행은 길이가 N인 벡터를 생성하고, exists(x,sphere(x))의 경우 반환된 텐서의 최대값을 취합니다.
  • iota(var, expr): expr을 재귀적으로 실행하고 var이 벡터의 차원에 해당하는 벡터를 가져옵니다. 그런 다음 벡터에 대해 소프트맥스 연산을 수행합니다.
  • and(expr1, expr2): expr1과 expr2의 재귀적 실행은 두 개의 텐서를 생성합니다. 두 결과 텐서의 결합은 두 텐서에 대해 요소별 최소 연산을 수행하여 수행됩니다. 동일한 실행 전략이 or 연산(요소별 최대값 취함) 및 논리 부정(요소별 부정 취함)에 사용됩니다.
  • count(var, expr): expr을 재귀적으로 실행한 다음 시그모이드 연산을 수행한 다음 벡터에 대한 합계를 구하여 예상 객체 수를 계산합니다.
  • eq(expr1, expr2): expr1과 expr2의 재귀적 실행은 두 개의 스칼라 값 s1과 s2를 생성합니다. s1 = s2의 확률을 σ (α · (γ − |s1 − s2|))로 정의합니다. 여기서 α = 8 및 γ = 0.25는 고정된 하이퍼파라미터입니다. 미만 및 초과 연산도 유사하게 구현됩니다.
  • left(x, y): 도메인별 개념의 예로, left 함수는 두 변수를 입력으로 받아 N × N 크기의 점수 행렬을 생성합니다. 이는 특징 추출기에서 추출한 이진 임베딩에 MLPleft를 적용하여 수행됩니다. 실행 과정에서 시그모이드 활성화를 사용하여 [0, 1]로 정규화하는 대신 예측 값의 "logit"을 유지합니다. 이렇게 하면 실행의 수치적 안정성이 향상됩니다.

 

3.3 Domain-specific grounding modules

 

LEFT의 마지막 구성 요소는 1차 논리 언어의 개념을 모달리티별 표현과 연결하는 도메인별 기반 모듈입니다. LEFT는 미리 정의된 어휘 개념 집합에 의존하지 않고, 데이터의 언어에서 개념 이름을 자동으로 추출하기 위해 LLMs에 의존합니다. 그런 다음 프레임워크는 훈련 데이터에서 이러한 개념의 기반을 학습하도록 도메인별 기반 모듈을 적절하게 초기화합니다. 즉, 기반 모듈은 수동 정의가 필요하지 않으며, 주어진 쿼리의 실행을 지원할 수 있으며, 아래에 설명된 일반적인 메커니즘으로 구현됩니다. 기반 모듈은 모달리티별 인코더와 개념 임베딩으로 구성된 모듈식 신경망으로 구현됩니다. 먼저 모달리티별 인코더 ε를 사용하여 엔티티 중심 및 관계형 특징을 추출합니다. 2D 이미지의 경우 ε는 객체 중심 특징을 인코딩하기 위한 Faster R-CNN 및 객체 주의 마스크를 생성하기 위한 DenseCLIP 입니다. 3D 포인트 클라우드의 경우 ε는 PointNet++ 입니다. 모션 시퀀스의 경우 ε는 Two-Stream Adaptive Graph Convolutional Network 입니다. 단항 특징은 각 엔티티에 대한 특징 집합으로, 이진 특징은 각 엔티티 쌍 간의 관계에 대한 2D 행렬로, 삼항 관계는 3D 행렬 등으로 표현됩니다.

 

엔티티 중심 표현이 주어지면 sphere 및 left(x, y)와 같은 개념 함수를 실행합니다. 일반적으로 엔티티의 관계형 표현을 취하고 [0, 1]에서 (소프트) 부울 값을 출력하는 임의의 신경망을 가질 수 있습니다. 본 논문에서는 개념 임베딩을 나타내기 위해 large language model에서 언급된 각 개념에 대해 다층 퍼셉트론(MLP)을 초기화합니다. 예를 들어, 2D 이미지 도메인에서 각 객체 i는 Faster R-CNN 인코더에서 추출한 벡터 임베딩 obji를 갖습니다. 각 객체 표현 obji에 MLPsphere를 적용하고 길이가 N인 벡터를 생성합니다. 이는 표현식 sphere(x)에 대한 실행 결과입니다.

 

기반 모듈은 LLM에서 제안한 개념 이름과 arity를 기반으로 자동으로 초기화됩니다. 예를 들어, 개념이 단항(예: red(x))인 경우 기반 모듈은 객체 표현을 앞서 언급한 소프트 부울 값 스칼라에 매핑하는 MLP 레이어가 됩니다. beside 개념의 경우 LLM은 개념이 두 엔티티의 특징을 받아들인다고 지정하므로 LEFT는 이진 특징에서 작동하는 MLP를 생성합니다. 도메인별 특징 추출기와 개념 MLP는 실행기가 완전히 미분 가능하므로 역전파를 통해 훈련됩니다.

 

 

더보기

질문이 들어오면 LLM에게 퓨샷 예제와 함께 전달하여 1차 논리로 바꾸고 그걸 FOL단계에서 각 모듈을 연결하고 실행할 준비를 한다. (이것도 아마 LLM 작업)

 

각 모듈의 실행결과를 얻으면 실행을 한다. 그리고 loss 를 계산해서 각 모듈을 업데이트

 

 

 

정리본도 함께 올립니다.

더보기

주요 내용은 다음과 같습니다:

  1. 언어 일반화: LEFT는 대형 언어 모델(LLM)을 활용해 질의를 해석하고 논리 기반 프로그램을 출력합니다. 이 프로그램들은 2D 이미지, 3D 장면, 사람의 움직임, 로봇 조작 등 다양한 분야에서 적용될 수 있습니다.
  2. 일차 논리(FOL) 실행기: 도메인에 구애받지 않고 차별화된 실행 프로그램을 통해 "왼쪽" 같은 추상적인 개념을 여러 방식으로 해석하고 처리합니다.
  3. 학습 가능한 모듈: LEFT는 기존 모델들과 달리 새로운 작업과 도메인에 맞게 학습할 수 있는 도메인 특화 모듈을 제공하여 모델이 적응할 수 있게 합니다.
  4. 다중 도메인 추론: LEFT는 2D 이미지, 3D 장면, 시간적 추론, 로봇 조작의 네 가지 도메인에서 검증되었으며, 학습되지 않은 작업에서도 강력한 제로샷 일반화 능력을 보여줍니다.

 

 

  • 질의 해석 (LLM 사용): 질문이 들어오면 대형 언어 모델(LLM)이 퓨샷(예제)과 함께 입력을 받아 이를 일차 논리(First-Order Logic, FOL) 프로그램으로 변환합니다. 이 단계에서 LLM은 자연어 질의를 논리적인 표현으로 바꾸어 각 모듈이 처리할 수 있도록 준비합니다.
  • 논리 프로그램 실행 준비: 변환된 FOL 프로그램은 도메인 독립적인 FOL 실행기로 전달됩니다. 여기서 FOL 실행기는 LLM에 의해 생성된 논리 프로그램을 해석하고, 이 프로그램이 여러 도메인에서 모듈별로 연결될 수 있도록 처리합니다.
  • 각 모듈 실행: FOL 실행기에서는 도메인 특화 모듈(예: 2D 이미지 인식 모듈, 3D 장면 이해 모듈, 인간 동작 분석 모듈 등)이 각자 할당된 작업을 수행하며, 모듈은 해당 작업에 맞는 데이터를 처리하여 실행 결과를 반환합니다.
  • Loss 계산 및 업데이트: 각 모듈의 결과를 바탕으로 loss를 계산하여 학습이 필요한 경우 도메인 특화 모듈을 업데이트합니다. 이때, FOL 실행기는 차별화된 실행 환경을 제공해 각 모듈이 적절히 학습되도록 돕습니다.