approfondimento

La macchina di Boltzmann, cos’è e a cosa serve



Indirizzo copiato

Stiamo parlando di una rete neurale che impara a rappresentare modelli complessi mediante un approccio probabilistico. È usata in molti contesti e la sua progettazione permette di scoprire correlazioni tra enormi moli di dati che altri modelli AI non sarebbero in grado di far emergere

Pubblicato il 14 apr 2025



Macchina di Boltzmann
Fonte: Microsoft

La macchina di Boltzmann è un tipo di rete neurale ricorrente stocastica e ha particolare rilevanza nel deep learning. La sua capacità di modellare relazioni complesse nei dati, unita alle capacità di apprendere senza supervisione e di generare nuovi campioni di dati ne fa uno strumento fondamentale per il futuro delle applicazioni di intelligenza artificiale.

Prima di ricostruire brevemente la storia della macchina di Boltzmann e di capire come e in quali modi viene usata, è opportuno introdurla e poi fornire qualche spiegazione ausiliaria per contestualizzarla al meglio a causa del suo elevato livello di complessità.

Cosa è la macchina di Boltzmann

macchina di Boltzmann

La macchina di Boltzmann è un tipo di rete neurale ricorrente stocastica usata per individuare schemi nei dati. Fa leva su due tipi di nodi che interagiscono tra loro, ossia quelli visibili che ricevono l’informazione e i nodi nascosti che aiutano a elaborare queste informazioni senza essere visibili direttamente.

È stata chiamata così in onore del fisico austriaco Ludwig Boltzmann, padre putativo della meccanica statistica.

È una rete che impara a rappresentare modelli complessi mediante un approccio probabilistico. Prima di entrare nei meccanismi più profondi della macchina è doveroso spiegare cosa è una rete neurale ricorrente e cosa vuole dire stocastico.

La macchina di Boltzmann è un modello di apprendimento non supervisionato. Ciò significa che può imparare a identificare modelli e caratteristiche nelle informazioni senza necessità di dati di addestramento etichettati, un vantaggio di rilievo negli ambiti nei quali l’etichettatura dei dati è esosa in termini di risorse o persino impraticabile.

Inoltre, è un modello generativo e, come tale, è capace di generare campioni di dati simili al dataset di addestramento. Questo la rende utile in compiti quali l’ aumento dei dati per migliorare le prestazioni di altri modelli di machine learning.

Cosa è una rete neurale ricorrente stocastica

Una rete neurale ricorrente (RNN, Recurrent Neural Network) è progettata per elaborare dati sequenziali e, a differenza delle reti neurali canoniche, ha la capacità di memorizzare informazioni dai passaggi precedenti della sequenza. Sono essenziali quando si affrontano compiti che richiedono una memoria temporale.

L’aggettivo stocastico è spesso associato al mondo delle IA. Di fatto, una rete ricorrente stocastica (Stochastic Recurrent Neural Network, SRNN) introduce elementi di casualità nel modello. Stocastico è quindi sinonimo di casuale e di probabilistico.

L’aspetto stocastico aiuta a modellare l’incertezza nei dati o nei processi sottostanti. In altre parole, il comportamento del modello può cambiare a ogni esecuzione ed è fondamentale nello svolgimento di attività che impongono la generazione di dati variabili.

In definitiva, le reti neurali ricorrenti stocastiche modellano l’incertezza combinando principi delle reti neurali ricorrenti con elementi di casualità.

Come funziona la macchina di Boltzmann

What is Boltzmann Machines in Machine Learning?

La macchina di Boltzmann aggiorna i valori dei nodi uno alla volta fino a raggiungere uno stato di stabilità nel quale il comportamento complessivo della rete non cambia più.

A ogni possibile configurazione della rete coincide una probabilità, in questo modo la rete può generare modelli sulla scorta di ciò che ha imparato. Ciò vuole dire che la macchina di Boltzmann apprende dagli esempi che elabora durante la fase di addestramento.

Immergendoci per un solo istante nei tecnicismi, la macchina di Boltzmann usa il principio dell’energia minima: è progettata per apprendere schemi dai dati di input attivando o disattivando nodi a seconda delle probabilità e questo consente configurazioni che riducono l’energia del sistema.

Una piccola digressione: quando si parla di energia si fa riferimento a un’energia matematica che trae spunto dalla meccanica statistica. Nel contesto della macchina di Boltzmann, l’energia è una funzione matematica che misura quanto è probabile una certa configurazione dei “neuroni” della rete. L’energia minima è quindi associata a configurazioni più probabili.

Un esempio di macchina di Boltzmann

