Skip to main content
QUICK REVIEW

[논문 리뷰] Provably Correct Automatic Subdifferentiation for Qualified Programs

Sham M. Kakade, Jason D. Lee|arXiv (Cornell University)|2018. 09. 23.
Numerical Methods and Algorithms참고 문헌 12인용 수 4
한 줄 요약

이 논문은 기계학습에서 흔히 사용되는 비연속적이고 조각별로 정의된 함수의 클래스에 대해 일반화된(클락) 부분미분을 보장하는 자동 부분미분 방법을 제안한다. 이는 자동 미분을 확장하여 일반화된 부분미분을 계산함으로써 이루어지며, '저비용 부분미분 원리'를 수립한다. 이 원리에 따르면, 약간의 제약 조건이 만족될 경우 함수 평가 비용의 최대 6배 이내로 부분미분을 계산할 수 있으며, 이는 기존 라이브러리가 실패하는 비가속점에서도 정확성을 보장한다.

ABSTRACT

The Cheap Gradient Principle (Griewank 2008) --- the computational cost of computing the gradient of a scalar-valued function is nearly the same (often within a factor of $5$) as that of simply computing the function itself --- is of central importance in optimization; it allows us to quickly obtain (high dimensional) gradients of scalar loss functions which are subsequently used in black box gradient-based optimization procedures. The current state of affairs is markedly different with regards to computing subderivatives: widely used ML libraries, including TensorFlow and PyTorch, do not correctly compute (generalized) subderivatives even on simple examples. This work considers the question: is there a Cheap Subgradient Principle? Our main result shows that, under certain restrictions on our library of nonsmooth functions (standard in nonlinear programming), provably correct generalized subderivatives can be computed at a computational cost that is within a (dimension-free) factor of $6$ of the cost of computing the scalar function itself.

연구 동기 및 목표

  • 텐서플로우 및 파이토치와 같은 주요 머신러닝 라이브러리에서 비가속점에서의 부분미분 계산이 정확하지 않은 문제를 해결하기 위해.
  • 부드러운 함수에 대한 '저비용 기울기 원리'와 유사하게, 비연속적이며 국소 리프시츠 조건을 만족하는 함수에 대해 '저비용 부분미분 원리'를 수립할 수 있는지 조사하기 위해.
  • 제약 조건을 만족하는 프로그램에 대해 일반화된(클락) 부분미분을 보장적으로 계산할 수 있는 계산 모델과 알고리즘 프레임워크를 개발하기 위해.
  • 자동 미분을 비연속 함수, 예를 들어 ReLU, 절댓값, 선형대수 연산(SVD, 고유값 등)까지 확장하여 부분미분 계산의 정확성을 보장하기 위해.
  • 안전이 중요한 응용 분야(예: 물리 시뮬레이터, 온라인 학습 시스템 등)에서 수치적으로 안정적이고 정확한 부분미분 계산을 위한 기반을 마련하기 위해.

제안 방법

  • 이 방법은 조각별 함수의 구조를 고려한 체인 룰을 사용하여 역방향 자동 미분을 확장하여 국한된 총미분을 계산한다.
  • 각 함수를 선형부등식으로 정의된 영역들의 유한한 합으로 표현하는 새로운 계산 모델을 도입하며, 각 영역에서는 다항식으로 표현되는 매끄러운 성분을 가진다.
  • 각 함수에 대해, 알고리즘은 입력 변화의 방향에 따라 활성 영역을 결정하고, 한계 과정을 통해 적절한 부분미분을 선택한다.
  • 핵심 알고리즘인 알고리즘 6은 입력 변화의 방향에서 활성 다항식 성분의 기울기를 평가하여 부분미분을 계산한다.
  • 라이브러리 함수는 알고리즘 7을 통해 오버로드되며, 이는 '활성화된 영역'이 변화의 방향에서 나타나는지 식별하여 함수 값, 방향 도함수, 그리고 부분미분을 반환한다.
  • 이 방법은 제약 조건(가정 3.1)에 의존하여 활성 영역이 잘 정의되고, 동치 프로그램 표현 간에 한계 부분미분이 일관되게 유지됨을 보장한다.

실험 결과

연구 질문

  • RQ1기계학습에서 널리 사용되는 광범위한 비연속적이고 조각별로 정의된 함수의 클래스에 대해 증명 가능하고 정확한 자동 부분미분 방법을 설계할 수 있는가?
  • RQ2함수 자체 평가 비용보다 차원에 독립적인 상수 배수 이내로 일반화된 부분미분을 계산할 수 있는 '저비용 부분미분 원리'가 존재하는가?
  • RQ3기존 라이브러리(예: 텐서플로우, 파이토치)가 수학적으로 동치인 프로그램에서 일관되지 않은 부분미분을 생성하는 이유는 무엇이며, 이를 공식적으로 해결할 수 있는가?
  • RQ4SVD, 고유값, QR 분해와 같은 비연속 선형대수 연산을 다룰 수 있도록 이 프레임워크를 확장할 수 있는가?
  • RQ5반올림 오차와 근접한 특이 케이스가 존재할 경우에도 부분미분 계산의 수치적 안정성과 정확성을 보장하는 조건은 무엇인가?

주요 결과

  • 논문은 '저비용 부분미분 원리'를 수립하여, 일반화된 부분미분이 입력 차원에 관계없이 함수 평가 비용의 최대 6배 이내로 계산될 수 있음을 보였다.
  • 현재 라이브러리가 실패하는 비가속점(예: ReLU(x) 또는 |x|의 원점)에서도 이 방법은 정확한 부분미분을 계산한다.
  • 수학적으로 동치인 프로그램들(f1(x)=x, f2(x)=ReLU(x)−ReLU(−x), f3(x)=10f1(x)−9f2(x))에 대해서도 이 방법은 일관된 부분미분을 생성하지만, 기존 라이브러리는 그렇지 않다.
  • 알고리즘은 입력 변화의 방향에 기반한 한계 과정을 사용하여 정확한 활성 영역에 해당하는 부분미분을 보장함으로써 정확성을 보장한다.
  • 이 프레임워크는 단변수 조각다항식으로 확장 가능하며, 제약 조건이 만족될 경우 더 복잡한 함수로 일반화될 수 있다.
  • 이 접근은 물리 시뮬레이션 및 온라인 학습과 같은 안전이 중요한 응용 분야에서 수치적으로 안정적이고 증명 가능한 부분미분 계산을 위한 기반을 제공한다.

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

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

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

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