Zhou Zhao, Zhijie Lin, Zijian Zhang
We lifted 14 functions out of this paper's own repositories and ran 5 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.
| Repository | Role | Ran |
|---|---|---|
| ckczzj/pdae | — | 4 of 10 |
| yue-zhongqi/diti | — | 1 of 4 |
| Function | Status | Where it lives |
|---|---|---|
| DDIM | Ran | yue-zhongqi/diti/trainer/representation_learning_trainer.py pointer only (licence: NONE) · get_code("580dc76645bca9ff") |
| QKVAttention | Ran | ckczzj/pdae/model/shift_unet.py pointer only (licence: NONE) · get_code("afd1425583888760") |
| QKVAttentionLegacy | Ran | ckczzj/pdae/model/shift_unet.py pointer only (licence: NONE) · get_code("ec9213c0c8138849") |
| TimestepBlock | Ran | ckczzj/pdae/model/shift_unet.py pointer only (licence: NONE) · get_code("7778cda2e40a2497") |
| normalization | Ran | ckczzj/pdae/model/shift_unet.py pointer only (licence: NONE) · get_code("d5eb4721bd7ede86") |
| AttentionBlock | Not yet run | ckczzj/pdae/model/shift_unet.py pointer only (licence: NONE) · get_code("b7379a086999f359") |
| BaseTrainer | Not yet run | yue-zhongqi/diti/trainer/representation_learning_trainer.py pointer only (licence: NONE) · get_code("4169604fb1fae5cb") |
| GaussianDiffusion | Not yet run | yue-zhongqi/diti/trainer/representation_learning_trainer.py pointer only (licence: NONE) · get_code("efd4bc02cd02d1cf") |
| RepresentationLearningTrainer | Not yet run | yue-zhongqi/diti/trainer/representation_learning_trainer.py pointer only (licence: NONE) · get_code("3792fabf4fa7e452") |
| ResBlock | Not yet run | ckczzj/pdae/model/shift_unet.py pointer only (licence: NONE) · get_code("6a2fbcc09ba19930") |
| ResBlockShift | Not yet run | ckczzj/pdae/model/shift_unet.py pointer only (licence: NONE) · get_code("cb9834d54ca93700") |
| ShiftUNet | Not yet run | ckczzj/pdae/model/shift_unet.py pointer only (licence: NONE) · get_code("629e72d126a0dd83") |
| TimestepContextBlock | Not yet run | ckczzj/pdae/model/shift_unet.py pointer only (licence: NONE) · get_code("76666159788ad649") |
| TimestepSequential | Not yet run | ckczzj/pdae/model/shift_unet.py pointer only (licence: NONE) · get_code("546963d82095d48c") |
Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.
Diffusion Probabilistic Models (DPMs) have shown a powerful capacity of generating high-quality image samples. Recently, diffusion autoencoders (Diff-AE) have been proposed to explore DPMs for representation learning via autoencoding. Their key idea is to jointly train an encoder for discovering meaningful representations from images and a conditional DPM as the decoder for reconstructing images. Considering that training DPMs from scratch will take a long time and there have existed numerous pre-trained DPMs, we propose Pre-trained DPM AutoEncoding (PDAE), a general method to adapt existing pre-trained DPMs to the decoders for image reconstruction, with better training efficiency and performance than Diff-AE. Specifically, we find that the reason that pre-trained DPMs fail to reconstruct an image from its latent variables is due to the information loss of forward process, which causes a gap between their predicted posterior mean and the true one. From this perspective, the classifier-guided sampling method can be explained as computing an extra mean shift to fill the gap, reconstructing the lost class information in samples. These imply that the gap corresponds to the lost information of the image, and we can reconstruct the image by filling the gap. Drawing inspiration from this, we employ a trainable model to predict a mean shift according to encoded representation and train it to fill as much gap as possible, in this way, the encoder is forced to learn as much information as possible from images to help the filling. By reusing a part of network of pre-trained DPMs and redesigning the weighting scheme of diffusion loss, PDAE can learn meaningful representations from images efficiently. Extensive experiments demonstrate the effectiveness, efficiency and flexibility of PDAE. Our implementation is available at https://github.com/ckczzj/PDAE.
The same record, over MCP at https://syntology.ai/mcp:
get_harvested_code_for_paper("2212.12990")
get_code_for_paper("2212.12990")
have("2212.12990")
Connect an agent — have() is free.