Un semplice esempio per capire meglio il funzionamento del modello computazionale. Davanti alla necessità di classificare immagini di cani e di gatti, la macchina di Boltzmann crea una rete nella quale ciascun nodo rappresenta le caratteristiche tipiche dei due animali (morfologia, grandezza, dimensioni degli arti, forma delle orecchie, eccetera). Esaminando una grande quantità di immagini, il sistema apprende a riconoscere gli schemi associati a ognuno dei due animali regolando le connessioni dei nodi (i “neuroni”) per efficientarne la classificazione.

La macchina di Boltzmann può apprendere a riconoscere le caratteristiche più comuni (per esempio, colori o forme ricorrenti) e creare versioni compresse delle immagini di addestramento, riducendo così la quantità di informazioni da memorizzare senza impattare sulla qualità del risultato finale.

I diversi tipi di macchine di Boltzmann

Ci sono diversi tipi di macchine di Boltzmann. Sono difficilmente enumerabili perché ce ne sono di specializzate per compiti specifici. Al di là di ciò, quando si parla di macchina di Boltzmann si può incorrere in acronimi diffusi come RBM, DBM e CRBM:

  • RBM, Restricted Boltzmann Machine
  • DBM, Deep Boltzmann Machine
  • CRBM, Conditional Restricted Boltzmann Machine

Per spiegare le differenze tra questi tipi di macchina di Boltzmann, è utile fare un passo a ritroso ed esaminarne per sommi capi la storia.

Cenni storici

La storia della macchina di Boltzmann è quarantennale. È infatti stata introdotta da Geoffrey Hinton e Terry Sejnowski nel 1985. I due, assegnandole tale nome, hanno voluto rendere omaggio al fisico austriaco Ludwig Boltzmann perché il funzionamento di questo tipo di reti affonda le proprie radici in principi simili a quelli della termodinamica statistica, disciplina in cui Boltzmann ha lasciato il segno.

A seguire, la Restricted Boltzmann Machine (RBM) introdotta nel 1986 da Paul Smolensky ha parzialmente risolto le difficoltà di addestramento della macchina di Boltzmann, la cui architettura complessa esigeva elevate capacità computazionali. Di fatto le RBM limitano le connessioni tra nodi, rendendo più fluido l’addestramento.

Vent’anni dopo, siamo nel 2006, Hinton ha introdotto le Deep Belief Network (DBN), ossia la sovrapposizione di più strati di RBM. Il crescente interesse nelle macchine di Boltzmann ne ha accelerato lo sviluppo, creando le Deep Boltzmann Machine (DBM) e le Conditional Restricted Boltzmann Machine (CRBM).

Oggi, nonostante si impongano progressivamente le reti neurali convoluzionali (CNN) e le reti neurali ricorrenti (RNN), le macchine di Boltzmann si ritagliano un ruolo di rilievo nella ricerca IA, soprattutto negli ambiti della modellazione generativa e dell’apprendimento non supervisionato.

Prima di procedere, va sottolineato che le Deep Belief Network (DBN) e le Deep Boltzmann Machines (DBM) si basano sulle RBM ma divergono nella struttura, nell’addestramento e anche nell’inferenza. Nella prima ogni livello fa il proprio lavoro fornendo i risultati ai livelli successivi affinché ognuno di questi svolga a sua volta il proprio compito, nel caso della DBM i livelli interagiscono tra loro per trovare soluzioni.

In quali ambiti si usa la macchina di Boltzmann

La macchina di Boltzmann svolge ruoli fondamentali nel campo dell’apprendimento profondo. Come detto, è una rete che “impara” a rappresentare modelli complessi attraverso un approccio probabilistico, e questo la rende uno strumento capitale per la comprensione e la generazione di dati. Le applicazioni possibili sono innumerevoli, qui elenchiamo le più diffuse oltre al già citato riconoscimento delle immagini:

  • Analisi dei mercati finanziari: la macchina di Boltzmann individua tendenze e isterie nei dati dei mercati, restituendo informazioni utili per la valutazione dei rischi e quindi per le strategie di investimento
  • Farmacopea: modellando le interazioni tra molecole, la macchina di Boltzmann si presta alla ricerca e nello sviluppo di nuovi farmaci
  • Linguaggio naturale: è usata nell’analisi del sentimento, nella traduzione, nella comprensione e nella generazione del linguaggio dell’uomo (Natural language processing, NLP)
  • Gestione energetica: sulla scorta di dati storici, la macchina di Boltzmann è utile per le previsioni dei fabbisogni energetici
  • Compressione dei dati: riducendo la dimensione dei dati rende meno onerosa la loro trasmissione, consente di risparmiare spazio di archiviazione e velocizza così gli algoritmi che devono esaminare grandi moli di dati, i Big data.
  • Gaming: la macchina di Boltzmann viene impiegata nello sviluppo di personaggi non giocanti (NPC) più realistici e impegnativi che imparano e si adattano alle strategie e alle azioni dei giocatori umani.

