Wprowadzenie
Contrastive Divergence (CD) to algorytm przybliżonego uczenia stosowany przede wszystkim do trenowaniaRestricted Boltzmann Machines (RBM). Został wprowadzony przez Geoffreya Hintona w 2002 roku i przez prawie dekadę był jedną z najważniejszych technik w deep learning.
Motywacja
Dokładne trenowanie RBM poprzez maksymalizację log-likelihood wymagałoby bardzo długiego łańcucha Monte Carlo, co jest obliczeniowo nieefektywne. Contrastive Divergence jest szybką i praktyczną aproksymacją gradientu.
Jak działa Contrastive Divergence (k-step CD)?
- Faza pozytywna (Positive Phase): Wprowadź dane treningowe do widocznej warstwy i oblicz statystyki.
- Faza negatywna (Negative Phase): Uruchom k kroków Gibbs Sampling, zaczynając od danych treningowych.
- Oblicz różnicę między statystykami z obu faz.
- Zaktualizuj wagi sieci zgodnie z tą różnicą.
Najczęściej używane jest CD-1 (jeden krok Gibbsa) – pomimo dużej aproksymacji działa zaskakująco dobrze.
Zalety
- Bardzo szybki w porównaniu do pełnego MCMC
- Łatwy w implementacji
- Umożliwia efektywne uczenie warstwa po warstwie (layer-wise pretraining)
- Był podstawą sukcesu Deep Belief Networks (DBN)
Wady
- Wprowadza bias w estymacji gradientu
- Słabo skaluje się na bardzo głębokie modele
- Z czasem został zastąpiony przez nowocześniejsze metody
Aktualny stan (2026)
Contrastive Divergence ma dziś głównie znaczenie historyczne i edukacyjne. Jest klasycznym przykładem w nauczaniu energy-based models. W praktyce dominują obecnie architektury oparte na transformerach, Variational Autoencoders i Diffusion Models.
Powiązane pojęcia
Restricted Boltzmann Machine (RBM) • Deep Belief Network (DBN) • Gibbs Sampling • Markov Chain Monte Carlo (MCMC) • Geoffrey Hinton • Energy-Based Models • Variational Inference • Diffusion Models
Dodano: 17 maja 2026