Nobel per la fisica, AI, e qualche applicazione in industria

Scandalo e sorpresa

For Frodo foundational discoveries and inventions that enable machine learning with artificial neural networks.

The Nobel Prize in Physics 2024

Nel 2024, il Premio Nobel per la Fisica è stato assegnato a sorpresa non ad un team di fisici, ma a due figure chiave dell’intelligenza artificiale: Geoffrey Hinton e John Hopfield.

Il motivo? I loro studi negli anni 80 (qui un paper, qui un altro) su due algoritmi che sfruttano i concetti della fisica statistica per memorizzare e riconoscere pattern, gettando le basi per la moderna intelligenza artificiale. Questa intersezione tra fisica e AI è ciò che ha rivoluzionato campi come il riconoscimento delle immagini, l’ottimizzazione industriale e molto altro.

Perché proprio la fisica?1

Anche se la loro carriera è in un settore differente, il premio è stato conferito nell’ambito della fisica per il modo in cui gli algoritmi – nello specifico le reti neurali di Hopfield e le macchine di Boltzmann – fanno inferenza. Queste reti utilizzano infatti principi della fisica statistica, e in particolare della minimizzazione dell’energia del sistema in analisi, per produrre i risultati a partire da input forniti.

Da Wikipedia: Il termine “fisica statistica” è usato per indicare approcci statistici e probabilistici relativamente alla meccanica classica e quantistica. La meccanica statistica è spesso usata come sinonimo, in particolare, quando il contesto richiede una distinzione, si usano i termini di meccanica statistica classica e meccanica quantica statistica. Un’analisi statistica si può utilizzare quando il numero di gradi di libertà, ovvero il numero di variabili, è così grande che la soluzione esatta o analitica non è possibile o difficilmente ricavabile: si rinuncia allora ad informazioni strettamente deterministiche sullo stato e sull’evoluzione del sistema accettando come soluzione informazioni puramente statistiche ovvero sotto forma di distribuzioni di probabilità (es. distribuzione di Maxwell-Boltzmanndistribuzione di Fermi-Diracdistribuzione di Bose-Einstein) e relativi parametri statistici (mediamedianavarianzadeviazione standardmoda ecc…). 

Le reti neurali di questo tipo possono essere viste come sistemi fisici complessi, dove il comportamento collettivo dei neuroni ricorda quello delle particelle nei sistemi termodinamici. Per identificare il risultato più probabile, le reti calcolano l’energia dello stato del set in input e restituiscono set rielaborati che garantiscono uno stato energetico minore.

Reti a confronto

Esistono molti tipi di reti neurali, dai percettroni alle reti convoluzionali (CNN), fino alle reti neurali profonde utilizzate in molte applicazioni moderne. Le reti di Hopfield e le macchine di Boltzmann sono però affascinanti perché rendono possibile la memorizzazione e l’ottimizzazione, che altri modelli come le reti feedforward non possono risolvere.

Mille reti diverse. Fonte

Hopfield Network: come funziona?

La rete di Hopfield è una rete neurale ricorrente completamente connessa, dove ogni neurone è collegato a tutti gli altri. Tutti i neuroni sono neuroni di input, e ognuno può avere uno stato binario (0 o 1, per esempio). Gli stati vengono definiti quando è fornito l’input, e aggiornati iterativamente per ridurre l’energia complessiva del sistema, fino a restituire un set nuovo per i parametri forniti. La rete funziona come una memoria associativa: dato un input incompleto o rumoroso, è in grado di ricordare e richiamare il pattern corretto. Il concetto chiave è che la rete cerca uno stato di minima energia, simile a come i sistemi fisici cercano stati di equilibrio.

La rete di Hopfield è una rete completamente connessa di neuroni di input. Fonte

