Null-A 모드: 일반화된 역행렬의 구성적 계산
요약
본 논문은 특수한 형태의 행렬 ${J}_t$들의 곱 $J$를 사용하여 아핀 공간의 역상(preimage)을 계산하는 새로운 알고리즘을 제시합니다. 이 방법은 AD(Automatic Differentiation)에서 발생하는 야코비안 구조를 활용하여, 활성 변수 수가 가변적인 복잡한 수치 연산자의 아핀 역상을 효율적으로 찾는 것을 목표로 합니다.
핵심 포인트
- Null-A 모드 역상 AD는 ${J}_t$가 비정방 행렬이어도 가능합니다.
- 활성 변수가 늘어나고 줄어드는 프로그램에 대응할 수 있습니다.
- CPU에서는 스칼라/이항 함수, GPU에서는 컨볼루션/어텐션을 적용합니다.
우리는 특수한 형태의 행렬 ${J}t$들의 곱 ${J}={J}{T-1}\cdots{J}_0$을 통해 아핀 공간(affine space)의 역상(preimage)을 계산하는 새로운 알고리즘을 제시합니다. 즉, 주어진 출력 아핀 공간 $\mathbf{Y}$에 대해 $\mathbf{x}\in\mathbf{X}$이면 ${J}\mathbf{x}\in \mathbf{Y}$를 만족하는 가장 큰 입력 공간 $\mathbf{X}$를 찾는 것입니다. 이러한 특수 행렬들은 AD(Automatic Differentiation)에서 발생하며, 여기서 야코비안(Jacobian) $J$는 선형화된 계산을 설명하고 그 구조가 정확히 이 형태를 가집니다: 일련의 선형화된 기본 수치 연산자들의 곱입니다. 이를 통해 우리는 Null-A 모드 역상 AD를 공식화하는 데 새로운 알고리즘을 사용할 수 있으며, 이는 야코비안 또는 야코비안 전치(Jacobian transpose)를 통해 수치 계산의 아핀 역상을 찾는 것입니다. 이것은 ${J}\acute{\mathbf{x}}^{\ast}=\acute{\mathbf{y}}^{\ast}$ 또는 ${J}^{T}\grave{\mathbf{y}}^{\ast}=\grave{\mathbf{x}}^{\ast}$를 푸는 역상 AD 문제의 일반화입니다. 핵심은 아핀 공간을 효율적인 역상 계산, 즉 구성적이고 준국소적인(quasi-local) 방식으로 일련의 행렬 ${J}_t$들을 통해 표현하는 것입니다. 이전 방법들과 달리, Null-A 역상 모드 AD는 ${J}_t$ 행렬들이 비정방 행렬(non-square)일 수 있도록 허용하여, 계산 과정에서 활성 변수의 수가 늘어나고 줄어드는 컴퓨터 프로그램에 대응할 수 있습니다. ${J}$가 정방 행렬이고 초기 아핀 공간이 단일 점인 경우, 이는 기존의 역상 문제를 찾습니다. 그러나 더 일반적인 경우, 전체 아핀 공간을 갖는 것은 문제별 방식으로 활용될 수 있는 자유도를 제공합니다. 우리는 이 방법을 CPU 상에서 $J_t$가 선형화된 스칼라 단항 또는 이항 수치 함수인 작은 문제에 적용하고; GPU 상에서 $J_t$가 컨볼루션(convolution) 및 어텐션(attention)과 같은 집계 배열 연산자(aggregate array operations)인 더 큰 문제에 적용합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.PL (Programming Languages)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기