Per meglio contestualizzare l’uso della macchina di Boltzmann è doveroso parlare dell’uso che ne fanno alcune tra le imprese più popolari.

Siti e servizi che usano la macchina di Boltzmann

Le macchine di Boltzmann, in particolare nella loro versione ristretta (Restricted Boltzmann Machines, RBM), sono usate da aziende molto note.

Tra queste va citata Netflix, esempio che è ormai antonomasia poiché inserito nel paper “Restricted Boltzmann Machines for Collaborative Filtering” nel quale un gruppo dell’Università di Toronto (di cui ha fatto parte lo stesso Hinton) spiega come il gigante dei contenuti on demand ha impiegato le RBM.

Oggi il sistema di raccomandazione di Netflix utilizza le RBM per:

  • Apprendere modelli complessi nelle preferenze degli utenti
  • Gestire i dati mancanti (i film non valutati)
  • Fornire raccomandazioni personalizzate

Anche Spotify, famosa piattaforma per lo streaming musicale, usa le RBM per il proprio sistema di raccomandazione e altrettanto fa Amazon.

Google ha fatto ricorso alle Deep Belief Network (DBN) per migliorare i propri servizi di riconoscimento di immagini.

Facebook utilizza architetture basate su RBM per personalizzare il feed di notizie, suggerire amici e contenuti e riconoscere i volti nelle foto.

C’è anche il riconoscimento vocale: le RBM sono state utilizzate per migliorare i sistemi di riconoscimento vocale di Google Assistant, Siri e Alexa.

Come viene usata la macchina di Boltzmann

Le macchine di Boltzmann, in particolare nella loro versione ristretta (Restricted Boltzmann Machines o RBM), vengono implementate attraverso un meccanismo di input-output relativamente semplice ma potente.

In sintesi, il meccanismo di input-output delle RBM si basa su nodi visibili che fungono da input e nodi nascosti che fungono da output. Per esempio, l’input può essere il pixel di un’immagine oppure le caratteristiche di un set di dati.

Ogni nodo visibile è connesso a ognuno dei nodi nascosti e, per sommi capi, si può riassumere tutto ciò in una procedura tripartita in tre fasi:

  • inizializzazione: avviene la distribuzione probabilistica per gli stati nascosti
  • propagazione: a ogni passo, lo stato nascosto viene aggiornato mediante operazioni stocastiche (tipicamente dei campionamenti)
  • output: ciò che il modello restituisce non è per forza di cose un valore singolo, può infatti trattarsi di una distribuzione di valori plausibili.

Queste peculiarità, di fatto, già suggeriscono quali sono i vantaggi operativi della macchina di Boltzmann e delle sue varianti.

I vantaggi della macchina di Boltzmann

Oltre alla già citata modellazione di relazioni complesse tipiche dei dati non lineari e all’apprendimento non supervisionato, vanno annoverati tra i vantaggi:

  • La gestione dei dati incompleti: la macchina di Boltzmann è in grado di gestire dati rumorosi o incompleti, condizione più frequente di quanto si possa credere. Infatti, i dati non sono sempre ottimali nella consistenza e nel formato
  • Strutture sottostanti: la macchina di Boltzmann è abile nella scoperta di strutture sottostanti e nelle correlazioni nei dataset. Questa dote è apprezzabile per la risoluzione di problemi complessi
  • Generazione dei nuovi dati: la generazione di nuovi campioni di dati è rilevante per migliorare le prestazioni di altri modelli di machine learning.

Questa duttilità ha comunque un prezzo, rappresentato da alcuni limiti e svantaggi.

Gli svantaggi della macchina di Boltzmann

