가설 탐색 — 언어모델을 활용한 귀납추론

Digest: 대형 언어모델(LLM)은 ARC 같은 귀납추론(소수 예시에서 일반규칙을 추론) 과제에서 사람보다 크게 뒤처진다. 이 논문은 베이즈 인지모델(사람은 소수 가설로 사후분포를 근사한다는 관점)에 착안해, 모델이 먼저 자연어 가설을 다수 생성하고 이를 Python 프로그램으로 구현해 train 예시에 검증하는 4단계 파이프라인을 제안한다(Innovation). 핵심 성과는 ARC 40문제 부분집합에서 직접 프롬프트 12.5% 대비 LLM 요약 자동 파이프라인 27.5%, 최소 인간개입(LLM 후보 중 선택) 시 37.5%로의 향상이며(So-what), 1D-ARC(77.8%)·SyGuS(94.3%)에서도 baseline을 상회한다(Evidence). 다만 SyGuS처럼 직접 프로그램 생성이 이미 포화(94.3%)된 영역에서는 자연어 가설이 무익(93.2%)했고, GPT-3.5는 4096 컨텍스트 한계로 의미 있는 가설을 만들지 못했다(Limitation). 그렇다면 자연어 가설이 이득을 주는 과제와 주지 않는 과제를 사전에 가르는 경계는 무엇인가(Question)?


먼저 이해하기

이 논문은 LLM이 “몇 개의 입출력 예시만 보고 숨은 규칙을 알아맞히는” 귀납추론(inductive reasoning, 특정 사례에서 일반 원리를 끌어내는 추론)을 더 잘하도록 만드는 방법을 다룬다. 핵심 아이디어는 단순하다. 모델에게 곧장 정답을 내라고 시키는 대신, (1) 먼저 자연어로 “규칙이 무엇일 것 같다”는 가설을 여러 개 말하게 하고, (2) 그 가설을 실제로 돌려볼 수 있는 Python 프로그램(검증 가능한 가설의 구현체)으로 옮긴 뒤, (3) 주어진 train 예시에 프로그램을 실행해 맞는지 검증하고, (4) 검증을 통과한 프로그램을 새 입력에 적용한다.

왜 중요한가. ARC(Abstraction and Reasoning Corpus, 2D 격자 위 추상 규칙귀납 벤치마크)에서 LLM은 사람 대비 매우 저조하다. 저자들은 베이즈 인지모델(사람은 소수의 가설만 떠올려 posterior를 근사하고, 여러 추상 수준에서 표현한다는 관점)에서 영감을 얻어, “명시적 가설 생성”이라는 중간 단계를 끼우면 LLM의 귀납추론이 크게 개선된다는 것을 보였다. 또한 프로그램이라는 표현 자체가 가설을 “실행해 검증”할 수 있게 만들어, 코드를 단순 계산 보조도구로 쓰는 기존 접근과 구별된다.

먼저 알아둘 말:

용어뜻
귀납추론(inductive reasoning)소수의 구체적 예시에서 일반 규칙을 추론해 새 상황에 적용하는 추론
ARC2D 격자(10색)에서 추상 규칙을 맞히는 귀납추론 벤치마크
가설 탐색(hypothesis search)자연어 가설을 다수 생성해 후보 공간을 탐색하는 본 논문의 전략
프로그램 합성(program synthesis)가설을 Python 프로그램으로 구현해 예시로 검증하는 단계
베이즈 인지모델사람은 소수 가설로 사후분포를 근사한다는 인지과학적 관점, 본 방법의 동기

섹션별 요약

Abstract

이 논문은 LLM의 귀납추론을 “다중 추상수준의 명시적 가설 생성”으로 개선한다. 모델에 자연어 가설을 생성시킨 뒤 이를 Python 프로그램으로 구현해 train 예시에 검증한다. ARC 40문제 부분집합에서 LLM 요약 자동 파이프라인이 27.5%를 달성해 직접 프롬프트 12.5% 대비 대폭 향상됐다. 최소한의 인간 개입(LLM이 만든 후보 가설 중 사람이 선택)을 허용하면 37.5%까지 오른다.

