Papers › Neural Discrete Representation Learning

Neural Discrete Representation Learning

2 Nov 2017NeurIPS 2017 12arXiv:1711.00937archive 2025-07-28

Aaron van den Oord, Oriol Vinyals, Koray Kavukcuoglu

Learning useful representations without supervision remains a key challenge in machine learning. In this paper, we propose a simple yet powerful generative model that learns such discrete representations. Our model, the Vector Quantised-Variational AutoEncoder (VQ-VAE), differs from VAEs in two key ways: the encoder network outputs discrete, rather than continuous, codes; and the prior is learnt rather than static. In order to learn a discrete latent representation, we incorporate ideas from vector quantisation (VQ). Using the VQ method allows the model to circumvent issues of "posterior collapse" -- where the latents are ignored when they are paired with a powerful autoregressive decoder -- typically observed in the VAE framework. Pairing these representations with an autoregressive prior, the model can generate high quality images, videos, and speech as well as doing high quality speaker conversion and unsupervised learning of phonemes, providing further evidence of the utility of the learnt representations.

PaperPDFConference PDFCodeCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="1711.00937")

Code

Syntology Ran 53 of 80 code samples harvested from 26 repositories linked to this paper; 27 have no recorded run. Of those that ran: 4 ran · our draft was wrong; 49 ran with no contract checked.

By repository: community (archive-listed): 80 samples from 26 repositories, 53 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

50 repositories listed; official and paper-mentioned ones first.

deepmind/sonnet officialtf report
AntixK/PyTorch-VAE mentioned on GitHubpytorchApache-2.0 report
Geson-anko/VQ_AutoEncoder mentioned on GitHubpytorch report
MishaLaskin/vq-vae mentioned on GitHubpytorch report
MishaLaskin/vqvae mentioned on GitHubpytorch report
StanislavParovoy/VQ-VAE-WaveNet mentioned on GitHubtf report
airalcorn2/vqvae-pytorch mentioned on GitHubpytorch report
andrecianflone/vector_quantization mentioned on GitHubpytorch report
archinetai/bitcodes-pytorch mentioned on GitHubpytorch report
awei669/VQ-Font mentioned on GitHubpytorch report
bshall/VectorQuantizedCPC mentioned on GitHubpytorch report
bshall/ZeroSpeech mentioned on GitHubpytorch report
buaavrcg/LEGaussians mentioned on GitHubpytorch report
clementchadebec/benchmark_VAE mentioned on GitHubpytorch report
dhgrs/chainer-VQ-VAE mentioned on GitHub report
explainingai-code/VQVAE-Pytorch mentioned on GitHubpytorch report
hiwonjoon/tf-vqvae mentioned on GitHubtf report
inzva/music-generation mentioned on GitHubMIT report
iomanker/VQVAE-TF2 mentioned on GitHubtf report
jackson-kang/pytorch-vae-tutorial mentioned on GitHubpytorch report
joh-fischer/PlantLDM mentioned on GitHubpytorch report
ks2labs/modules mentioned on GitHubpytorch report
lupalab/posterior-matching mentioned on GitHubjax report
nadavbh12/VQ-VAE mentioned on GitHubpytorch report
nicolaffETHZ/Brain2Word_paper mentioned on GitHubtf report
opendrivelab/univla mentioned on GitHubpytorchApache-2.0 report
rhoposit/icassp2021 mentioned on GitHubpytorch report
rsn870/VQ-VAE mentioned on GitHubpytorch report
swasun/VQ-VAE-Speech mentioned on GitHubpytorch report
swasun/VQ-VAE-images mentioned on GitHubpytorch report
unixpickle/vq-draw mentioned on GitHubpytorch report
v-iashin/SpecVQGAN mentioned on GitHubpytorch report
vignesh-creator/VectorQuantized-VAE mentioned on GitHubpytorch report
yashgarg98/VQ-VAE mentioned on GitHub report
yhy258/VariationalAutoEncoders-Pytorch mentioned on GitHubpytorch report
yjlolo/vae-audio mentioned on GitHubpytorchMIT report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

80 samples harvested; 53 ran; 0 honoured the contract we drafted; 27 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

4ran · our draft was wrong
49ran
27unverified

Licence: 32 of the 80 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from 26 repositories linked to this paper, official or community; each sample names its own and says which. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

