Ciao a tutti, sono Vincenzo Lomonaco, ricercatore e docente all’Università di Pisa.
Nella puntata di oggi parliamo di qualcosa di estremamente utile per lo sviluppo di agenti intelligenti e affidabili.
Parliamo di inferenza probabilistica, ossia di come è possibile dotare i nostri prodotti e servizi basati su AI della capacità di ragionare in presenza di incertezza.
A cosa serve quindi l’inferenza probabilistica? Perché è utile, spesso desiderabile, in molti contesti applicativi? Scopriamolo insieme in questa puntata di Le Voci dell’AI.
L’inferenza probabilistica nel contesto dell’intelligenza artificiale è un metodo per dedurre conoscenze o fare previsioni basandosi su modelli probabilistici, che rappresenta incertezze del mondo reale.
Si distingue dall’inferenza logica che opera su regole rigide e deterministicamente stabilisce la verità o falsità di proposizioni, in quanto l’inferenza probabilistica incorpora il concetto di incertezza e lavora con distribuzioni di probabilità per esprimere gradi di confidenza sulle conclusioni.
Questo approccio è utile in applicazioni dove il mondo è incerto o i dati sono rumorosi, come nel riconoscimento vocale, nella visione artificiale o nella diagnosi medica, per esempio, dove le osservazioni non garantiscono una risposta certa – sì/no, vero/falso – ma solo una probabilità associata a ciascuna ipotesi.
La probabilità permette poi di combinare dati incompleti con conoscenze a priori o di dominio, migliorando le decisioni in contesti reali.
Un Large Language Model come GPT-4 non è progettato per l’inferenza probabilistica, poiché la sua funzione principale è generare testo coerente in base alle occorrenze statistiche apprese dai dati di addestramento.
Quindi, sebbene i Large Language Models utilizzino concetti probabilistici per prevedere il carattere, una parola successiva e una sequenza non possiedono la capacità di costruire e aggiornare esplicitamente modelli probabilistici strutturati come le reti bayesiane o i grafi probabilistici, che sono fondamentali per l’inferenza probabilistica più rigorosa.
Per esempio, un Large Language Model non può calcolare direttamente la probabilità di un evento condizionato dato un altro, a meno che tale relazione sia esplicitamente presente nei dati di addestramento.
Inoltre, i Large Language Model mancano di un meccanismo nativo per rappresentare formalmente le incertezze, quantificarle e integrarle in modelli dinamici che si aggiornano in tempo reale con nuovi dati, nuove osservazioni nel nostro contesto applicativo di riferimento.
L’inferenza probabilistica è quindi uno strumento fondamentale per compiti che richiedono ragionamento quantitativo e decisioni affidabili in contesti di incertezza.
I Large Language Models, pur eccellendo nell’elaborazione del linguaggio naturale e nella generazione di risposte plausibili in un contesto, per esempio di una chat, non possono sostituire modelli probabilistici in domini dove l’incertezza è centrale, deve essere trattata formalmente, con delle garanzie.
Per ottenere sistemi intelligenti più completi spesso si integrano tecniche di inferenza probabilistica con i modelli di linguaggio, sfruttando quindi la forza e gli aspetti positivi di entrambi gli approcci, la capacità di ragionamento strutturato da una parte, la generazione di risposte in linguaggio naturale, dall’altra.
Le reti bayesiane sono uno dei modelli probabilistici più usati e rappresentano le relazioni di dipendenza tra concetti usando un grafo diretto aciclico.
In questo grafo i nodi rappresentano le variabili aleatorie, mentre gli archi indicano come una variabile dipende dalle altre.
Ogni nodo ha una distribuzione di probabilità condizionata che descrive il comportamento delle variabili rispetto ai suoi genitori nel grafo.
Questo approccio permette di rappresentare la proprietà congiunta di un sistema complesso in modo più semplice, scomponendo in componenti più piccoli e gestibili grazie alla struttura stessa del grafo.
Per costruire una rete bayesiana si identificano le variabili chiave di un sistema e le relazioni di causa effetto tra di esse e si definiscono le distribuzioni di probabilità per ogni nodo.
Questo processo può essere guidato sia dalla conoscenza di dominio da parte di esperti, sia dall’apprendimento, dagli esempi, dai dati, attraverso tecniche statistiche di machine learning.
Una volta costruita, la rete permette di fare inferenze, ovvero calcolare probabilità aggiornate su eventi di interesse a partire da nuove osservazioni, con nuove informazioni e applicando il principio dell’aggiornamento probabilistico.
Le reti bayesiane sono ampiamente utilizzate nel contesto dell’AI perché combinano il rigore matematico a una rappresentazione grafica intuitiva, consentendo di gestire l’incertezza in modo esplicito e sistematico.
Sono particolarmente utili soprattutto in contesti come la diagnosi medica, la gestione del rischio e la previsione, dove spesso si hanno dati incompleti o incerti e il ragionamento probabilistico deve essere accurato.
Inoltre, esse permettono di integrare conoscenze preesistenti con informazione apprese dai dati, come ci siamo detti, offrendo un sistema piuttosto flessibile ed adattabile a nuove evidenze.
La loro efficienza e versatilità le ha rese quindi uno degli strumenti più diffusi per rappresentare e analizzare sistemi complessi.
In questa immagine vediamo un esempio molto semplice di una rete bayesiana per modellare la probabilità di ricevere una lettera di raccomandazione per un college americano.
Date una serie di evidenze empiriche legate alla difficoltà dell’esame da superare, l’intelligenza dello studente, l’effettivo voto ricevuto dell’esame in questione e il punteggio ottenuto nei test SAT, dei test molto comuni in America, relativi a pensiero critico, matematica, logica di base, scrittura.
Ecco quello che vediamo nel diagramma sulla destra di questo grafo diretto aciclico è la rappresentazione grafica del modello bayesiano che correla queste variabili aleatorie evidenziate come nodi del grafo in senso probabilistico.
Infatti quello che notiamo è una tabella contenente, anzi una serie di tabelle contenente le probabilità condizionali che legano ciascuna variabile alle sue variabili genitori.
Per esempio la probabilità di ottenere un grade, un voto, tra A, B e C, le lettere che corrispondono ai voti in America è dettata dall’intelligenza dello studente, ma anche dalla difficoltà del test.
E vediamo che nella tabella a fianco compaiono tutte le probabilità relative alle possibili combinazioni del valore che possono assumere le variabili genitori sulle righe e ciascun risultato della valutazione sulle colonne G1 G2 G3 che corrisponderebbero alle tre valutazioni A, B e C.
Per esempio, una volta che abbiamo definito appreso tramite machine learning queste proprietà condizionali possiamo usarle per effettuare inferenza probabilistica, ossia possiamo definire la probabilità che uno specifico evento accada come il prodotto.
Tra le proprietà condizionali solo relative alle variabili che si influenzano vicendevolmente, come vediamo nelle formule sulla sinistra.
Ossia sfruttiamo o sfruttiamo la nozione di indipendenza tra variabili per semplificare il calcolo, pur mantenendo il nostro ragionamento probabilistico corretto.
Ad esempio, date delle osservazioni specifiche come la comprovata difficoltà di un test e ci potremmo chiedere qual è la probabilità che uno studente generico abbia una lettera di raccomandazione.
Molto utile, non trovate? In questa puntata abbiamo discusso dell’inferenza probabilistica e di come essa si renda necessaria per quantificare opportunamente l’incertezza e dedurre nuove conclusioni probabilistiche affidabili.
Ad oggi i Large Language Models non offrono le stesse garanzie di ragionamento come modelli probabilistici formali come le reti bayesiane, ma auspichiamo – come abbiamo visto per l’inferenza logica – che sempre più proprietà di ragionamento possono essere garantite dalle future generazioni di modelli generativi, cercando da un lato di limitare il più possibile la tediosa definizione di modelli formali probabilistici, ma dall’altro garantendo più formalità e correttezza nel ragionamento.
Ciao, dalla prossima puntata di Le Voci dell’AI!