Information-geometric adaptive sampling for graph diffusion arXiv
Standard diffusion models for graph generation typically rely on uniform time-stepping, an approach that overlooks the non-homogeneous dynamics of distributional evolution on complex manifolds. In this paper, we present an information-geometric framework that reinterprets the diffusion sampling trajectory as a parametric curve on a Riemannian manifold. Our key observation is that the Fisher-Rao metric provides a principled measure of the intrinsic distance. By analyzing this metric, we derive the Drift Variation Score (DVS), a geometry-aware indicator that quantifies the instantaneous rate of distributional change. Unlike prior heuristic-based adaptive samplers, our DVS solver enforces a constant informational speed on the statistical manifold, automatically maintaining a uniform rate of distributional change along the sampling trajectory. This equal arc-length strategy ensures that each discretization step contributes equally to the information speed. Theoretical analysis verifies that DVS characterizes the local stiffness of the sampling dynamics in the Fisher-Rao sense. Experimental results on molecule and social network generation show that DVS significantly improves structural fidelity and sampling efficiency.
We recommend using Python 3.9.15 and PyTorch 1.12.1.
Install requirements:
pip install -r requirements.txt
conda install -c conda-forge graph-tool=2.45
conda install -c conda-forge rdkit=2023.03.2We provide two general graph datasets (Planar, SBM) and two molecular graph datasets (QM9 and ZINC250k).
To generate general graph datasets:
python data/data_generators.py --dataset <dataset> --mmdwhere <dataset> ∈ {planar, sbm}.
python data/preprocess.py --dataset <dataset>
python data/preprocess_for_nspdk.py --dataset <dataset>where <dataset> ∈ {qm9, zinc250k}.
cd evaluation/orca
g++ -O2 -std=c++11 -o orca orca.cppAll configurations are provided in config/*.yaml.
DVS-related parameters
-
ref: controls the reference curvature, which determines the baseline scale for adaptive step sizes. -
gamma: controls the adaptive strength / feedback intensity of the sampler.
Both parameters are defined under the sample section in the config file and directly influence the behavior of the DVS adaptive step-size controller.
CUDA_VISIBLE_DEVICES=0,1,2,3 python main.py --type train --config <dataset> --seed 42Note:
The above training process corresponds to the original GruM graph diffusion model. DVS does not modify training . It is a plug-and-play sampling strategy applied only during inference.
CUDA_VISIBLE_DEVICES=0,1,2,3 python main.py --type sample --config <dataset>Download and place in checkpoints/<dataset>:
Generated graphs and molecules are provided in:
generated_graphs/
@InProceedings{lu2026dvs,
author = {Yuhui Lu and Wenjing Liu and Kun Zhan},
booktitle = {ICML},
title = {Information-geometric adaptive sampling for graph diffusion},
year = {2026},
}If you have any questions, feel free to contact me. (Email: ice.echo#gmail.com)