• Paolo Benanti

PyWhy: ulteriore passo verso un AI causale?

Amazon Web Services (AWS), un'azienda di proprietà del gruppo Amazon che fornisce servizi di cloud computing su un'omonima piattaforma on demand, ha appena annunciato di aver contribuito alla creazione di nuovi algoritmi di apprendimento automatico causale aggiungendoli alla libreria DoWhy di Python. Le nuove caratteristiche vanno oltre la stima convenzionale degli effetti, attribuendo gli eventi ai singoli componenti di sistemi complessi. Cerchiamo di approfondire la portata dell'annuncio.

 

Partiamo da cosa è stato annunciato sul blog Amazon Science:


Siamo lieti di annunciare il rilascio open-source di algoritmi di apprendimento automatico causale (ML) che sono il risultato di anni di ricerca di Amazon sui modelli causali grafici. Gli algoritmi consentono una serie di complesse interrogazioni causali oltre alla consueta stima degli effetti, tra cui, ma non solo, l'analisi delle cause di outlier e cambiamenti nella distribuzione, l'apprendimento di strutture causali e la diagnosi di strutture causali. Internamente, sono stati utilizzati da team di Amazon che spaziano dalla Supply Chain ad Amazon Web Services (AWS).



Siamo inoltre entusiasti del fatto che, in uno sforzo congiunto con Microsoft, abbiamo creato una nuova organizzazione GitHub chiamata PyWhy. PyWhy è la nuova sede di DoWhy, una libreria di ML causale di Microsoft, in cui stiamo facendo confluire i nostri algoritmi. DoWhy è una delle librerie di causalità più popolari su GitHub. Amazon e Microsoft sono lieti di collaborare con la comunità di utenti e collaboratori di DoWhy. Come ha detto il nostro collega Dominik Janzing, principal scientist di Amazon, "È emozionante vedere il lavoro del nostro team degli ultimi tre anni condiviso con l'intera comunità scientifica".


La maggior parte dei sistemi del mondo reale, siano essi sistemi di calcolo distribuito, sistemi di supply chain o processi produttivi, possono essere descritti utilizzando variabili che possono o meno esercitare un'influenza causale l'una sull'altra. Si pensi, ad esempio, a un'architettura di microservizi composta da molti servizi web diversi. Qual è la causa dell'aumento dei tempi di caricamento del sito web? È un database lento nel back-end? Un bilanciatore di carico non funzionante? Una rete lenta?


Le librerie esistenti per la causalità, tra cui DoWhy, si concentrano su vari tipi di stima degli effetti, in cui l'obiettivo generale è identificare l'effetto degli interventi su qualche variabile target. Nel caso di un'architettura a microservizi, aiuterebbero a rispondere a domande come: "Se apporto questa modifica alla configurazione del mio servizio di caching, migliorerà i tempi di caricamento del sito web o li peggiorerà?".


Il nostro contributo integra le funzionalità esistenti di DoWhy sfruttando la potenza dei modelli causali grafici (GCM). I GCM sono un framework formale sviluppato da Judea Pearl, vincitore del Turing Award, per modellare le relazioni di causa-effetto tra le variabili di un sistema. Un ingrediente chiave dei GCM sono i diagrammi causali, che rappresentano visivamente le relazioni di causa-effetto tra le variabili osservate, con una freccia da una causa al suo effetto.



Nella stima degli effetti (a sinistra), gli analisti intervengono in un punto del processo causale (martello) e osservano le conseguenze (arancione). In questo modo si esclude l'influenza delle cause a monte del punto di intervento (forbici) e gli effetti dell'intervento possono variare (gradazioni di colore) man mano che si propagano attraverso la catena causale. Nell'analisi delle cause profonde (a destra), invece, gli analisti osservano un effetto - in questo caso, un rallentamento del sito web - e, controllando sistematicamente le altre spiegazioni, identificano l'evento - in questo caso, un problema con il servizio di caching - più direttamente responsabile.


Ogni variabile in un diagramma causale ha il suo meccanismo causale, che descrive come i suoi valori sono generati dai valori dei suoi genitori. Possiamo addestrare modelli probabilistici per imparare questi meccanismi causali e usarli per attribuire eventi anomali o cambiamenti nei meccanismi a nodi specifici. Questa scomposizione in contributi di meccanismi è l'idea centrale dei nostri nuovi algoritmi per l'analisi delle cause.


Ad esempio, nell'architettura a microservizi menzionata in precedenza, potremmo accidentalmente distribuire un servizio difettoso, che utilizza una query SQL non ottimale per ottenere i dati dal database, aumentando le latenze del sito web. Utilizzando una funzione che chiamiamo "attribuzione delle modifiche alla distribuzione", possiamo identificare il servizio difettoso.



