Home Knowledge Base Contrastive Predictive Coding (CPC)

Contrastive Predictive Coding (CPC) is a self-supervised representation learning method that trains neural encoders by predicting future observations in latent space using contrastive objectives — maximizing mutual information between a compact context representation and future encoded observations while distinguishing true futures from random negative samples — introduced by van den Oord et al. (DeepMind, 2018) as a unifying framework that simultaneously achieved state-of-the-art self-supervised representations for speech, images, text, and reinforcement learning, directly inspiring wav2vec, SimCLR, and the broader contrastive learning revolution.

What Is CPC?

Why Predict in Latent Space?

Influence on Self-Supervised Learning

MethodHow It Extends CPC
wav2vec 2.0CPC applied to quantized speech codes — foundation of modern ASR
SimCLRDrops temporal structure; applies contrastive prediction to augmented image pairs
MoCoMomentum encoder + memory bank for large negative sets — CPC scaled for vision
Data2VecGeneralizes CPC's predictive coding idea across speech, vision, and language
CPC for RL (CURL, ATC)Applies contrastive coding to RL state representations

Applications

Contrastive Predictive Coding is the self-supervised principle that the best representations are those that predict the future — the insight that learning to forecast in latent space extracts the structural regularities of the world, producing representations that transfer broadly across downstream tasks without a single manual label.

contrastive predictive codingcpcself-supervised learning

Explore 500+ Semiconductor & AI Topics

From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.