SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2206.09914 · ICML · 2022

A Langevin-like Sampler for Discrete Distributions

Qiang Liu, Ruqi Zhang, Xingchao Liu

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 3 functions out of this paper's own repositories and ran 3 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
ruqizhang/discrete-langevin canonical 3 of 3
FunctionStatusWhere it lives
DiffSampler Ran ruqizhang/discrete-langevin/samplers.py
pointer only (licence: NONE) · get_code("bdda7af5a7789767")
get_gt_mean Ran ruqizhang/discrete-langevin/ising_sample.py
pointer only (licence: NONE) · get_code("fcaf75203fcaccf7")
get_log_rmse Ran ruqizhang/discrete-langevin/ising_sample.py
pointer only (licence: NONE) · get_code("a02110a4efcbc845")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

We propose discrete Langevin proposal (DLP), a simple and scalable gradient-based proposal for sampling complex high-dimensional discrete distributions. In contrast to Gibbs sampling-based methods, DLP is able to update all coordinates in parallel in a single step and the magnitude of changes is controlled by a stepsize. This allows a cheap and efficient exploration in the space of high-dimensional and strongly correlated variables. We prove the efficiency of DLP by showing that the asymptotic bias of its stationary distribution is zero for log-quadratic distributions, and is small for distributions that are close to being log-quadratic. With DLP, we develop several variants of sampling algorithms, including unadjusted, Metropolis-adjusted, stochastic and preconditioned versions. DLP outperforms many popular alternatives on a wide variety of tasks, including Ising models, restricted Boltzmann machines, deep energy-based models, binary neural networks and language generation.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("2206.09914")
get_code_for_paper("2206.09914")
have("2206.09914")

Connect an agent — have() is free.