Un algoritmo Amazon per l'analisi delle cause profonde adatta il concetto teorico di gioco dei valori di Shapley per determinare i contributi dei diversi meccanismi causali al risultato della sequenza causale. Da "Explaining changes in real-world data".


Ma i GCM possono fare di più: possono essere usati per calcolare gli effetti degli interventi, stimare controfattuali, calcolare le influenze dirette e intrinseche dei nodi sui loro discendenti o attribuire le anomalie a potenziali cause profonde a monte. Rilasciando i nostri algoritmi, speriamo di mettere questi strumenti a disposizione di un pubblico più ampio di ricercatori e professionisti e di contribuire a far progredire i metodi scientifici dei GCM.


PyWhy

Per la stima degli effetti, DoWhy utilizza già due dei framework scientifici più diffusi per l'inferenza causale - i modelli causali grafici e gli esiti potenziali - e li combina in un'unica libreria. Con il nostro contributo, ci auguriamo di riuscire a stimolare ulteriormente la sinergia tra i due framework e le rispettive comunità di ricerca.


Ma la nostra visione a lungo termine va oltre DoWhy, i risultati potenziali e i GCM. Questo si riflette nel nostro sforzo di creare PyWhy e nel nostro impegno a contribuire a guidare la direzione di questa nuova organizzazione su GitHub. Siamo lieti che altri si uniscano ai nostri sforzi e diventino parte della comunità.


La nostra speranza e ambizione per PyWhy - come recita la sua missione - è di "costruire un ecosistema open-source per l'apprendimento automatico causale che faccia progredire lo stato dell'arte e lo renda disponibile a professionisti e ricercatori. Costruiamo e ospitiamo librerie, strumenti e altre risorse interoperabili che coprono una varietà di attività e applicazioni causali, collegate attraverso un'API comune sulle operazioni causali fondamentali e un focus sul processo di analisi end-to-end".


La causalità come chiave del futuro

L’apprendimento automatico o machine learning è un sottocampo dell’AI che funziona secondo modelli di apprendimento automatico classici – detti non-deep – che richiedono un maggiore intervento umano per segmentare i dati in categorie. Il deep learning è a sua volta un sottocampo del machine learning che tenta di imitare l’interconnessione del cervello umano utilizzando le reti neurali. Le sue reti neurali artificiali sono costituite da strati di modelli, che identificano i modelli all’interno di un determinato set di dati. Questi sfruttano un volume elevato di dati di addestramento per apprendere in modo accurato, che di conseguenza richiede hardware più potente. Per quanto gli algoritmi di deep learning siano oggi fortemente associati con la realizzazione di AI di livello umano presentano enormi problemi per quanto riguarda la spiegabilità dei processi decisionali che mettono in pratica.


Per superare questa impasse si teorizza la realizzazione di una intelligenza artificiale forte o Strong AI, nota anche come Intelligenza Artificiale Generale (GAI). L’idea dei ricercatori è di sviluppare una GAI mediante la quale la macchina potrebbe avere un’intelligenza pari a quella umana, sviluppare l’equivalente di una coscienza ed avere la capacità di risolvere problemi, imparare e a pianificare azioni future. Di fatto la Strong AI mira a creare macchine intelligenti indistinguibili dalla mente umana che proprio come un bambino imparerebbero attraverso input ed esperienze progredendo nel tempo. I ricercatori, parte del mondo accademico e il settore privato stanno investendo molto nella creazione della GAI. Tuttavia, allo stato attuale dello sviluppo questa è solo un concetto teorico e nulla di tangibile che si possa avvicinare a questa è ancora stato realizzato. Il dibattito è molto acceso e alcuni citano Minsky ricordando le sue previsioni troppo ottimistiche sullo sviluppo delle AI, altri sono più radicali e arrivano a dire che i sistemi di AI forte non possono nemmeno essere sviluppati. Altri ancora, come Judea Pearl, pensano che sia possibile invece realizzare una macchina capace di inferenza causale e quindi possiamo realizzare il primo passo verso la realizzazione di una GAI.



Proprio il riferimento a Pearl rende questa notizia così interessante. Le linee di sviluppo verso cui vogliamo spingere le intelligenze artificiali includono la causazione. L’intera opera di Judea Pearl va in questa direzione. La sua ricerca sull’apprendimento automatico mostra come realizzare una macchina di inferenza causale richieda almeno tre livelli distinti di abilità cognitiva: vedere, fare e immaginare.