저자 contribution

  • LLM에게 자연어 가설을 먼저 생성시키고 이를 Python 프로그램으로 구현·검증하는 4단계 귀납추론 파이프라인 제안.
  • ARC·1D-ARC·SyGuS 세 데이터셋에서 직접 프롬프트 baseline을 큰 폭으로 상회함을 실증, 프로그램을 “검증 가능한 가설”로 사용하는 관점을 PAL/PoT/ViperGPT류(코드를 계산보조로 사용)와 구별.

왜 이 연구를 하는가?

귀납추론은 특정 예시에서 일반 원리를 추론해 새 상황에 적용하는 능력이다. 그러나 ARC에서 LLM은 사람 대비 매우 저조하다(한계 1: 직접 프롬프트 시 ARC 평가 정확도 12.5%에 불과). 또한 직접 프롬프트는 모델이 규칙을 명시적으로 표현하거나 검증할 수단을 주지 않는다(한계 2: 가설을 train 예시로 실행·검증하는 메커니즘 부재). 저자들의 핵심 통찰은 베이즈 인지모델에서 온다 — 사람은 소수의 가설로 posterior를 근사하고 여러 추상 수준에서 규칙을 표현한다. 따라서 RQ는 “LLM이 명시적으로 자연어 가설을 생성하고 이를 실행 가능한 프로그램으로 검증하게 하면 귀납추론이 개선되는가?”이다.

Introduction

도입부는 귀납추론의 정의와 ARC에서의 LLM 약점을 제시하고, 베이즈 인지모델(소수 가설·다중 추상수준 표현)을 동기로 삼아 “가설을 먼저 생성하고 프로그램으로 검증한다”는 접근을 도입한다. 프로그램 표현은 가설을 train 예시로 실제 실행·검증할 수 있게 하여, 코드를 단순 계산 보조로 쓰는 기존 연구와 차별화된다.

Methods

파이프라인은 4단계로 구성된다. (1) 과제 설명과 예시를 입력해 다수의 자연어 가설을 생성한다(생성 temperature 1.0, 64 샘플). (2) 생성된 가설을 LLM 요약으로 필터링하거나(64→8) 사람이 선택해 추린다. (3) 필터된 가설을 Python 프로그램으로 구현한다(temperature 0.7, 가설당 8 프로그램). (4) train 예시로 프로그램을 검증한다. 실패 시 실행 피드백(에러 메시지·실패한 예시)을 주어 최대 N_feedback회 반복한다. 차별점은 프로그램을 “검증 가능한 가설”로 다룬다는 점이며, 입력은 과제 설명+예시, 출력은 검증된 프로그램(이를 새 test 입력에 실행)이다.

발견 (Findings)

ARC 40문제(top-1)에서 표현 방식에 따른 향상이 뚜렷하다: 직접 프롬프트 12.5% → Program Only 17.5% → 요약 가설 27.5% → 인간 선택 가설 37.5% → 인간 작성 가설 37.5%. 프로그램 표현만으로도 12.5%→17.5%로 향상됐다(가설 생성 없이 코드화만 해도 이득). 1D-ARC(36문제)에서는 직접 38.8% → Program Only 58.3% → 풀 파이프라인 77.8%로 일관된 향상을 보였다. 반면 SyGuS(89개 문자열 변환)에서는 직접 프로그램 생성이 이미 94.3%로 포화 상태여서 자연어 가설을 더해도 93.2%로 이득이 없었다 — “이미 포화면 언어는 무익하다.”

Results

ARC에서 피드백 반복은 단계적 향상을 준다(Table 2): 요약 가설 0회 17.5% → 1회 25% → 2회 27.5%, 인간 선택 가설 25% → 32.5% → 37.5%로, 2회 이후 정체된다. SyGuS에서 본 방법은 소수 후보(8 프로그램·2 피드백)만으로 94.3%를 달성해, 5만 개 후보를 탐색하는 CrossBeam(74.8%)을 능가했다. ablation에서 GPT-3.5는 의미 있는 가설을 생성하지 못했고(인간 작성 가설 33과제에서 32.5%, 4096 컨텍스트 한계), 다만 GPT-4 대비 약 20배 저렴하다. 부록의 Parsel 비교에서는 인간 가설이 47.5%로 향상됐으나 LLM 가설은 추상 계층 누적 오류로 오히려 저하됐다.

Discussion

한계는 다음과 같다. (한계 1) 자연어 가설의 이득은 과제 의존적이다 — SyGuS처럼 직접 프로그램 생성이 포화된 영역에서는 무익(93.2% vs 94.3%)했다. (한계 2) 모델 의존성이 크다 — GPT-3.5는 4096 컨텍스트 제약으로 무의미한 가설을 생성해 파이프라인이 작동하지 않았다. 향후 방향으로는 가설의 추상 수준을 다층으로 다루되 Parsel류의 누적 오류를 피하는 표현 설계가 제시된다. 또한 메모리화(단순 암기) 반박으로, ARC/SyGuS를 Python으로 푼 공개 시도가 없고 GPT-4가 다른 예시를 생성하지 못한다는 점을 들어 향상이 단순 암기로 설명되지 않음을 보인다.

이론적 의의

이 연구는 LLM 귀납추론을 베이즈 인지모델(소수 가설·다중 추상수준) 관점에서 재구성하고, 프로그램을 “실행 검증 가능한 가설”로 격상시킨다. 이는 코드를 계산 보조로만 쓰는 PAL/PoT/ViperGPT 계열과 명확히 구별되는 위치 설정으로, 추론을 “가설 공간 탐색+검증” 문제로 다루는 프레임을 제공한다.

Discussion Points

  • 논쟁점: 자연어 가설 생성은 직접 프로그램 생성이 약한 과제(ARC)에서만 이득을 주고 포화된 과제(SyGuS)에서는 무익하다 — 보편적 향상 수단인가, 조건부 수단인가?
  • 검증할 가정: 향상이 단순 암기가 아니라는 주장(공개 풀이 부재·GPT-4의 예시 재생성 실패)이 모든 과제에 일반화되는가?
  • 후속 연구: 자연어 가설이 이득을 주는 과제 경계를 사전에 예측하는 기준, 그리고 Parsel류 누적 오류 없이 다층 추상을 다루는 표현 설계.

실험 결과 상세

ARC 40문제 (top-1, %):

설정정확도
직접 프롬프트12.5
Program Only17.5
요약 가설(LLM)27.5
인간 선택 가설37.5
인간 작성 가설37.5

ARC 피드백 반복 (Table 2, %):

설정0회1회2회
요약 가설17.52527.5
인간 선택 가설2532.537.5

1D-ARC 36문제 (%):

설정정확도
직접 프롬프트38.8
Program Only58.3
풀 파이프라인77.8

SyGuS 89문제 (문자열 변환, %):

설정정확도
직접 프로그램 생성(8 프로그램·2 피드백)94.3
자연어 가설 추가93.2
CrossBeam(5만 후보, 비교)74.8

하이퍼파라미터(전문 근거): 가설 생성 temperature 1.0·64 샘플, 요약 64→8, 프로그램 temperature 0.7·가설당 8 프로그램, 피드백 최대 N_feedback회. GPT-3.5 ablation은 인간 작성 가설 33과제에서 32.5%(4096 컨텍스트 한계), GPT-4 대비 약 20배 저렴.

프레임워크 다이어그램

flowchart TD
  A["과제 설명 + train 예시"] --> B["1. 자연어 가설 다수 생성 (temp 1.0, 64 샘플)"]
  B --> C["2. 가설 필터링 (LLM 요약 64 to 8 또는 인간 선택)"]
  C --> D["3. Python 프로그램 구현 (temp 0.7, 가설당 8 프로그램)"]
  D --> E["4. train 예시로 검증"]
  E -->|"실패: 실행 피드백 (에러·실패예시), 최대 N_feedback회"| D
  E -->|"통과"| F["검증된 프로그램을 새 test 입력에 실행"]

