INNOVAZIONE

Autore: Massimiliano Talarico
ASSINEWS 362 – Aprile 2024

Una delle domande che spesso vengono fatte a chi si occupa di Intelligenza Artificiale è la seguente: “Ma come funziona l’Intelligenza Artificiale? Come fa a capire le richieste che gli vengono fatte? Come fa a prendere decisioni?” La domanda è assolutamente lecita.

Tutti sanno o hanno sentito dire che uno dei modi in cui l’IA apprende è ispirandosi al cervello umano. Proprio come noi accumuliamo esperienze e conoscenze nel tempo, anche questi sistemi raccolgono enormi quantità di dati che analizzano per trovare modelli e fare previsioni.

Se devono prevedere se un cliente rinnoverà la sua polizza auto, non guardano solo l’ultima polizza, ma tutto il suo storico e tutte le informazioni che abbiamo a disposizione su di lui, proprio come noi accumulano esperienza.

Per poter fare questo, un forte contributo è stato dato dallo sviluppo di tecniche chiamate di Deep Learning (apprendimento profondo) e nello specifico sono state sviluppate un particolare tipo di reti neurali, le reti neurali LSTM (Long Short-Term Memory), la cui caratteristica principale è quella di avere una memoria potenziata che permette loro di ricordare il passato.

Partiamo con un esempio pratico
Immaginiamo di avere i dati di un cliente che negli ultimi cinque anni ha sempre rinnovato la polizza auto in tempo, mentre quest’anno è in ritardo. Una rete LSTM riuscirebbe a contestualizzare la storia assicurativa del cliente comprendendone il comportamento, “tenendo a mente” i suoi dati di cinque anni. Ma come fanno queste reti a ricordare efficacemente? Riescono in quanto hanno dei meccanismi interni chiamati “cancelli”, che filtrano le informazioni, tenendo in memoria solo quelle rilevanti e scartando il resto. I cancelli principali sono tre:

Cancello di ingresso: decide quali nuovi dati sono importanti e li memorizza per il futuro. Ad esempio, il nuovo indirizzo del cliente è importante, se ha o meno provocato dei sinistri è importante mentre il colore della sua auto no.

Cancello dell’Oblio: decide cosa dimenticare dalla memoria accumulata. Ad esempio, dopo il rinnovo è inutile ricordare i dettagli della polizza precedente o il colore dell’auto.

Cancello di uscita: sceglie cosa estrarre dalla memoria per fare nuove previsioni. Ad esempio, usa la storia dei sinistri del cliente per calcolarne il rischio. I cancelli vengono addestrati in modo automatico analizzando grandi quantità di dati imparando a selezionare le informazioni davvero rilevanti per ogni compito. Facciamo un esempio concreto di come questi cancelli filtrano i dati.

CANCELLO DI INGRESSO
Dati in ingresso:

Mario Rossi ha acquistato una nuova auto sportiva di grossa cilindrata
Abita in una zona ad alto tasso di furti

Informazioni importanti da memorizzare per il futuro:
Auto sportiva di grossa cilindrata (più rischio di incidenti/sinistri)
Zona ad alto rischio furti

CANCELLO DELL’OBLIO
Dati in memoria:
ll cliente aveva una utilitaria di piccola cilindrata
Abitava in centro città dove il rischio furti è basso
Negli ultimi cinque anni non ha avuto sinistri Informazioni da dimenticare:
Modello e cilindrata della vecchia auto (non più rilevanti)
Precedente area di residenza (non più rilevante)

Informazioni da conservare:
Nessun sinistro nei cinque anni precedenti

CANCELLO DI USCITA
Dati in ingresso:
Nuova auto sportiva di grossa cilindrata
Zona ad alto rischio furti Dati in memoria:
Nessun sinistro nei cinque anni precedenti

Informazioni da estrarre per fare previsioni:
Auto sportiva ad alto rischio incidenti
Zona ad alto rischio furti
Basso rischio sinistri basato sulla storia precedente

Questo processo di filtraggio selettivo permette all’intelligenza artificiale di modellare in modo molto accurato sequenze complesse di dati. Per questa ragione sono ampiamente utilizzate per l’elaborazione del linguaggio naturale, la generazione di testi, il riconoscimento vocale e molte altre applicazioni.

