Distributions for Compositionally Differentiating Parametric Discontinuities

Computations in physical simulation, computer graphics, and probabilistic inference often require the differentiation of discontinuous processes due to contact, occlusion, and changes at a point in time. Popular differentiable programming languages, such as PyTorch and JAX, ignore discontinuities du...

Full description

Bibliographic Details
Main Authors: Michel, Jesse, Mu, Kevin, Yang, Xuanda, Bangaru, Sai Praveen, Collins, Elias Rojas, Bernstein, Gilbert, Ragan-Kelley, Jonathan, Carbin, Michael, Li, Tzu-Mao
Other Authors: Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Format: Article
Language:English
Published: Association for Computing Machinery 2024
Online Access:https://hdl.handle.net/1721.1/154393
_version_ 1826200167385137152
author Michel, Jesse
Mu, Kevin
Yang, Xuanda
Bangaru, Sai Praveen
Collins, Elias Rojas
Bernstein, Gilbert
Ragan-Kelley, Jonathan
Carbin, Michael
Li, Tzu-Mao
author2 Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
author_facet Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Michel, Jesse
Mu, Kevin
Yang, Xuanda
Bangaru, Sai Praveen
Collins, Elias Rojas
Bernstein, Gilbert
Ragan-Kelley, Jonathan
Carbin, Michael
Li, Tzu-Mao
author_sort Michel, Jesse
collection MIT
description Computations in physical simulation, computer graphics, and probabilistic inference often require the differentiation of discontinuous processes due to contact, occlusion, and changes at a point in time. Popular differentiable programming languages, such as PyTorch and JAX, ignore discontinuities during differentiation. This is incorrect for <jats:italic>parametric discontinuities</jats:italic> —conditionals containing at least one real-valued parameter and at least one variable of integration. We introduce Potto, the first differentiable first-order programming language to soundly differentiate parametric discontinuities. We present a denotational semantics for programs and program derivatives and show the two accord. We describe the implementation of Potto, which enables separate compilation of programs. Our prototype implementation overcomes previous compile-time bottlenecks achieving an 88.1x and 441.2x speed up in compile time and a 2.5x and 7.9x speed up in runtime, respectively, on two increasingly large image stylization benchmarks. We showcase Potto by implementing a prototype differentiable renderer with separately compiled shaders.
first_indexed 2024-09-23T11:32:12Z
format Article
id mit-1721.1/154393
institution Massachusetts Institute of Technology
language English
last_indexed 2025-02-19T04:20:31Z
publishDate 2024
publisher Association for Computing Machinery
record_format dspace
spelling mit-1721.1/1543932025-01-04T05:56:55Z Distributions for Compositionally Differentiating Parametric Discontinuities Michel, Jesse Mu, Kevin Yang, Xuanda Bangaru, Sai Praveen Collins, Elias Rojas Bernstein, Gilbert Ragan-Kelley, Jonathan Carbin, Michael Li, Tzu-Mao Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science Computations in physical simulation, computer graphics, and probabilistic inference often require the differentiation of discontinuous processes due to contact, occlusion, and changes at a point in time. Popular differentiable programming languages, such as PyTorch and JAX, ignore discontinuities during differentiation. This is incorrect for <jats:italic>parametric discontinuities</jats:italic> —conditionals containing at least one real-valued parameter and at least one variable of integration. We introduce Potto, the first differentiable first-order programming language to soundly differentiate parametric discontinuities. We present a denotational semantics for programs and program derivatives and show the two accord. We describe the implementation of Potto, which enables separate compilation of programs. Our prototype implementation overcomes previous compile-time bottlenecks achieving an 88.1x and 441.2x speed up in compile time and a 2.5x and 7.9x speed up in runtime, respectively, on two increasingly large image stylization benchmarks. We showcase Potto by implementing a prototype differentiable renderer with separately compiled shaders. 2024-05-03T15:40:39Z 2024-05-03T15:40:39Z 2024-04-29 2024-05-01T07:48:33Z Article http://purl.org/eprint/type/JournalArticle 2475-1421 https://hdl.handle.net/1721.1/154393 Michel, Jesse, Mu, Kevin, Yang, Xuanda, Bangaru, Sai Praveen, Collins, Elias Rojas et al. 2024. "Distributions for Compositionally Differentiating Parametric Discontinuities." Proceedings of the ACM on Programming Languages, 8 (OOPSLA1). PUBLISHER_CC en 10.1145/3649843 Proceedings of the ACM on Programming Languages Creative Commons Attribution-Noncommercial-ShareAlike https://creativecommons.org/licenses/by-sa/4.0/ The author(s) application/pdf Association for Computing Machinery Association for Computing Machinery
spellingShingle Michel, Jesse
Mu, Kevin
Yang, Xuanda
Bangaru, Sai Praveen
Collins, Elias Rojas
Bernstein, Gilbert
Ragan-Kelley, Jonathan
Carbin, Michael
Li, Tzu-Mao
Distributions for Compositionally Differentiating Parametric Discontinuities
title Distributions for Compositionally Differentiating Parametric Discontinuities
title_full Distributions for Compositionally Differentiating Parametric Discontinuities
title_fullStr Distributions for Compositionally Differentiating Parametric Discontinuities
title_full_unstemmed Distributions for Compositionally Differentiating Parametric Discontinuities
title_short Distributions for Compositionally Differentiating Parametric Discontinuities
title_sort distributions for compositionally differentiating parametric discontinuities
url https://hdl.handle.net/1721.1/154393
work_keys_str_mv AT micheljesse distributionsforcompositionallydifferentiatingparametricdiscontinuities
AT mukevin distributionsforcompositionallydifferentiatingparametricdiscontinuities
AT yangxuanda distributionsforcompositionallydifferentiatingparametricdiscontinuities
AT bangarusaipraveen distributionsforcompositionallydifferentiatingparametricdiscontinuities
AT collinseliasrojas distributionsforcompositionallydifferentiatingparametricdiscontinuities
AT bernsteingilbert distributionsforcompositionallydifferentiatingparametricdiscontinuities
AT ragankelleyjonathan distributionsforcompositionallydifferentiatingparametricdiscontinuities
AT carbinmichael distributionsforcompositionallydifferentiatingparametricdiscontinuities
AT litzumao distributionsforcompositionallydifferentiatingparametricdiscontinuities