재현성 및 신뢰도 평가

  • 코드 공개: 데이터셋(ARC/SyGuS)은 공개이나, 코드 공개 여부는 추출 전문에 명시 없음 → 데이터 불충분.
  • 종합 재현성 등급: B — 파이프라인 4단계, 프롬프트 전략, 하이퍼파라미터(temperature·샘플 수·피드백 횟수)가 상세히 기술돼 재구성 가능. 단 코드 공개 명시가 전문에 없어 A는 아님.
  • 주장별 신뢰도:
    • “자연어 가설 생성이 ARC 귀납추론을 개선한다”(12.5%→27.5%→37.5%): 강함 — 표현 수준별 단계적 향상과 1D-ARC 재현(38.8%→77.8%)으로 뒷받침.
    • “향상이 단순 암기가 아니다”: 중간 — 공개 풀이 부재·GPT-4 예시 재생성 실패라는 정황 근거에 의존, 직접적 통제 실험은 전문에 제한적.
    • “포화된 과제에선 언어가 무익하다”(SyGuS 94.3% vs 93.2%): 중간~강함 — 단일 데이터셋 근거이나 수치 차이가 명확.

관련 연구 비교 매트릭스

논문환경과제유형핵심기여평가지표코드공개본 논문과의 관계
본 논문 (Wang et al., 2024)ARC·1D-ARC·SyGuS가설생성+프로그램검증 귀납추론자연어 가설→Python 구현·검증 파이프라인top-1 정확도데이터 불충분—
HERO’S JOURNEY (Zheng et al., 2026)텍스트게임규칙 귀납·실행복합 규칙 induction을 텍스트게임으로 테스트게임 성공률—direct
MIR-Bench (Yan et al., 2025)다중샷 입력다중샷 귀납추론 벤치多-shot inductive reasoning 평가 벤치벤치 정확도—alternative
DreamCoder (Ellis et al., 2020)DSL 프로그램프로그램 신경탐색 귀납신경 유도 라이브러리 학습 프로그램 합성풀이율—base
PAL (Gao et al., 2022)추론 과제코드를 계산보조로 사용코드 실행으로 계산 보조(가설표현 아님)과제 정확도—alternative
ARC (Chollet, 2019)2D 격자추상 규칙귀납 벤치추상·추론 능력 측정 벤치 정의top-k 정확도—base

원자적 인사이트 (Zettelkasten)

  • 귀납추론을 “가설 공간 탐색+실행 검증” 문제로 재구성하면, 명시적 자연어 가설 생성이라는 중간 단계만으로 ARC 정확도가 12.5%에서 27.5%로 오른다.
  • 프로그램은 단순 계산 보조가 아니라 “실행해 검증할 수 있는 가설의 구현체”로 쓰일 때 귀납추론에서 가치를 갖는다 — 가설 없이 코드화만 해도 ARC가 12.5%→17.5%로 향상된다.
  • 자연어 가설의 이득은 과제 의존적이다: 직접 프로그램 생성이 포화된 SyGuS(94.3%)에서는 가설을 더해도 93.2%로 무익하다.
  • 소수의 잘 검증된 후보(8 프로그램·2 피드백)가 무차별 대량 탐색(CrossBeam 5만 후보, 74.8%)을 능가할 수 있다(SyGuS 94.3%).

핵심 용어 정리

  • 귀납추론(inductive reasoning): 소수의 구체적 예시에서 일반 규칙을 추론해 새 상황에 적용하는 추론.
  • 가설 탐색(hypothesis search): 자연어 가설을 다수 생성해 후보 공간을 탐색하고 검증으로 추리는 본 논문의 전략.
  • 프로그램 합성(program synthesis): 자연어 가설을 Python 프로그램으로 구현해 train 예시로 실행·검증하는 단계.
  • ARC (Abstraction and Reasoning Corpus): 2D 격자(10색)에서 추상 규칙을 맞히는 귀납추론 벤치마크.
  • SyGuS: FlashFill류 문자열 변환 89문제로 구성된 프로그램 합성 벤치마크.
  • 실행 피드백(execution feedback): 검증 실패 시 에러 메시지·실패 예시를 모델에 되먹여 프로그램을 수정하게 하는 반복 신호(최대 N_feedback회).

관련 연구

태그

inductive-reasoning program-synthesis ARC LLM hypothesis-search


BibTeX

@inproceedings{wang2024hypothesis,
  title={Hypothesis Search: Inductive Reasoning with Language Models},
  author={Wang, Ruocheng and Zelikman, Eric and Poesia, Gabriel and Pu, Yewen and Haber, Nick and Goodman, Noah D.},
  booktitle={International Conference on Learning Representations (ICLR)},
  year={2024}
}