Skip to main content
QUICK REVIEW

[논문 리뷰] Programming with a Differentiable Forth Interpreter

Matko Bošnjak, Tim Rocktäschel|arXiv (Cornell University)|2016. 05. 21.
Topic Modeling참고 문헌 32인용 수 58
한 줄 요약

이 논문은 경사 하강법을 사용하여 부분 프로그램 스케치에서 절차적 행동을 학습할 수 있도록 하는 미분 가능 Forth 인터프리터 ∂⁴를 소개한다. Forth 코드를 미분 가능한 추상 기계로 통합함으로써, 프로그래머는 알고리즘적 구조와 같은 절차적 지식을 삽입할 수 있고, 동시에 역전파를 통해 미지의 연산을 최적화할 수 있다. 이로 인해 단어 문제 해결과 같은 신경망 추론 작업에서 최신 기술 수준의 성능을 달성한다.

ABSTRACT

Given that in practice training data is scarce for all but a small set of problems, a core question is how to incorporate prior knowledge into a model. In this paper, we consider the case of prior procedural knowledge for neural networks, such as knowing how a program should traverse a sequence, but not what local actions should be performed at each step. To this end, we present an end-to-end differentiable interpreter for the programming language Forth which enables programmers to write program sketches with slots that can be filled with behaviour trained from program input-output data. We can optimise this behaviour directly through gradient descent techniques on user-specified objectives, and also integrate the program into any larger neural computation graph. We show empirically that our interpreter is able to effectively leverage different levels of prior program structure and learn complex behaviours such as sequence sorting and addition. When connected to outputs of an LSTM and trained jointly, our interpreter achieves state-of-the-art accuracy for end-to-end reasoning about quantities expressed in natural language stories.

연구 동기 및 목표

  • 모델 설계에 부분 절차적 지식을 통합하여 신경망 학습에서 제한된 훈련 데이터 문제를 해결하기 위해.
  • Forth 프로그램의 종단 간 미분 실행을 가능하게 하여, 미지의 프로그램 구성 요소를 경량 최적화할 수 있도록 하기 위해.
  • 미분 가능한 추상 기계를 통해 신경망과 기호적 프로그램 구조를 통합하는 프레임워크를 제공하기 위해.
  • 학습된 슬롯이 있는 프로그램 스케치가 새로운 문제 크기로 일반화되고, 절차적 사전 지식이 없는 모델보다 성능이 뛰어나다는 것을 입증하기 위해.
  • 자연어 수량에 대한 추론 작업과 같은 과제에서 신경망과 기호적 프로그램 인터프리터를 함께 훈련시킬 수 있도록 하기 위해.

제안 방법

  • 스택 기반의 의미 체계를 연속적이고 미분 가능한 연산으로 모델링하여 Forth 프로그래밍 언어를 위한 미분 가능한 추상 기계를 설계한다.
  • Forth 프로그램을 데이터 스택, 리턴 스택, 힙, 프로그램 카운터에서의 상태 전이를 정의하는 단어의 시퀀스로 표현한다.
  • 사용자가 정의한 목표 함수에 따라 경사 하강법을 사용하여 역전파를 통해 최적화되는 신경 슬롯을 Forth 스케치 내에 구현한다.
  • LSTM 인코더와 같은 더 큰 신경계산 그래프에 미분 가능한 Forth 인터프리터를 통합하여 종단 간 훈련을 수행한다.
  • 신속한 신경 프로그램 실행과 훈련 효율성 향상을 위해 기호 실행 최적화를 적용한다.
  • 입력-출력 쌍에 기반하여 프로그램 스케치의 누락된 연산(예: 정렬, 산술 연산)을 학습한다.

실험 결과

연구 질문

  • RQ1미분 가능한 Forth 인터프리터는 부분 프로그램 스케치와 입력-출력 예제를 기반으로 절차적 행동을 효과적으로 학습할 수 있는가?
  • RQ2제한된 데이터와 구조적 프로그램 스케치만으로 훈련된 모델이 새로운 문제 크기로 일반화하는 데 얼마나 잘 성능을 내는가?
  • RQ3Forth 스케치를 통해 절차적 사전 지식을 통합할 경우, 종단 간 신경망 모델에 비해 신경 추론 과제에서 성능 향상은 어느 정도 이루어지는가?
  • RQ4미분 가능한 인터프리터가 LSTMs와 같은 더 큰 신경망 아키텍처에 원활하게 통합되어 자연어 추론 과제에서 공동 훈련이 가능한가?
  • RQ5복잡한 추론 시나리오에서 기호적 프로그램 구조와 신경 학습을 조합할 경우 성능 향상은 어느 정도 달성 가능한가?

주요 결과

  • ∂⁴ 인터프리터는 프로그램 스케치와 입력-출력 쌍만으로도 시퀀스 정렬과 산술 덧셈을 성공적으로 학습하여 새로운 문제 크기로 일반화한다.
  • LSTM에 연결하고 공동 훈련한 결과, 자연어 서사에서 수량에 대한 종단 간 추론 과제에서 최신 기술 수준의 정확도를 달성한다.
  • 고수준 알고리즘적 구조(예: 재귀 정렬)만 스케치로 제공되어도 프로그래밍적 행동 학습이 효과적으로 가능하다.
  • 미분 가능한 Forth 인터프리터를 통해 프로그램 실행을 거쳐 종단 간 역전파가 가능해져 기호 코드 내의 신경 구성 요소 최적화가 가능하다.
  • 기호 실행 기반 최적화가 훈련 중 신경 프로그램 실행 속도를 크게 향상시킨다.
  • 기존의 신경 프로그램 유도에만 의존하거나 추론 과제를 위해 명시적인 중간 표현이 필요한 모델들보다 성능이 뛰어나다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.