RAC: Rectified Flow Auto Coder
Abstract
In this paper, we propose a Rectified Flow Auto Coder (RAC) inspired by Rectified Flow to replace the traditional VAE: 1. It achieves multi-step decoding by applying the decoder to flow timesteps. Its decoding path is straight and correctable, enabling step-by-step refinement. 2. The model inherently supports bidirectional inference, where the decoder serves as the encoder through time reversal (hence Coder rather than encoder or decoder), reducing parameter count by nearly 41%. 3. This generative decoding method improves generation quality since the model can correct latent variables along the path, partially addressing the reconstruction--generation gap. Experiments show that RAC achieves a Pareto improvement over SOTA VAEs, where even a 10 parameter-reduced decoder exceeds full-scale VAE performance in both reconstruction and generation quality, validating the effectiveness of our approach.
Figures & tables
| Autoencoder gFID sFID IS Prec. Rec. Params SD-VAE Rombach et al. (2022) 24.1 6.25 55.7 0.62 0.60 0.0% +REPA-E Leng et al. (2025) 16.3 5.69 75.0 0.68 0.60 0.0% +RAC (Ours) 14.7 5.51 78.4 0.70 0.61 -40.8% IN-VAE Rombach et al. (2022) ; Leng et al. (2025) 22.7 5.47 56.0 0.62 0.62 0.0% +REPA-E Leng et al. (2025) 12.7 5.57 84.0 0.69 0.62 0.0% +RAC (Ours) 11.2 5.21 87.5 0.71 0.63 -40.7% VA-VAE Yao et al. (2025) 12.8 6.47 83.8 0.71 0.58 0.0% +REPA-E Leng et al. (2025) 11.1 5.31 88.8 0.72 0.61 0.0% +RAC (Ours) 9.8 5.08 91.4 0.73 0.62 -40.7% | Decoder rFID GFLOPs SD-VAE-0.1x 0.44 94.3 SD-VAE-0.2x 0.39 152.4 SD-VAE-0.3x 0.35 254.5 SD-VAE 0.62 310.4 Scalable Decoders: improve rFID while remaining much more efficient than VAEs. 0.1x indicates that the parameter being used is one-tenth of the SD. |
| Diff. Model | gFID | sFID | IS | Prec. | Rec. |
| SiT-B (130M) | 49.5 | 7.00 | 27.5 | 0.46 | 0.59 |
| +REPA-E | 34.8 | 6.31 | 39.1 | 0.57 | 0.59 |
| +RAC (Ours) | 32.1 | 6.18 | 41.3 | 0.59 | 0.60 |
| SiT-L (458M) | 24.1 | 6.25 | 55.7 | 0.62 | 0.60 |
| +REPA-E | 16.3 | 5.69 | 75.0 | 0.68 | 0.60 |
| +RAC (Ours) | 14.7 | 5.51 | 78.4 | 0.70 | 0.61 |
| Method | gFID | sFID | IS | Prec. | Rec. |
| 100K Iterations (20 Epochs) | |||||
| REPA Yu et al. (2024) | 19.40 | 6.06 | 67.4 | 0.64 | 0.61 |
| REPA-E (scratch) | 14.12 | 7.87 | 83.5 | 0.70 | 0.59 |
| RAC (scratch, 1-step) | 14.05 | 7.83 | 83.9 | 0.70 | 0.61 |
| RAC (scratch, 4-step) | 13.47 | 7.31 | 86.2 | 0.71 | 0.61 |
Appendix figures & tables5 assets
Supplementary material from the paper’s appendix.
Appendix
| Method | Generative decoder | Independent encoder | Full sharing | Full reversal | Explicit round-trip loss | Representation / compatibility |
| Epsilon-VAE Zhao et al. (2025) | Conditional diffusion | Yes | No | No | No | Encoder-conditioned continuous latent |
| DiTo Chen et al. (2025) | Diffusion decoder | Yes | No | No | No | Jointly learned continuous tokenizer |
| SSDD Vallaeys et al. (2025) | Diffusion + distillation | Yes | No | No | No | KL-VAE replacement |
| Diffusion Autoencoders Preechakul et al. (2022) | DPM/DDIM | Semantic encoder | Partial | Stochastic code only | No | Two-part semantic/ stochastic code |
| FlexTok Bachmann et al. (2025) | Rectified flow | Yes | No | No | No | Variable-length 1D tokens |
| SEMANTICIST Wen et al. (2025) | Conditional diffusion | Yes | No | No | No | Structured 1D causal tokens |
| Method | Decoder params. | Total params. | Decode NFE | PSNR | SSIM |
| FlexTok-d12-d12 Bachmann et al. (2025) | 172.45M | 341.65M | 20 | 17.152 | 0.4598 |
| SEMANTICIST-L Wen et al. (2025) | 457.05M | 609.76M | 250 | 22.199 | 0.6521 |
| SSDD-S-F8C4 Vallaeys et al. (2025) | 14.06M | 48.22M | 8 | 19.863 | 0.5126 |
| RAC-Tiny (ours) | 1.46M | 1.46M | 4 | 23.917 | 0.7063 |
| Relative | TAESD PSNR | RAC-4 PSNR | RAC paired gain | TAESD PSNR | RAC-4 PSNR | RAC robustness gain | Output-drift reduction |
| 0.0 | 24.157 | 24.694 | 0.000 | 0.000 | 0.000 | – | |
| 0.1 | 23.675 | 24.355 | 80.2% | ||||
| 0.2 | 22.469 | 23.441 | 70.1% | ||||
| 0.3 | 20.927 | 22.154 | 60.8% | ||||
| 0.5 | 17.812 | 19.141 | 44.6% |
| Decoder | gFID | IS | Prec. | Rec. | GFLOPs |
| SD-VAE-0.1 | 6.98 | 126.4 | 0.70 | 0.65 | 94.3 |
| SD-VAE-0.2 | 6.86 | 127.9 | 0.71 | 0.65 | 152.4 |
| SD-VAE-0.3 | 6.74 | 129.2 | 0.71 | 0.66 | 254.5 |
| SD-VAE Zheng et al. (2026) | 7.13 | 124.9 | 0.70 | 0.65 | 310.4 |
| Method | NFE | Total params. | B1 latency | B8 latency/image | B1 peak memory |
| Standard SD-VAE | 1 | 83.65M | ms | 31.144 ms | 319.2 MiB |
| RAC (default) | 4 | 49.51M | ms | 125.659 ms | 319.4 MiB |
Autoencoders
Autoencoders learn compressed representations by encoding data into latent codes and decoding them for reconstruction, generation, denoising, or anomaly detection.
See all 152 papers