Per capire meglio come funziona la memoria associativa, proviamo a ripercorrere come noi ricordiamo ad esempio una strada o una parola complessa che non ci viene in mente immediatamente. Il processo parte da un concetto noto – un posto, o il significato della parola che cerchiamo di ricordare – e ripercorre diversi step – le strade che ci vengono in mente man mano, o suoni che assomigliano alla parola corretta – finché non raggiungiamo il risultato.

Le reti di Hopfield utilizzano una forma di apprendimento supervisionato e semplice. Durante il processo di training, si memorizzano pattern nei pesi tra i neuroni, seguendo la regola di Hebb: neuroni che si attivano insieme, si connettono insieme. Questo porta alla formazione di una matrice di connessione che codifica i pattern da ricordare.

Ricostruire pattern parziali

Le reti di Hopfield sono molto comode per la ricostruzione di immagini danneggiate o pattern non ottimizzati. Nelle immagini, ogni input è un pixel. La rete riceve immagini con pixel con un determinato colore, e ne modifica il colore (=modifica lo stato del neurone dell’input) finché l’immagine non sembra più giusta (=l’energia complessiva di tutti i neuroni è più bassa con un colore del singolo neurone differente).

Previsione di una rete di hopfield. Fonte

Ottimizzare i sistemi

Oltre che per ricostruire immagini, queste reti sono ottime anche per risolvere problemi di ottimizzazione di vario tipo. Uno dei problemi più esplorati è l’ottimizzazione del percorso del venditore (the salesman travelling problem), ovvero l’ordine con cui un venditore deve muoversi tra luoghi in città per minimizzare il tempo di percorrenza.

The traveller salesman problem – uno dei risultati ottenuti. Fonte

Citando il paper: Per risolvere problemi di ottimizzazione con la rete di Hopfield, è necessaria una scelta accurata e adeguata della funzione di energia E, cioè dei pesi. La funzione E deve essere determinata in modo tale che i suoi minimi corrispondano alle soluzioni del problema considerato. Quindi, come per ogni algoritmo di ottimizzazione, la chiave è la costruzione di una funzione obiettivo solida e rappresentativa. Le reti di Hopfield possono essere un metodo efficiente nei casi in cui ci sia un pattern da perfezionare: questo approccio è molto più rapido rispetto ad esempio a sistemi di ottimizzazione genetica, e converge rapidamente – rischiando però di ricadere in minimi locali.

Boltzmann machines: come funziona?

La macchina di Boltzmann è un altro tipo di rete ricorrente, ma con una dinamica probabilistica. A differenza delle reti di Hopfield, i nodi non si aggiornano in modo deterministico, ma in base a una distribuzione di probabilità legata all’energia del sistema. Utilizzando la distribuzione di Boltzmann, la rete cerca di minimizzare l’energia complessiva, scartando le configurazioni meno probabili e rafforzando quelle ottimali. Questo approccio probabilistico rende la macchina di Boltzmann adatta per l’apprendimento non supervisionato, dove si tratta di scoprire e identificare nuovamente pattern nascosti nei dati.

La macchina di Boltzmann è una rete completamente connessa di neuroni di input e output. Fonte
La macchina di Boltzmann Ristretta è una rete in cui solo input e output sono connessi tra loro. Fonte

Il processo di apprendimento delle macchine di Boltzmann è più complesso e avviene attraverso apprendimento non supervisionato. Le reti imparano a riconoscere schemi senza essere esplicitamente programmate per farlo, utilizzando un meccanismo chiamato Contrastive Divergence. Durante il training, la rete esplora diverse configurazioni utilizzando la distribuzione di Boltzmann, una funzione probabilistica che assegna una probabilità a ogni stato della rete in base alla sua energia. L’obiettivo è ridurre l’energia media delle configurazioni più frequenti rispetto a quelle meno rilevanti​.

Le boltzmann machines sono utilizzate per ricostruire dati in base ai pattern identificati in fase di training.

Una volta allenata, la macchina di Boltzmann può fare previsioni generative: dato un input parziale o incompleto, la rete genera nuove configurazioni possibili, attribuendo probabilità più alte a quelle che hanno un’energia minore. Questo rende le macchine di Boltzmann particolarmente utili nel contesto dell’apprendimento non supervisionato e dei modelli generativi, dove si cerca di scoprire strutture nascoste o creare nuove soluzioni a partire dai dati osservati.

Le innumerevoli applicazioni delle Boltzmann machines

Le macchine di Boltzmann offrono applicazioni molto interessanti e pratiche, soprattutto grazie alla loro capacità di lavorare con dati incompleti, identificare pattern nascosti e generare nuove configurazioni. Ecco alcune delle principali applicazioni:

1. Riconoscimento di Pattern e Immagini: Le macchine di Boltzmann vengono utilizzate per riconoscere e classificare immagini. Ad esempio, nel riconoscimento facciale o nella classificazione delle immagini mediche, possono apprendere pattern nascosti nei dati. Un’applicazione specifica è la capacità di identificare caratteristiche rilevanti in un’immagine anche quando l’immagine è parzialmente corrotta o disturbata.

  • Esempio: Una macchina di Boltzmann può essere addestrata a riconoscere volti, rilevando gli elementi salienti anche in condizioni di scarsa qualità dell’immagine (es. bassa risoluzione o immagini parzialmente oscurate). Questa caratteristica è molto utile nei sistemi di sorveglianza, dove i dati possono essere incompleti​(NobelPrize.org)​(Reuters).

2. Sistemi di Raccomandazione: Le macchine di Boltzmann sono state utilizzate nei sistemi di raccomandazione grazie alla loro capacità di apprendere correlazioni tra utenti e prodotti. Per esempio, possono essere utilizzate per suggerire film, musica o prodotti basati su preferenze nascoste e modelli di comportamento.

  • Esempio: Netflix e altre piattaforme di streaming hanno utilizzato versioni modificate di macchine di Boltzmann per analizzare le interazioni degli utenti con i contenuti e raccomandare film o serie televisive che potrebbero piacere, anche se l’utente non ha mai interagito direttamente con quei contenuti​.

3. Previsione del Comportamento in Reti Sociali: Le macchine di Boltzmann possono essere utilizzate per prevedere il comportamento degli utenti in social network o community online. Questo è utile per prevedere interazioni future, come chi potrebbe entrare in contatto con chi o chi potrebbe condividere un determinato tipo di contenuto.

  • Esempio: In un social network, una macchina di Boltzmann può essere utilizzata per prevedere quali utenti saranno interessati a connettersi tra loro, basandosi su modelli di comportamento passati. Questo aiuta a migliorare gli algoritmi di suggerimento di contatti e relazioni nelle piattaforme social.

4. Apprendimento non supervisionato e Riduzione della Dimensionalità: Le macchine di Boltzmann sono ampiamente utilizzate per ridurre la dimensionalità dei dati e identificare feature rilevanti in grandi set di dati, senza la necessità di etichettare ogni dato. Questo è utile in contesti dove non si dispone di molti dati etichettati o dove il volume di informazioni è troppo ampio per un’analisi tradizionale.

  • Esempio: Nella genomica, dove i dati sono altamente complessi e multidimensionali, le macchine di Boltzmann possono ridurre il numero di feature necessarie per prevedere malattie genetiche, semplificando così l’analisi dei dati genetici.

5. Generazione di Dati Sintetici: Le macchine di Boltzmann restrittive (RBM) sono molto utilizzate per generare dati sintetici o nuove configurazioni di dati, come nel caso della generazione di immagini artificiali o dati sintetici per addestrare modelli di machine learning. Questo è particolarmente utile in situazioni in cui è difficile ottenere dati reali.

  • Esempio: Le RBM possono essere utilizzate per generare immagini di volti che non esistono nella realtà, ma che seguono le regole apprese da un set di immagini di volti reali. Questo approccio può essere sfruttato per aumentare dataset o per migliorare modelli di intelligenza artificiale nella visione artificiale​.

Applicazioni in industria

Le reti di Hopfield e le macchine di Boltzmann trovano applicazione in vari settori industriali, grazie alla loro capacità di gestire dati complessi e trovare soluzioni ottimali. Vediamo alcune applicazioni specifiche.

Ottimizzazione logistica2

Le reti di Hopfield sono perfette per ottimizzare le rotte.

Le reti di Hopfield sono state utilizzate per risolvere problemi di ottimizzazione combinatoria, come il problema del commesso viaggiatore (Traveling Salesman Problem), dove è necessario trovare il percorso più breve tra diverse destinazioni. Questo tipo di problema è comune in settori industriali come la logistica e la gestione dei magazzini, dove è importante ridurre i tempi di percorrenza e i costi operativi. Le reti di Hopfield possono essere addestrate per trovare la soluzione ottimale, identificando il percorso più efficiente.

Riconoscimento di anomalie nelle macchine3

Le macchine di Boltzmann identificano rapidamente le anomalie.

Le macchine di Boltzmann trovano applicazione nel monitoraggio delle condizioni dei macchinari industriali. Per esempio, possono essere utilizzate per identificare comportamenti anomali o segnali di guasto nei sistemi di produzione. Attraverso l’apprendimento non supervisionato, queste reti possono analizzare i dati raccolti dai sensori di macchine e rilevare cambiamenti che potrebbero indicare la necessità di manutenzione o ispezione. Questa capacità di apprendere pattern e anomalie rende le macchine di Boltzmann utili per migliorare l’efficienza e ridurre i tempi di fermo macchina​.

Ottimizzazione della distribuzione energetica4

Le Modified BM riescono ad ottimizzare le resti energetiche.

Nel settore dell’energia, le Modified BM – reti neurali basate su macchine di Boltzmann e reti di Hopfield – possono essere utilizzate per l’ottimizzazione della distribuzione dell’energia. Le reti possono modellare e prevedere il comportamento di reti elettriche complesse, cercando di bilanciare la domanda e l’offerta in modo efficiente. Ad esempio, possono contribuire alla gestione dei carichi nelle reti, prevedendo la domanda energetica in base a dati storici e ottimizzando l’allocazione delle risorse.

Controllo di qualità nell’industria manifatturiera5

Le macchine di Boltzmann identificano problemi di qualità.

Le reti di Hopfield e le macchine di Boltzmann sono utilizzate nel controllo qualità, ad esempio nel riconoscimento delle immagini per l’identificazione di difetti nei prodotti durante la fase di produzione. La loro capacità di memorizzare pattern e riconoscere deviazioni da uno standard li rende strumenti ideali per automatizzare il rilevamento di anomalie nei prodotti, migliorando la precisione del controllo qualità senza l’intervento umano​.

I nobbèll

Concludendo, il Premio Nobel 2024 celebra la scoperta di modelli matematici complessi e riconosce il contributo centrale che questi hanno avuto negli sviluppi dell’intelligenza artificiale. Le reti di Hopfield e le macchine di Boltzmann hanno dimostrato che i computer possono memorizzare e riconoscere strutture e pattern complessi, aprendo nuove strade e nuove applicazioni per lo sviluppo di sistemi di AI.

  1. https://www.nobelprize.org/prizes/physics/2024/popular-information/
    https://www.princeton.edu/news/2024/10/08/princetons-john-hopfield-receives-nobel-prize-physics ↩︎
  2. Research on the optimization of same-city fresh food delivery path based on improved Hopfield neural network algorithm ↩︎
  3. Variational restricted Boltzmann machines to automated anomaly detection ↩︎
  4. A Modified Boltzmann Machine for Solving Distribution System Expansion Planning in Malaysia – Siti Hajar Mohd Tahar , Shamshul Bahar Yaakob, Amran Ahmed ↩︎
  5. Anomaly Detection for Industry Product Quality Inspection based on Gaussian Restricted Boltzmann Machine ↩︎