La prima abilità, che l’autore definisce come vedere o osservare, implica che la macchina sia in grado di individuare gli elementi di regolarità nei dati. Questa abilità è una capacità che, come uomini, condividiamo con molti animali e che al momento siamo in grado di realizzare con gli algoritmi di machine learning. Questo è ciò che fa un predatore quando osserva come si muove la preda e capisce dove questa si troverà probabilmente un momento dopo, ed è ciò che fa un programma informatico come AlphaGo di Deep Mind che ha analizzato un database di milioni di partite di Go in modo da capire quali mosse sono associate a una più alta percentuale di vittorie. Seguendo la definizione di Hume possiamo intuire che un evento è associato ad un altro se l’osservazione della variazione dell’uno cambia la probabilità di osservare una variazione nell’altro. Come abbiamo visto nell’esempio del diamante ci sono molti metodi elaborati per ridurre un gran numero di dati e identificare le associazioni tra variabili. La “correlazione” o “regressione” è una tipica misura di associazione e come abbiamo visto comporta l’adattamento di una linea a un insieme di punti di dati e la presa della pendenza di quella linea. Alcune associazioni potrebbero avere ovvie interpretazioni causali; altre no. Ma la statistica da sola non può dire quale sia la causa e quale l’effetto.



La seconda competenza prevede la capacità di prevedere gli effetti che alterazioni deliberate dell’ambiente e la scelta di quali tra le possibili diverse alterazioni può produrre un risultato desiderato. Nel mondo dei viventi, solo una piccola quantità di specie ha mostrato parte di questa abilità. L’uomo fa questo con l’uso di strumenti e artefatti tecnologici. Pearl fa notare che anche le specie che mostrano alcune capacità di utilizzare strumenti non possiedono necessariamente una “teoria” sul funzionamento dello strumento.


Per raggiungere questa consapevolezza serve un terzo livello: l’immaginazione. Judea Pearl mostra da un punto di vista matematico come questi tre livelli differiscano fondamentalmente tra loro mediante l’emergenza di proprietà non presenti al livello inferiore. Acquisire queste capacità è l’obiettivo di chi sviluppa la cosiddetta strong o general AI. Lo scopo di questa intelligenza artificiale detta forte è avere macchine con un’intelligenza simile a quella umana: in grado di essere motori di inferenze causali e quindi in grado di conversare con gli umani e guidarli. Fino ad oggi i risultati delle intelligenze artificiali, anche del più sofisticato deep learning, ha prodotto sistemi con capacità impressionanti ma in settori molto specifici, la cosiddetta narrow AI. Di fatto i prodigiosi risultati di previsione che ottengono queste macchine avvengono in una totale assenza di un modello causale di realtà ma quasi interamente in modalità associativa. Gli strumenti che abbiamo realizzato lavorano su un flusso di dati – le osservazioni della realtà – a cui tentano di adattare una funzione matematica, in un modo analogo a quanto fa uno statistico che cerca di adattare una linea a un insieme di punti.



Le innovazioni introdotti dai neural networks consistono nell’aggiungere molti più strati alla complessità della funzione adattata, ma l’intero processo è guidato da dati grezzi. I grandi successi che compaiono nei media testimoniano solamente un continuato miglioramento in accuratezza grazie a quantità di dati sempre maggiori come nel caso del GPT-3 ma non si tratta del salto qualitativo che stiamo cercando di realizzare. I modelli di narrow AI sono caratterizzati da una mancanza di flessibilità e adattabilità: un sistema addestrato a fare una cosa farà quella e basta, mentre l’intelligenza umana adatta il contenuto di un processo acquisito a compiti diversi. Judea Pearl mostra senza ombra di dubbio che questa rigidità è inevitabile in qualsiasi sistema che lavori a questo primo livello di quella che definisce Scala di causalità.


L’orizzonte più avanzato nello sviluppo delle AI vuole realizzare un modello causale sufficientemente forte e accurato può permetterci di usare i dati (osservazionali) per rispondere a nuovi tipi di domande.


Il tipo di intelligenza artificiale che sviluppiamo ora non consente qualsiasi tipo di applicazione: che tipo di decisioni vogliamo o possiamo delegare a una macchina che funziona come un predatore che insegue una preda che fugge?


L’intelligenza artificiale oggi è molto più simile a quella di un cane o di un cavallo che non a quella di uomo.


Come il soccorso alpino sa bene, un cane da valanga può salvare delle vite indicando dove scavare anche senza un modello causale dietro la sua capacità olfattiva, ma non può di certo pilotare un elicottero o fare una diagnosi medica.



426 visualizzazioni0 commenti

Post recenti

Mostra tutti