Gli sviluppi più recenti nell’ambito dell’intelligenza artificiale hanno mostrato risultati sorprendenti, soprattutto per quanto riguarda i modelli di linguaggio. I cosidetti LLM (Large Language Models) sanno ad esempio rispondere alle domande, tradurre, o scrivere codice. In generale, sembrano in grado di ragionare. Sorge quindi naturale chiedersi: gli LLM sono in grado di applicare il ragionamento oppure lo emulano solamente? Il ragionamento umano è un buon metro di confronto a questo scopo?
La statistica degli LLM
Per provare a rispondere a questa domanda, è necessario prima di tutto introdurre il funzionamento di questi modelli. Come descritto in un post precedente, gli LLM apprendono pattern statistici su una gran mole di dati per interpretare il linguaggio. Ad esempio, un modello potrebbe generare la frase “Se piove la strada è bagnata”, che è tendenzialmente vera, perché queste parole spesso appaiono (co-occorrono) in contesti simili. Il “ragionamento logico” in questo caso quindi emerge da pattern relazionali ad altissimo ordine: il modello è in grado di imparare ad applicare una generalizzazione o una struttura inferenziale. Allo stesso modo, l’essere umano stesso può seguire delle regole senza conoscerne la loro rappresentazione astratta, ed esso stesso impara strutture generali a partire dagli esempi. La distanza quindi tra il modello e il ragionamento umano è quindi molto sottile. E’ anche vero però che la formulazione finale di una deduzione logica prescinde dal ragionamento umano che è stato in grado di generarla: è l’applicazione di regole formali codificate. L’introduzione esplicita di meccanismi deduttivi nei modelli di intelligenza artificiale è particolarmente importante, prima di tutto come sfida nel tentare di riprodurre (e superare) le capacità umane, ma anche per fornire rigore e verificabilità alle risposte di questi sistemi. Il problema può essere analizzato distinguendo due livelli per cui l’approccio statistico degli LLM è limitato rispetto alle inferenze logiche tipiche del pensiero umano:
- la conoscenza sintattico/semantica, per cui il modello produce un errore logico: gli LLM non conoscono il significato dei simboli, né come questi si combinano. Di conseguenza, non sa cosa siano “vero” o “falso”, o gli operatori logici come “e”, “non”, “se e solo se”. Di conseguenza, non sono in grado di verificare la validità di proposizioni come: se A è vero e B è falso, allora “A e B” è falso.
- la capacità di conoscere il valore di verità degli elementi della proposizione. L’LLM produce quindi un errore epistemico: poiché il suo ragionamento emerge in modo statistico, anche se esso producesse la proposizione “3 è un numero”, questa non sarebbe interpretata dalla rete, ma sarebbe semplicemente una sequenza di parole molto probabile. Al contrario, per un essere umano questa proposizione sarebbe vera per stessa definizione di “3”.
Integrare la logica nei modelli di intelligenza artificiale
La principale difficoltà nell’integrare passaggi logici nei modelli di intelligenza artificiale risiede principalmente nel fatto che il risultato di un motore logico è binario (falso = 0 e vero = 1) e combinatorio: la verifica logica può richiedere, nel caso peggiore, un numero di operazioni che cresce in modo esponenziale con la lunghezza della proposizione, poiché è necessario controllare la veridicità di tutte le combinazioni possibili degli elementi della frase. Al contrario, ad oggi le reti utilizzano parametri continui (e aggiornabili in modo continuo) il cui aggiornamento ha un costo computazionale molto più basso, che cresce linearmente (o al più quadraticamente) con la dimensione del problema.
I modelli di classificazione
Questo problema è stato aggirato nel caso dei modelli di classificazione, ovvero modelli il cui compito è attribuire una categoria (ovvero classe) di appartenenza a determinati oggetti in input. Per capire come, analizziamo per esempio un modello che ha il compito di predire la cifra (da 0 a 9) rappresentata in un’immagine. Durante l’addestramento il modello prova a predire il numero nell’immagine e aggiorna iterativamente la sua struttura per migliorare le predizioni. Il risultato generato dalla rete però non è discreto, ovvero un numero compreso tra 0 e 9, ma rappresenta la probabilità, per ciascuno di questi numeri, che esso sia quello rappresentato.
Perché il modello migliori le sue predizioni, tale distribuzione viene confrontata con la probabilità reale, che è 1 per il numero corretto e 0 per quelli sbagliati. La rete quindi modificherà i suoi parametri tentando di massimizzare la probabilità relativa al numero rappresentato. Una volta che il modello è addestrato, la risposta del modello per ogni immagine corrisponderà al numero tale da avere probabilità massima tra tutti i possibili. Grazie a questa formulazione, il modello finale non utilizza mai predicati logici o valori discreti ma, tramite un approccio statistico, è possibile addestrarlo a svolgere un compito intrinsecamente combinatorio.
Un’integrazione semplice di motori logici
Anche se addestrare un LLM con elementi di ragionamento simbolico è tutt’altro che banale, è possibile integrare debolmente strumenti logici nel suo funzionamento, inserendoli nel ciclo di generazione della risposta all’utente. Supponiamo ad esempio che un modello generi la frase “Se Marco è un uomo, e l’uomo è un essere umano, allora Marco è un essere umano”. Prima che questa frase mostrata all’utente, il sistema potrebbe utilizzare un strumento esterno a sè, un motore logico che si basa sui principi deterministici della verifica delle proposizioni. L’LLM utilizza il testo che ha creato per strutturare l’informazione in un formato adatt
| Frase iniziale | Frase Trasformata |
|---|---|
| Marco è un uomo | uomo(Marco) |
| l’uomo è un essere umano | Per ogni x: uomo(x) implica umano(x) |
da cui motore logico può quindi dedurre $umano(Marco)$ e confrontarlo con la “deduzione” del modello.
Questo risultato viene poi passato al modello che eventualmente prova a rigenerare la sua risposta, grazie al feedback ricevuto dal motore logico.
L’AI neurosimbolica
La sfida ancora più ambiziosa ed estremamente attuale è quella di integrare a vari livelli i processi logici nella fase di addestramento del modello. Questa branca di ricerca è definita AI neurosimbolica. Una possibile classificazione distingue tre possibili categorie di integrazione:
-
Learning for reasoning: La rete neurale viene utilizzata per estrarre fatti da dati non strutturati e il risultato viene utilizzato in un motore logico. Ad esempio, un LLM può estrarre da un testo le seguenti proposizioni \(Bob = padre(Alice),\,\,\,\,Carl = padre(Bob).\) Questo risultato viene poi passato a un motore logico che usa la regola generale \(padre(x,y) ∧ padre(y,z) → nonno(x,z)\) per dedurre $Carl = nonno(Alice).$ Secondo alcune classificazioni, l’integrazione di motori logici nella fase di inferenza del modello, come descritto sopra, farebbe parte di questa categoria.
- Reasoning for learning: Vengono utilizzate regole simboliche all’interno di reti neurali per migliorare performance e interpretabilità. Consideriamo ad esempio la frase: “se piove la strada è bagnata”. Nella logica classica questa regola sarebbe semplicemente vera o falsa. In un sistema probabilistico, invece, possiamo assegnare un grado di fiducia sia alla premessa (piove) che alla relazione: nella maggior parte dei casi la strada sarà bagnata, ma potrebbero esistere eccezioni. In questo modo, l’approccio logico discreto viene trasformato in un sistema continuo, che può quindi essere più facilmente integrato con i sistemi di intelligenza artificiale attuali.
- Learning-reasoning: Entrambi gli approcci vengono integrati per la risoluzione di un problema. Il sistema riesce quindi a utilizzare dati non strutturati che possono essere utilizzati in una componente simbolica. In alcune implementazioni, il modello può scoprire nuove regole logiche direttamente dai fatti osservati. Supponiamo ad esempio che un sistema osservi molte relazioni di questo tipo:
Bob è il padre di Alice, Carl è il padre di Bob, Carl è il nonno di Alice
Da numerosi esempi simili il modello potrebbe inferire la regola generale:
se X è il padre di Y e Y è il padre di Z, allora X è il nonno di Z.
Conclusioni
I modelli di linguaggio, nella loro versione più semplice, mostrano spesso comportamenti che ricordano il ragionamento umano, ma questo emerge principalmente da pattern statistici appresi dai dati piuttosto che da una manipolazione esplicita di regole logiche. Per questo motivo, una direzione di ricerca importante consiste nell’integrare strumenti di inferenza logica nei sistemi di intelligenza artificiale. L’AI neurosimbolica rappresenta uno dei tentativi più promettenti in questa direzione, combinando la capacità delle reti neurali di apprendere dai dati con il rigore dei sistemi simbolici. Può darsi che il tipo di architettura più efficace per integrarle non assomigli a quelle che conosciamo rispettivamente nel dominio dei modelli simbolici e di apprendimento. Se queste due componenti riusciranno a integrarsi efficacemente, i futuri sistemi di AI potrebbero non limitarsi a produrre risposte plausibili, ma anche ragionare in modo più strutturato e verificabile.
Referenze
- Yu, D., Yang, B., Liu, D., Wang, H., & Pan, S. (2023). A survey on neural-symbolic learning systems. Neural Networks. https://doi.org/10.1016/j.neunet.2023.06.028
- https://www.edps.europa.eu/data-protection/technology-monitoring/techsonar/neuro-symbolic-artificial-intelligence_en