Della corposa necessità di risorse computazionali abbiamo già scritto sopra. Tuttavia, per quanto limitante, ci sono svantaggi ancora più marcati:

  • la complessità di addestramento: la natura probabilistica della macchina di Boltzmann tende a fare allungare il tempo necessario all’addestramento, reso più complesso dalla necessità di tecniche altamente specializzate da applicare durante il processo di ottimizzazione
  • la scalabilità: così come l’elevata quantità di risorse computazionali non favorisce le analisi in tempo reale, va evidenziato anche che scalare la macchina di Boltzmann per reti o dataset molto grandi può comportare un aumento esponenziale della complessità
  • il rischio di overfitting: l’overfitting è la condizione che si verifica quando un modello impara talmente bene dai dati di addestramento (anche se questi includono errori e rumori) e perde la capacità di generalizzare su nuovi dati
  • difficoltà di interpretazione: comprendere i meccanismi interni e i processi decisionali della macchina di Boltzmann può essere ostico e ciò inficia tanto sulla trasparenza quanto sull’affidabilità, aspetti sempre più rilevanti quando si parla di AI.
The Roots of AI: Boltzmann Machine (1985)

Ludwig Boltzmann, breve biografia

macchina di Boltzmann
Ludwig Boltzmann

Ludwig Boltzmann (1844–1906) è stato un fisico e matematico austriaco, noto per i suoi contributi fondamentali alla meccanica statistica e alla termodinamica. La sua formula per l’entropia, S=kBln⁡ΩS = k_B \ln \OmegaS=kBlnΩ, ha fornito una spiegazione statistica della seconda legge della termodinamica e ha introdotto il concetto di microstati, collegando il comportamento microscopico delle particelle alle proprietà macroscopiche dei sistemi. Sebbene le sue teorie abbiano affrontato critiche durante la sua vita, sono diventate pilastri della fisica moderna.

Le macchine di Boltzmann, introdotte da Geoffrey Hinton e Terry Sejnowski negli anni ’80, si basano sui principi della meccanica statistica di Boltzmann.

Conclusioni

La macchina di Boltzmann rappresenta un pilastro fondamentale nell’evoluzione dell’Intelligenza artificiale. È in continua evoluzione e trova applicazione in un numero sempre più ampio di ambiti e contesti, e questo nonostante le ingenti risorse computazionali richieste e la complessità di addestramento.

La capacità di modellare relazioni complesse nei dati, di apprendere senza supervisione e di generare nuovi campioni di dati sono i motivi principali che ne dettano tanto lo sviluppo quanto la diffusione, sempre più fondamentale nella ricerca e nelle applicazioni AI.

Sitografia

  1. https://en.wikipedia.org/wiki/Ludwig_Boltzmann
  2. https://www.linkedin.com/pulse/boltzmann-machines-arastu-thakur-b5jpc
  3. https://klu.ai/glossary/boltzmann-machine
  4. https://nordvpn.com/cybersecurity/glossary/boltzmann-machine/
  5. https://mathshistory.st-andrews.ac.uk/Biographies/Boltzmann/
  6. https://www.larksuite.com/en_us/topics/ai-glossary/boltzmann-machine
  7. https://www.britannica.com/biography/Ludwig-Boltzmann
  8. https://360digitmg.com/blog/artificial-neural-network
  9. https://study.com/academy/lesson/ludwig-boltzmann-biography-theory-contributions.html
  10. https://www.engati.com/glossary/boltzmann-machine
  11. https://www.boltzmann.com/ludwig-boltzmann/biography/
  12. https://academic.oup.com/book/34859/chapter-abstract/298194077?redirectedFrom=fulltext&login=false
  13. https://academic.oup.com/book/34859/chapter-abstract/298194077?login=false&redirectedFrom=fulltext
  14. https://philsci-archive.pitt.edu/1717/2/Ludwig_Boltzmann.pdf
  15. https://academic.oup.com/book/34859?login=false
  16. https://arxiv.org/pdf/physics/0609047.pdf
  17. https://www.newworldencyclopedia.org/entry/Ludwig_Boltzmann
  18. https://indiaai.gov.in/article/comprehending-the-restricted-boltzmann-machine-in-ai
  19. https://pmc.ncbi.nlm.nih.gov/articles/PMC10743234/
  20. https://www.cbinsights.com/company/boltzmann-1
  21. https://en.wikipedia.org/wiki/Boltzmann_machine
  22. https://www.geeksforgeeks.org/types-of-boltzmann-machines/
  23. https://www.tutorialspoint.com/artificial_neural_network/artificial_neural_network_boltzmann_machine.htm
  24. https://www.semanticscholar.org/paper/A-Learning-Algorithm-for-Boltzmann-Machines-Ackley-Hinton/a0d16f0e99f7ce5e6fb70b1a68c685e9ad610657
  25. https://en.wikibooks.org/wiki/Artificial_Neural_Networks/Boltzmann_Learning
  26. https://depts.washington.edu/vienna/boltzmann/boltzmannbio.htm
  27. https://plato.stanford.edu/entries/statphys-boltzmann/

Articoli correlati