Boltzmann machine
Főnév
Boltzmann machine (tsz. Boltzmann machines)
- (informatika, mesterséges intelligencia) A Boltzmann Machine (magyarul: Boltzmann-gép) egy generatív mesterséges neurális hálózat, amelyet a valószínűségi modellezés és energiaminimalizálás elvei szerint működtetnek. Célja, hogy megtanulja az adatok eloszlását, és képes legyen új mintákat generálni, vagy hibás adatokat rekonstruálni.
Nevét Ludwig Boltzmann után kapta, akinek a statisztikus fizikában használt eloszlása alapján épül a működése.
🎯 Mire való?
- Generatív modellezés (új adatok előállítása tanult eloszlás alapján)
- Képi, szöveges, bináris adatok mintázatainak megtanulása
- Hiányzó adatok becslése
- Dimenziócsökkentés, tömörítés
- Deep learning hálózatok (pl. Deep Belief Network) része
🧩 Alapfelépítés
A Boltzmann-gép kétféle bináris neuront tartalmaz:
- Látható egységek (visible units) – ezek képviselik az adatokat (pl. pixelek)
- Rejtett egységek (hidden units) – ezek segítenek modellezni a minták közti kapcsolatot
Minden neuron össze van kötve minden másikkal (teljesen kapcsolt gráf), kivéve önmagával.
⚙️ Működés alapelve
A hálózat energiát rendel minden állapothoz, és a tanulás célja, hogy:
- minimális energiájú állapotokat preferálja
- az adathoz illő állapotoknak legyen alacsony az energiája
Az energiafüggvény:
ahol:
- a látható egységek értéke
- a rejtett egységek értéke
- a súlyok
- a bias értékek
A hálózat célja: megtanulni a súlyokat úgy, hogy a tanulási adatokhoz tartozó állapotok valószínűsége maximális legyen.
🔁 Tanulási folyamat – sztochasztikus gradiens módszer
A hálózat elkezd egy véletlenszerű állapotból.
Egy Gibbs-sampling eljárással frissíti az egységek állapotát.
Lépésenként közelíti azokat az állapotokat, amelyek alacsony energiájúak.
A súlyokat a különbség alapján frissíti:
ahol az első tag az adatokon, a második a modell által generált példákon mért korreláció.
⚡ Probléma: teljes Boltzmann-gép túl lassú
Mivel minden neuron össze van kötve mindennel, és az állapottér exponenciális méretű, a tanulás nagyon számításigényes.
✨ Megoldás: Restricted Boltzmann Machine (RBM)
A Restricted Boltzmann Machine (RBM) a Boltzmann-gép egy korlátozott változata, ahol:
- csak a látható és rejtett réteg között vannak kapcsolatok
- nincsenek kapcsolatok a látható egységek, vagy a rejtett egységek között
Ez jelentősen egyszerűsíti a számítást, és hatékonyabb tanítást tesz lehetővé.
🧠 RBM használata: képek, szövegek tömörítése, felismerése
Példák:
- MNIST képek tömörítése és újragenerálása
- Netflix ajánlórendszerének része
- Deep Belief Networks építőelemeként
📐 Deep Belief Network (DBN)
A DBN több RBM egymásra építésével létrehozott többrétegű, hierarchikus hálózat:
- Első RBM a bemeneti adatot tanulja meg
- Második RBM az első rejtett rétegét veszi bemenetnek
- És így tovább…
Ez egy mély tanulási architektúra, amely előtanítással (pretraining) tanul.
🔍 Előnyök
- 🌟 Generatív: képes új adatpéldákat generálni
- 🧠 Nemlineáris minták tanulása
- 🔄 Hiányzó adatok kiegészítése
- 🪜 Több RBM egymásra építésével deep learning-re bővíthető
⚠️ Hátrányok
- ❌ Lassú tanulás teljes Boltzmann-gép esetén
- 🧮 Komplex matematika (Gibbs-mintavételezés)
- 🧱 Skálázás nehézségei nagy adathalmazokra
- 🧑🔬 Finomhangolás szükséges (tanulási ráta, mintavétel-lépések száma)
📦 Kódvázlat (RBM például scikit-learn-nel – nem teljes implementáció)
from sklearn.neural_network import BernoulliRBM
from sklearn.pipeline import Pipeline
from sklearn.linear_model import LogisticRegression
rbm = BernoulliRBM(n_components=64, learning_rate=0.01, n_iter=10)
logistic = LogisticRegression()
classifier = Pipeline(steps=[('rbm', rbm), ('logistic', logistic)])
classifier.fit(X_train, y_train)
📚 Kapcsolódó fogalmak
| Fogalom | Leírás |
|---|---|
| Gibbs sampling | Sztochasztikus módszer az állapottér bejárására |
| Energy-based model | Az adatokhoz energiát rendel, tanulás = energia minimalizálása |
| Autoencoder | Alternatív tömörítési modell, determinisztikus |
| Variational Autoencoder | Statisztikai alternatívája a generatív tanulásnak |
🧾 Összefoglalás
| Tulajdonság | Részletek |
|---|---|
| Név | Boltzmann Machine |
| Típus | Generatív, energia-alapú, sztochasztikus |
| Egységek | Látható (adat), rejtett (reprezentáció) |
| Tanulás módja | Gibbs-sampling, energia-különbség |
| Alkalmazás | Mintagenerálás, dimenziócsökkentés, Deep Belief Network |
| Specializáció | RBM (könnyebb tanítás), DBN (mély tanulás) |
- Boltzmann machine - Szótár.net (en-hu)
- Boltzmann machine - Sztaki (en-hu)
- Boltzmann machine - Merriam–Webster
- Boltzmann machine - Cambridge
- Boltzmann machine - WordNet
- Boltzmann machine - Яндекс (en-ru)
- Boltzmann machine - Google (en-hu)
- Boltzmann machine - Wikidata
- Boltzmann machine - Wikipédia (angol)