Skip to main content
QUICK REVIEW

[논문 리뷰] Differentiable Convex Optimization Layers

Akshay Agrawal, Brandon Amos|arXiv (Cornell University)|2019. 10. 28.
Stochastic Gradient Optimization Techniques인용 수 132
한 줄 요약

이 논문은 disciplined parametrized programming(DPP) 및 affine-solver-affine (ASA) 형식을 도입하여 Disciplined Convex Programs를 통한 해석적 미분을 가능하게 하며, CVXPY 1.1에 구현되고 PyTorch 및 TensorFlow 2.0용 differentiable layers를 통해 ML 프레임워크에 적용되며, 학습 및 제어 분야에 응용을 시연한다.

ABSTRACT

Recent work has shown how to embed differentiable optimization problems (that is, problems whose solutions can be backpropagated through) as layers within deep learning architectures. This method provides a useful inductive bias for certain problems, but existing software for differentiable optimization layers is rigid and difficult to apply to new settings. In this paper, we propose an approach to differentiating through disciplined convex programs, a subclass of convex optimization problems used by domain-specific languages (DSLs) for convex optimization. We introduce disciplined parametrized programming, a subset of disciplined convex programming, and we show that every disciplined parametrized program can be represented as the composition of an affine map from parameters to problem data, a solver, and an affine map from the solver's solution to a solution of the original problem (a new form we refer to as affine-solver-affine form). We then demonstrate how to efficiently differentiate through each of these components, allowing for end-to-end analytical differentiation through the entire convex program. We implement our methodology in version 1.1 of CVXPY, a popular Python-embedded DSL for convex optimization, and additionally implement differentiable layers for disciplined convex programs in PyTorch and TensorFlow 2.0. Our implementation significantly lowers the barrier to using convex optimization problems in differentiable programs. We present applications in linear machine learning models and in stochastic control, and we show that our layer is competitive (in execution time) compared to specialized differentiable solvers from past work.

연구 동기 및 목표

  • 볼록 최적화용 DSL에 친화적인 방식으로 DCP 준수인 disciplined convex programs를 통해 미분할 수 있는 프레임워크를 제공한다.
  • 매개변수에서 문제 데이터로의 매핑이 선형(affine)임을 보장하기 위해 disciplined parametrized programming(DPP) 및 ASA 형식을 도입한다.
  • CVXPY 1.1에 DPP/ASA를 구현하고 PyTorch 및 TensorFlow 2.0용 differentiable layers를 만든다.
  • 선형 모델의 민감도 분석 및 확률적 제어에서 학습 제어-Lyapunov 정책에 대한 응용을 시연한다.
  • 이차 계획 문제에 대한 특화된 differentiable solver와 비교한 실행 시간 경쟁력을 보여준다.

제안 방법

  • 매개변수-아핀 구조를 가진 매개변수화된 disciplined convex program을 위한 문법으로 disciplined parametrized programming(DPP)을 정의한다.
  • 문제 데이터 매핑이 선형이며 미분 가능하도록 DPP를 affine-solver-affine(ASA) 형식으로 정규화(정규형화)한다.
  • 해 해 맵의 도함수를 다음과 같이 표현한다: D^T S(θ) = D^T C(θ) D^T s(A,b,c) D^T R( x̃* ), ASA 원뿔 프로그램에 대한 원뿔 solver를 사용한다.
  • 정규화기 C를 희소 행렬 Q와 희소 텐서 R로 표현하여 효율적인 순전파/역전파를 가능하게 한다.
  • CVXPY 1.1에 이 접근법을 구현하고 PyTorch 및 TensorFlow 2.0용 differentiable convex optimization 레이어를 제공하며, cone-program 도함수를 위해 diffcp를 활용한다.
  • 밀집 및 희소 QP에서 예제를 제공하고 qpth와 같은 전문 솔버와의 런타임을 비교한다.

실험 결과

연구 질문

  • RQ1매개변수화된 상태에서 disciplined convex programs를 엔드투엔드로 어떻게 미분할 수 있는가?
  • RQ2DPP와 ASA 형식이 정규화 과정을 역전파하지 않고도 볼록 최적화 계층을 통해 효율적이고 자동 미분을 가능하게 할 수 있는가?
  • RQ3주류 ML 프레임워크에서 differentiable convex layers의 실제 성능은 전문 솔버와 비교하여 어떠한가?
  • RQ4이 방법이 민감도 분석 및 확률적 제어에서 새로운 엔드투엔드 학습 응용을 가능하게 할 수 있는가?

주요 결과

  • 본 논문은 DPP 및 ASA 형식을 도입하여 매개변수에서 문제 데이터로의 선형(affine) 매핑과 해의 출력에서 원래 문제 해답으로의 선형 매핑을 가능하게 한다.
  • CVXPY 1.1의 구현과 PyTorch 및 TensorFlow 2.0용 differentiable layers를 제공하며 배치(batch) 지원이 있다.
  • 정규화는 정규화기를 희소 행렬로 표현하여 가속화하고, 효율적인 그래디언트 계산을 가능하게 한다.
  • 실험은 데이터 중독 민감도 분석과 확률적 제어를 위한 볼록 근사적 동적 프로그래밍의 응용을 시연한다.
  • 이차 계획 문제에 대해 제안된 레이어는 밀집 환경에서 qpth 같은 특화 솔버와 경쟁적이며 희소 환경에서 더 빠르다.
  • 이전 방법에 비해 정규화 시간이 크게 감소한다.
  • 이 프레임워크는 CVX, CVXPY, Convex.jl, CVXR와 같은 표준 DSL로 해결 가능한 다양한 볼록 문제에 적용 가능하다.

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

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

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

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