Tutto questo diventa poi ancora più importante (e probabilmente affascinante) nell’elaborazione del linguaggio naturale, dove una parola può avere più significati a seconda del contesto nel quale viene utilizzata e dove l’IA deve essere in grado di comprendere qual è il significato giusto a seconda delle altre parole che formano la frase:

“La mia dieta è a base di cibo integrale
“Devo calcolare l’integrale di una funziona matematica”

oppure
“I principi sono i figli dei re”
“In un uomo sono fondamentali i suoi principi

In tutti questi esempi è fondamentale comprendere le correlazioni che esistono tra le varie parole che formano la frase, è necessario comprendere appunto il contesto, in caso contrario le parole sarebbero utilizzate in maniera completamente errata. Per farlo è necessario avere memoria del passato, in quanto la sequenza passata modifica il senso di quello che stiamo dicendo e/o facendo.

Facciamo un altro esempio. Supponiamo di avere una rete neurale che genera testo sulla base di alcuni input che ci vengono forniti. All’inizio del testo si dice: “Ho un cane di nome Lessie”.

Supponiamo poi, che dopo alcune altre frasi in cui non si fa menzione di un animale domestico o di un cane, si richiama di nuovo l’animale domestico e il modello deve generare la parola successiva: “Comunque, Lessie, il mio animale domestico è un ____”. Poiché la parola animale domestico è apparsa subito prima dello spazio vuoto, una rete neurale può dedurre che la parola successiva sarà probabilmente un animale che può essere tenuto come animale domestico.

Se la rete fosse in grado di utilizzare solo le informazioni contestuali dal testo apparso nelle ultime frasi non avrebbe idea di quale animale possa essere l’animale domestico, poiché le informazioni rilevanti (l’animale domestico è un cane) sono già andate perdute.

I nuovi modelli di Intelligenza Artificiale, invece, possono conservare le informazioni precedenti (l’animale domestico è un cane) e questo aiuterà il modello a scegliere “il cane” quando si tratterà di generare il testo mancante.

Altro aspetto fondamentale per capire come funziona l’Intelligenza Artificiale è capire come fa a prendere decisioni. Anche in questo caso gli esempi sono fondamentali. Supponiamo di voler addestrare l’Intelligenza Artificiale a predire se un cliente rinnoverà la sua polizza auto. Gli forniamo migliaia di esempi reali di clienti, con tutte le informazioni che abbiamo su di loro: età, professione, stato civile, modello dell’auto, zona di residenza, andamento dei pagamenti delle rate in passato e così via. Oltre a questi dati, indichiamo per ogni cliente se ha rinnovato la polizza o meno.

L’IA analizzerà questi esempi per imparare le correlazioni tra le caratteristiche dei clienti e la loro propensione al rinnovo. Ad esempio, potrebbe scoprire che l’età e la zona di residenza sono predittori rilevanti, mentre il modello dell’auto no.

Oppure potrebbe notare che un ritardo nei pagamenti precedenti è correlato negativamente con il rinnovo, ma questa informazione va “dimenticata” se il cliente torna poi in regola. Attraverso milioni di esempi, i cancelli dell’IA imparano a riconoscere questi schemi ricorrenti su cosa è rilevante e cosa no per predire il rinnovo in quel contesto specifico.

Lo stesso processo viene applicato ad altri task come rilevare frodi, rispondere a domande, generare testi ecc. Non è quindi sbagliato affermare che le reti neurali non hanno regole predefinite su cosa ricordare e cosa no, ma apprendono direttamente dai dati a distinguere informazioni utili o irrilevanti tramite un processo di ottimizzazione automatica dei loro parametri interni.

È questo addestramento su larga scala che permette loro di filtrare le informazioni in modo intelligente ed efficace. Ma entriamo ancora più dentro queste logiche. Torniamo all’esempio precedente dove chiediamo all’IA di prevedere se un cliente rinnoverà, o meno, la polizza auto. Forniamo all’Intelligenza Artificiale tanti esempi di clienti reali, con informazioni come età, professione, zona di residenza ecc.

Ogni informazione sul cliente viene codificata da numeri che rappresentano le sue caratteristiche, l’età, ad esempio, potrebbe essere 58 anni, la professione impiegato potrebbe essere codificata come 2 (se ad esempio fosse un operaio potrebbe essere codificata come 1, se fosse un panettiere come 3 ecc.), la zona di residenza in centro città come 4 (se fosse in periferia ad esempio 1, se fosse in campagna 3 ecc.). Insieme a questi dati numerici, indichiamo poi, per ogni cliente, se ha rinnovato la polizza (1) o no (0), variabile che vogliamo predire per il futuro.

Tutti i clienti vengono quindi descritti da una sequenza di numeri che in questo caso sarebbero:

Cliente 1 -> 58 (età); 2 (professione); 4 (residenza); 1 (nessun rinnovo polizza)
Cliente 2 -> 45 (età); 1 (professione); 2 (residenza); 0 (nessun rinnovo polizza)
Cliente 3 -> 35 (età); 4 (professione); 3 (residenza); 1 (rinnovo polizza)
… e così via …

All’inizio la rete neurale dell’IA stima i parametri interni in maniera casuale e non sa ancora quali informazioni siano corrette e predittive del rinnovo. Fa quindi delle previsioni assolutamente casuali e le confronta con le risposte reali.

Supponiamo che per il nostro cliente di 58 anni, impiegato e residente in centro l’IA preveda che rinnoverà la polizza, ma che in realtà quel cliente, di fatto, non l’ha rinnovata.

L’Intelligenza Artificiale ha quindi, commesso un errore. A questo punto, tramite un meccanismo chiamato di backpropagation (ritorno sui suoi passi), modifica leggermente i suoi parametri interni per fare in modo che la prossima volta che vede quel tipo di cliente faccia una previsione migliore. Ma come modifica i suoi parametri?

1. Calcola l’errore tra la previsione e il risultato atteso

2. A partire da questo errore, determina di quanto deve modificare ciascun peso dei propri parametri per ridurre l’errore stesso

3. Aggiorna tutti i pesi spostandoli leggermente nella direzione che minimizza l’errore Inizialmente la rete neurale non ha nessuna conoscenza specifica sul cliente, quello che fa è costruire una funzione di approssimazione generica tra input e output, basata sulla sua architettura interna.

Tanto per capire meglio, la rete potrebbe predire inizialmente che il nostro cliente di 58 anni, impiegato, residente in centro, rinnoverà la polizza con una probabilità del 52%, un valore vicino al caso (il caso tipicamente è 50%, vale a dire stessa probabilità di sottoscrivere o non sottoscrivere la polizza).

Successivamente, lavorando su molti esempi di addestramento, i pesi interni verranno modificati per adattare la funzione di previsione alle reali correlazioni tra le caratteristiche dei clienti e la propensione al rinnovo. Ripete quindi questo processo su migliaia di esempi finché non impara a fare previsioni accurate identificando le correlazioni importanti per il rinnovo.

Quindi l’IA non ha regole predefinite, ma ottimizza iterativamente i suoi parametri interni per estrarre le correlazioni rilevanti che le permettono di fare buone previsioni. È un po’ come imparare dai propri errori. Rispetto a tecniche precedenti, l’abilità di questo approccio dell’Intelligenza Artificiale di modellare dipendenze a lungo termine permette quindi di automatizzare compiti molto complessi e vicini alle capacità umane.

È importante sottolineare che questi modelli sono solo all’inizio della loro evoluzione in quanto ci sono ancora significativi margini di miglioramento, in particolare per quanto riguarda la capacità di contestualizzazione su porzioni molto estese di testo o la comprensione approfondita del linguaggio naturale.

L’addestramento di questi sistemi richiede la disponibilità di enormi quantità di dati rilevanti, il vero oro di questo millennio. I ricercatori stanno lavorando ad architetture più efficienti e flessibili, che combinano numerose tecniche di deep learning, ciò consentirà di espandere ulteriormente il loro utilizzo per automatizzare processi complessi e migliorare l’esperienza degli utenti in tutti i campi nei quali l’uomo opera.


© Riproduzione riservata