Bitcodes archinetai/bitcodes-pytorch/bitcodes_pytorch/bitcodes.py community (archive-listed) ran · metamorphic tier: deterministic MIT (permissive) · 81037b2a5a5b548e · report
Decoder MishaLaskin/vq-vae/models/vqvae.py community (archive-listed) ran · metamorphic tier: deterministic no licence file found · pointer only · 7ec86ce9f1243c09 · report
Decoder ks2labs/modules/models/vqvae/model.py community (archive-listed) ran · metamorphic tier: deterministic MIT (permissive) · 9cef9b557ff5124b · report
Decoder andrecianflone/vector_quantization/vqvae.py community (archive-listed) ran fingerprinted no licence file found · pointer only · 4c2e3405d250cb33 · report
Decoder explainingai-code/VQVAE-Pytorch/model/vqvae.py community (archive-listed) ran no licence file found · pointer only · e11e4311fbf78fb4 · report
Decoder airalcorn2/vqvae-pytorch/vqvae.py community (archive-listed) ran · metamorphic tier: invariant fingerprinted Apache-2.0 (permissive) · 6cff5e6be156f653 · report
Decoder joh-fischer/PlantLDM/model/vqvae/vqvae.py community (archive-listed) ran · metamorphic tier: invariant fingerprinted MIT (permissive) · 29d1b1a70747fecf · report
Decoder sisl/MultiAgentVariationalOcclusionInference/src/driver_sensor_model/models_cvae.py community (archive-listed) ran · metamorphic tier: invariant Apache-2.0 (permissive) · 5aeaa611b1aa19e0 · report
Encoder MishaLaskin/vq-vae/models/vqvae.py community (archive-listed) ran · metamorphic tier: deterministic no licence file found · pointer only · 37323902f8998883 · report
Encoder ks2labs/modules/models/vqvae/model.py community (archive-listed) ran · metamorphic tier: deterministic MIT (permissive) · 5dc946b372865ded · report
Encoder wayexists02/vqvae-pytorch-impl/models/vqvae.py community (archive-listed) ran fingerprinted no licence file found · pointer only · 33fe2331161629b0 · report
Encoder andrecianflone/vector_quantization/vqvae.py community (archive-listed) ran fingerprinted no licence file found · pointer only · b371a7a9f919c844 · report
Encoder explainingai-code/VQVAE-Pytorch/model/vqvae.py community (archive-listed) ran fingerprinted no licence file found · pointer only · cbc53e73ec7ded92 · report
Encoder unixpickle/vq-draw/vq_draw/encoder.py community (archive-listed) ran no licence file found · pointer only · 2e0e8c659d27a232 · report
Encoder airalcorn2/vqvae-pytorch/vqvae.py community (archive-listed) ran · metamorphic tier: invariant Apache-2.0 (permissive) · 31f17da0e35924e8 · report
Encoder joh-fischer/PlantLDM/model/vqvae/vqvae.py community (archive-listed) ran · metamorphic tier: invariant MIT (permissive) · b7ef8e42168ed9bc · report
NearestEmbed nadavbh12/VQ-VAE/vq_vae/auto_encoder.py community (archive-listed) ran fingerprinted BSD-3-Clause (permissive) · 4db13c56150e213c · report
NearestEmbedFunc nadavbh12/VQ-VAE/vq_vae/auto_encoder.py community (archive-listed) ran BSD-3-Clause (permissive) · 56b746f89213fdc4 · report
Quantize andrecianflone/vector_quantization/vqvae.py community (archive-listed) ran no licence file found · pointer only · 11e9c619687afa02 · report
Quantizer explainingai-code/VQVAE-Pytorch/model/vqvae.py community (archive-listed) ran fingerprinted no licence file found · pointer only · 61f7701b94565897 · report
Quantizing Geson-anko/VQ_AutoEncoder/quantizing_layers.py community (archive-listed) ran · metamorphic tier: deterministic fingerprinted MIT (permissive) · 2332d2c1ae59a613 · report
ResBlock wayexists02/vqvae-pytorch-impl/models/vqvae.py community (archive-listed) ran fingerprinted no licence file found · pointer only · d14328d52ad612df · report
ResBlock andrecianflone/vector_quantization/vqvae.py community (archive-listed) ran fingerprinted no licence file found · pointer only · e208e656b3429e2c · report
ResBlock sisl/MultiAgentVariationalOcclusionInference/src/driver_sensor_model/models_cvae.py community (archive-listed) ran · metamorphic tier: invariant Apache-2.0 (permissive) · a7d565fc7647b7f9 · report
ResTransposeBlock wayexists02/vqvae-pytorch-impl/models/vqvae.py community (archive-listed) ran no licence file found · pointer only · dc26380ed75e55c0 · report
Residual ks2labs/modules/models/vqvae/model.py community (archive-listed) ran · metamorphic tier: deterministic MIT (permissive) · 230f3bafb927fa9b · report
ResidualLayer joh-fischer/PlantLDM/model/vqvae/vqvae.py community (archive-listed) ran fingerprinted MIT (permissive) · c92e0eaec11f87ef · report
ResidualStack MishaLaskin/vq-vae/models/vqvae.py community (archive-listed) ran · metamorphic tier: deterministic no licence file found · pointer only · 717b778f8ecfc744 · report
ResidualStack ks2labs/modules/models/vqvae/model.py community (archive-listed) ran · metamorphic tier: deterministic MIT (permissive) · 2826483ff96d8731 · report
ResidualStack airalcorn2/vqvae-pytorch/vqvae.py community (archive-listed) ran · metamorphic tier: invariant Apache-2.0 (permissive) · 9a0e3f52b1b95012 · report
SonnetExponentialMovingAverage airalcorn2/vqvae-pytorch/vqvae.py community (archive-listed) ran Apache-2.0 (permissive) · a7bbba1a7d675924 · report
VQEmbeddingEMA bshall/VectorQuantizedCPC/model.py community (archive-listed) ran · metamorphic tier: deterministic fingerprinted MIT (permissive) · a9d07171b60f51f8 · report
VQEmbeddingEMA bshall/ZeroSpeech/model.py community (archive-listed) ran · metamorphic tier: deterministic fingerprinted no licence file found · pointer only · b5071cb976519bd8 · report
VQVAE sarus-tech/tf2-published-models/vqvae/model.py community (archive-listed) ran Apache-2.0 (permissive) · a9ecf52cfae83fc0 · report
VQVAE ks2labs/modules/models/vqvae/model.py community (archive-listed) ran fingerprinted MIT (permissive) · 49e082f17ee0f50c · report
VQVAE explainingai-code/VQVAE-Pytorch/model/vqvae.py community (archive-listed) ran fingerprinted no licence file found · pointer only · cae2955852764a22 · report
VQVAE joh-fischer/PlantLDM/model/vqvae/vqvae.py community (archive-listed) ran · metamorphic tier: deterministic MIT (permissive) · d26761dae4136be0 · report
VQVAELayer nicolaffETHZ/Brain2Word_paper/models.py community (archive-listed) ran no licence file found · pointer only · 18395ffd69df1890 · report
VQ_VAE nadavbh12/VQ-VAE/vq_vae/auto_encoder.py community (archive-listed) ran · metamorphic tier: deterministic BSD-3-Clause (permissive) · 811d0edff7823e5b · report
VectorQuant rhoposit/icassp2021/layers/vector_quant.py community (archive-listed) ran MIT (permissive) · 4926226bc5727d02 · report
VectorQuantizer swasun/VQ-VAE-Speech/src/models/vector_quantizer.py community (archive-listed) ran · metamorphic tier: deterministic MIT (permissive) · 76b559c1503ca76c · report
VectorQuantizer swasun/VQ-VAE-images/src/vector_quantizer.py community (archive-listed) ran · metamorphic tier: deterministic fingerprinted MIT (permissive) · fbd6f2f3cc98b66f · report
VectorQuantizer MishaLaskin/vq-vae/models/vqvae.py community (archive-listed) ran · metamorphic tier: deterministic fingerprinted no licence file found · pointer only · 04236f77961d2db4 · report
VectorQuantizer ks2labs/modules/models/vqvae/model.py community (archive-listed) ran · metamorphic tier: deterministic fingerprinted MIT (permissive) · 42a9b84a1bbb0a02 · report
VectorQuantizer buaavrcg/LEGaussians/preprocess/quantizer.py community (archive-listed) ran fingerprinted MIT (permissive) · 9c64b505481dc36b · report
VectorQuantizer v-iashin/SpecVQGAN/specvqgan/modules/vqvae/quantize.py community (archive-listed) ran fingerprinted MIT (permissive) · bf13977cfc8d3cda · report
VectorQuantizer airalcorn2/vqvae-pytorch/vqvae.py community (archive-listed) ran fingerprinted Apache-2.0 (permissive) · 8b8f0e96d4c8976a · report
VectorQuantizer joh-fischer/PlantLDM/model/vqvae/vqvae.py community (archive-listed) ran · metamorphic tier: invariant fingerprinted MIT (permissive) · 66c0ecce454f52da · report
VectorQuantizerEMA sarus-tech/tf2-published-models/vqvae/model.py community (archive-listed) ran Apache-2.0 (permissive) · 63f246fab2a847d8 · report
get_decoder explainingai-code/VQVAE-Pytorch/model/vqvae.py community (archive-listed) ran · our draft was wrong no licence file found · pointer only · 32ad87238c5e79f6 · report
get_quantizer explainingai-code/VQVAE-Pytorch/model/vqvae.py community (archive-listed) ran · our draft was wrong no licence file found · pointer only · fcbc4b1a03ccbcab · report
nearest_embed nadavbh12/VQ-VAE/vq_vae/auto_encoder.py community (archive-listed) ran · our draft was wrong BSD-3-Clause (permissive) · d25e16de44180a86 · report
sample_p sisl/MultiAgentVariationalOcclusionInference/src/driver_sensor_model/models_cvae.py community (archive-listed) ran · our draft was wrong fingerprinted Apache-2.0 (permissive) · 6ed722b4d3b12944 · report
ConvResidualDecoder lupalab/posterior-matching/posterior_matching/models/vqvae.py community (archive-listed) unverified no licence file found · pointer only · 9a6d83ab3c03ff62 · report
ConvResidualEncoder lupalab/posterior-matching/posterior_matching/models/vqvae.py community (archive-listed) unverified no licence file found · pointer only · bdde96f49863b40f · report
ConvResidualStack lupalab/posterior-matching/posterior_matching/models/vqvae.py community (archive-listed) unverified no licence file found · pointer only · aee55bc39a8d091c · report
Decoder wayexists02/vqvae-pytorch-impl/models/vqvae.py community (archive-listed) unverified no licence file found · pointer only · 53be403a488d20dc · report
Encoder sisl/MultiAgentVariationalOcclusionInference/src/driver_sensor_model/models_cvae.py community (archive-listed) unverified Apache-2.0 (permissive) · b06a9d10ea85ce50 · report
VAE sisl/MultiAgentVariationalOcclusionInference/src/driver_sensor_model/models_cvae.py community (archive-listed) unverified Apache-2.0 (permissive) · 1924bf1dbccafe70 · report
VQVAE MishaLaskin/vq-vae/models/vqvae.py community (archive-listed) unverified no licence file found · pointer only · 66a0dc4e92a4979d · report
VQVAE lupalab/posterior-matching/posterior_matching/models/vqvae.py community (archive-listed) unverified no licence file found · pointer only · 44b6bd0978746277 · report
VQVAE andrecianflone/vector_quantization/vqvae.py community (archive-listed) unverified no licence file found · pointer only · c3e34fc264fea0f3 · report
VQVAE StanislavParovoy/VQ-VAE-WaveNet/model.py community (archive-listed) unverified no licence file found · pointer only · 90df58e23d19cc6e · report
VQVAE airalcorn2/vqvae-pytorch/vqvae.py community (archive-listed) unverified Apache-2.0 (permissive) · 3df5033bc998fdf6 · report
VQVAE hiwonjoon/tf-vqvae/model.py community (archive-listed) unverified no licence file found · pointer only · fc6668704a278e9f · report
VectorQuantizer iomanker/VQVAE-TF2/VectorQuantizer.py community (archive-listed) unverified no licence file found · pointer only · 7e75344dc933124c · report
VqVae wayexists02/vqvae-pytorch-impl/models/vqvae.py community (archive-listed) unverified no licence file found · pointer only · e81df514f25b789c · report
approx_qy_x yjlolo/vae-audio/base/base_model.py community (archive-listed) unverified MIT (permissive) · 56dc0f7a70802e2c · report
fc yjlolo/vae-audio/model/model.py community (archive-listed) unverified MIT (permissive) · f2450ca8951604d7 · report
filter_file yjlolo/vae-audio/dataset/nsynth_subset.py community (archive-listed) unverified MIT (permissive) · 7e0c1e9c66dce9fd · report
get_encoder explainingai-code/VQVAE-Pytorch/model/vqvae.py community (archive-listed) unverified no licence file found · pointer only · a22596d18953971d · report
get_instance yjlolo/vae-audio/dataset/audio_transform.py community (archive-listed) unverified MIT (permissive) · d21115129d752c6b · report
gmvae_loss yjlolo/vae-audio/model/loss.py community (archive-listed) unverified MIT (permissive) · e051edb2ab2c496e · report
mse_loss yjlolo/vae-audio/model/loss.py community (archive-listed) unverified MIT (permissive) · 3b8e8d5673b757b1 · report
my_metric yjlolo/vae-audio/model/metric.py community (archive-listed) unverified MIT (permissive) · fcdafb2d7a652e72 · report
my_metric2 yjlolo/vae-audio/model/metric.py community (archive-listed) unverified MIT (permissive) · be926d5a1cd922e3 · report
sampling_gaussian yjlolo/vae-audio/base/base_model.py community (archive-listed) unverified MIT (permissive) · dc65914e8be186c4 · report
spec_conv1d yjlolo/vae-audio/model/model.py community (archive-listed) unverified MIT (permissive) · 93c25da3337bd3cd · report
spec_deconv1d yjlolo/vae-audio/model/model.py community (archive-listed) unverified MIT (permissive) · 081ebe5df943cdc9 · report
vae_loss yjlolo/vae-audio/model/loss.py community (archive-listed) unverified MIT (permissive) · afb08782fd097f05 · report

Tasks

DecoderRepresentation Learning

Results from the paper archive 2025-07-28

No leaderboard rows for this paper in the archive.

Methods

Introduced by this paper: VQ-VAE

AdamBatch NormalizationConvolutionDilated Causal ConvolutionReLUResidual BlockResidual ConnectionVQ-VAE

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections