JungbinLim / GGAE-public

11 stars 2 forks source link

Graph Geometry-Preserving Autoencoders

The official repository for \<Graph Geometry-Preserving Autoencoders> (Lim, Kim, Lee, Jang, and Park, ICML 2024)

This paper proposes Graph Geometry-Preserving Autoencoder (GGAE), a regularized autoencoder trained by minimizing the reconstruction error + distortion measure of graph geometry. It produces latent representation that preserves shortest-path distances along a graph connecting data points by semantic distances or similarity.

Preview

1. Swiss Roll

Figure 1: (Left) An ideal latent representation, (Middle) distorted representation obtained by AE, and (Right) graph geometry-preserving representation obtained by GGAE.


2. Rotating MNIST

Figure 2: (Left) An ideal latent representation, (Middle) distorted representation obtained by AE, and (Right) graph geometry-preserving representation obtained by GGAE.


3. dSprites

Figure 3: (Left) An ideal latent representation, (Middle) distorted representation obtained by AE, and (Right) graph geometry-preserving representation obtained by GGAE.


Environment

The project is developed under a standard PyTorch environment.

Preparing the Datasets

Rotating MNIST

Run ./notebook/01_RotatingMNIST_dataset_generation.ipynb.

dSprites

Run ./notebook/02_dSprites_dataset_generation.ipynb.

Running

1. Train

1.1 AE

python train.py --config configs/swissroll/swissroll_ae_z2.yml
python train.py --config configs/rotatingmnist/rotatingmnist_ae_z2.yml
python train.py --config configs/dsprites/dsprites_ae_z3.yml

1.2 GGAE

python train.py --config configs/swissroll/swissroll_ggae_z2.yml
python train.py --config configs/rotatingmnist/rotatingmnist_ggae_z2.yml
python train.py --config configs/dsprites/dsprites_ggae_z3.yml

2. Tensorboard

tensorboard --logdir results/

Citation

If you found this library useful in your research, please consider citing:

@inproceedings{limgraph,
  title={Graph Geometry-Preserving Autoencoders},
  author={Lim, Jungbin and Kim, Jihwan and Lee, Yonghyeon and Jang, Cheongjae and Park, Frank C},
  booktitle={Forty-first International Conference on Machine Learning}
}