Deep Generative Models with Hard Linear Equality Constraints

Ruoyan Li, Dipti Ranjan Sahu, Guy Van den Broeck, Zhe Zeng
2/8/2025
cs.LG

No confident code implementation found for this paper.

Abstract

While deep generative models~(DGMs) have demonstrated remarkable success in capturing complex data distributions, they consistently fail to learn constraints that encode domain knowledge and thus require constraint integration. Existing solutions to this challenge have primarily relied on heuristic methods and often ignore the underlying data distribution, harming the generative performance. In this work, we propose a probabilistically sound approach for enforcing the hard constraints into DGMs to generate constraint-compliant and realistic data. This is achieved by our proposed gradient estimators that allow the constrained distribution, the data distribution conditioned on constraints, to be differentiably learned. We carry out extensive experiments with various DGM model architectures over five image datasets and three scientific applications in which domain knowledge is governed by linear equality constraints. We validate that the standard DGMs almost surely generate data violating the constraints. Among all the constraint integration strategies, ours not only guarantees the satisfaction of constraints in generation but also archives superior generative performance than the other methods across every benchmark.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{li2025deep,
  title  = {Deep Generative Models with Hard Linear Equality Constraints},
  author = {Ruoyan Li and Dipti Ranjan Sahu and Guy Van den Broeck and Zhe Zeng},
  year   = {2025},
  eprint = {2502.05416},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2502.05416v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2502.05416.svg)](https://codeofpaper.com/paper/2502.05416)

Discussion