Skip to main content
QUICK REVIEW

[논문 리뷰] Denotational Correctness of Forward-Mode Automatic Differentiation for Iteration and Recursion

Matthijs Vákár|arXiv (Cornell University)|2020. 07. 10.
Numerical Methods and Algorithms참고 문헌 18인용 수 8
한 줄 요약

이 논문은 재귀, 반복, 부분성(예: 정의되지 않은 연산, 지연 조건문, 재귀적 타입 등)을 갖춘 함수형 언어에서 전진 모드 자동 미분(AD)에 대한 의미론적 정확성 증명을 제시한다. 미분기하학적 공간과, 층 유사 관계를 갖는 의미론적 논리관계 프레임워크를 사용하여, 복잡한 제어 흐름과 재귀적 데이터 구조가 존재하는 상황에서도 AD 변환은 정확히 도함수를 계산함을 입증한다.

ABSTRACT

We present semantic correctness proofs of forward-mode Automatic Differentiation (AD) for languages with sources of partiality such as partial operations, lazy conditionals on real parameters, iteration, and term and type recursion. We first define an AD macro on a standard call-by-value language with some primitive operations for smooth partial functions and constructs for real conditionals and iteration, as a unique structure preserving macro determined by its action on the primitive operations. We define a semantics for the language in terms of diffeological spaces, where the key idea is to make use of a suitable partiality monad. A semantic logical relations argument, constructed through a subsconing construction over diffeological spaces, yields a correctness proof of the defined AD macro. A key insight is that, to reason about differentiation at sum types, we work with relations which form sheaves. Next, we extend our language with term and type recursion. To model this in our semantics, we introduce a new notion of space, suitable for modeling both recursion and differentiation, by equipping a diffeological space with a compatible $ω$cpo-structure. We demonstrate that our whole development extends to this setting. By making use of a semantic, rather than syntactic, logical relations argument, we circumvent the usual technicalities of logical relations techniques for type recursion.

연구 동기 및 목표

  • 재귀, 반복, 부분성 연산이 추가된 함수형 언어에서 전진 모드 자동 미분(AD)의 정확성을 형식적으로 증명하는 것.
  • 정의되지 않은 함수(예: ReLU의 꺾인 지점에서의 미분)나 수렴하지 않는 계산 등 부분성의 영향을 받는 프로그램을 의미론적 의미론 프레임워크 내에서 어떻게 다룰 수 있는지 다루는 것.
  • 실제 함수형 프로그래밍 언어에서 필수적인 요소인 항 및 타입 재귀를 포함한 기존의 AD 의미론적 정확성 결과를 확장하는 것.
  • 타입 재귀 상황에서 기술적 복잡성을 피하면서도 정확성을 유지하는, 문법적 접근이 아닌 의미론적 논리관계를 사용하는 증명 기법을 개발하는 것.
  • PyTorch, Stan, TensorFlow Eager와 같은 시스템에서 재귀와 부분성 기능을 활용하는 AD의 수학적으로 엄밀한 기초를 제공하는 것.

제안 방법

  • 기본 미분 가능한 부분 함수, 실수 조건문, 반복을 갖춘 명시적 평가 함수형 언어에 대해 전진 모드 AD 매크로를 구조 보존 변환으로 정의한다.
  • 정의되지 않은 값과 부분 함수를 다루기 위해 부분성 모나드를 갖춘 미분기하학적 공간을 사용하여 언어 의미론을 모델링한다.
  • 미분기하학적 공간 위에서 부분 공간을 구성함으로써 의미론적 논리관계를 구축하며, 이 관계는 합 타입에서의 미분을 다룰 수 있도록 층을 형성한다.
  • 항 및 타입 재귀를 모델링하기 위해 미분기하학적 공간에 ω-CPA(완비 부분 순서 집합) 구조를 도입하여 새로운 공간 클래스인 ω-미분기하학적 공간을 정의한다.
  • ω-미분기하학적 공간의 범주에서 이중극한(bilimits)이 AD 정확성에 필요한 구조를 유지함을 보여, 전체 언어에 대한 정확성 증명을 재귀로 확장한다.
  • 코분배 법칙과 반사적 부분범주 기법을 사용하여 의미 모델 내에서 재귀적 타입의 해석이 AD 변환을 존중함을 보장한다.

실험 결과

연구 질문

  • RQ1로그 함수가 0에서 정의되지 않거나 ReLU 함수가 0에서 꺾인 지점에서의 도함수를 계산할 때, 전진 모드 AD는 어떻게 형식적으로 정확성을 확보할 수 있는가?
  • RQ2부분성과 동시에 미분을 지원하는 의미론적 프레임워크 내에서 재귀적 데이터 타입과 재귀적 함수는 어떻게 모델링할 수 있는가?
  • RQ3타입 재귀가 존재하는 상황에서 문법적 접근이 아닌 의미론적 논리관계 기반 증명을 통해 AD의 정확성을 입증할 수 있는가?
  • RQ4미분과 재귀를 동시에 모델링할 수 있는 통합된 의미론적 프레임워크를 위해 어떤 수학적 구조가 필요한가?
  • RQ5일阶, 비재귀 언어에서의 AD 정확성 결과를 고계수 함수, 재귀, 합 타입을 포함한 전체 기능적 언어로 어떻게 확장할 수 있는가?

주요 결과

  • 논문은 언어 내 모든 프로그램, 특히 부분 연산과 재귀적 구조를 포함한 프로그램에 대해 전진 모드 AD 매크로가 정확히 도함수를 계산함을 입증한다.
  • 부분성 모나드를 갖춘 미분기하학적 공간의 사용은 정의되지 않은 값과 ReLU와 같은 꺾인 함수를 다루는 데 있어 강력한 의미론적 기반을 제공한다.
  • 논리관계를 층으로 구성함으로써 합 타입에서의 도함수 계산에 대해 정확히 추론할 수 있으며, 이는 도함수 내 조건부 분기 모델링에 필수적이다.
  • ω-미분기하학적 공간의 도입은 재귀와 미분을 동시에 모델링할 수 있게 하여, 재귀적 타입으로의 정확성 결과 확장을 가능하게 한다.
  • 항 및 타입 재귀를 포함한 전체 언어로의 정확성 결과가 확장되었으며, 이는 실수형 리스트나 트리와 같은 대수적 데이터 타입에 대해서도 AD 변환이 타당함을 보여준다.
  • 의미론적 접근은 재귀가 존재하는 상황에서 문법적 논리관계의 기술적 복잡성을 피하며, 더 깔끔하고 일반적인 증명 기법을 제공한다.

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

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

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

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