• Paolo Benanti

Per problemi radicali servono innovazioni radicali


Un nuovo e radicale design per le reti neurali potrebbe generare capacità che consentiranno alle nuove generazioni di sistemi cognitivi di superare le grandi sfide dell'AI. Tutto questo parte da un'intuizione ispirarsi alle equazioni dal calcolo differenziale per ridisegnare il meccanismo centrale del deep learning in modo da poter modellare processi continui come i cambiamenti nella salute dei pazienti.

David Duvenaud, ricercatore nel campo delle AI presso l'Università di Toronto, mentre collaborava a un progetto in ambito medico ha provato a costruire un modello per il deep learning che fosse in grado di prevedere la salute di un paziente nel tempo. Nel cercare di fare questo si è imbattuto in serio limite che presentano oggi le AI.

I dati delle cartelle cliniche, da un punto di vista di modellazione, sono un po "disordinati": durante la nostra vita andiamo dal dottore in momenti diversi per ragioni diverse, generando una serie di misure - i nostri parametri vitali e gli altri valori che associamo con il monitoraggio della salute - registrate a intervalli arbitrari. Una rete neurale fatica tremendamente per gestire questa nebulosa. Il design con cui progettiamo questi network richiede di apprendere dai dati con chiare fasi di osservazione. Quindi è uno strumento che di fatto ha notevoli problemi nell'osservazione e nella modellazione di fenomeni che non siano discreti. In modo particolare sono inadeguati per modellare processi continui, specialmente quelli che vengono misurati in modo irregolare nel tempo.

La sfida del progetto che stavano portando avanti ha portato Duvenaud e i suoi collaboratori a pensare di riprogettare le reti neurali basandole su schemi diversi rispetto a quelli che attualmente utilizziamo. Queso ripensamento ha prodotto un articolo che è stato tra i quattro incoronati come "best paper" alla conferenza Neural Information Processing Systems, uno dei più grandi meeting al mondo per gli addetti alla ricerca sulle AI.

Le reti neurali sono il meccanismo principale che rende il deep learning così potente. Una rete neurale tradizionale è costituita da strati sovrapposti di nodi computazionali semplici che lavorano insieme per trovare schemi nei dati. Proprio il fatto che una neural network lavora su livelli discreti crea la tensione con pi processi continui: secondo Duvenaud sono i livelli discreti alla base delle reti neurali ciò che impedisce di modellare in modo efficace i processi continui.

Per ovviare a questo, il design proposto dal team di ricerca elimina interamente gli strati. Duvenaud è molto puntuale nel dire che non sono loro i primi ad aver avuto questa idea, ma sono stati i primi a implementarla in modo generalizzato. Per capire cosa voglia dire e come sia possibile, passiamo a quello che fanno gli strati di calcolo in primo luogo.

Come una rete neurale tradizionale trasforma l'immagine di un cane nel nome "cane"?

Il processo più comune per la formazione di una rete neurale - ossia per il supervised learning - comporta un feed della stessa con una serie di dati etichettati. Supponiamo che si voglia costruire un sistema che riconosca diversi tipi di animali. Si dovrebbe "nutrire" il sistema con una serie di immagini abbinate a corrispondenti nomi di animali. Quello che accade "under the hood" - cioè per usare un analogia meccanica, sotto il cofano, e che il sistema inizia a risolvere un complicato puzzle matematico. Il sistema processa tutte le coppie nome-immagine e genera una formula in grado di calcolare un valore per ogni immagine. Così facendo la rete neurale trasforma in modo affidabile una (l'immagine) nell'altra (la categoria). Una volta che la rete è sufficientemente addestrata è in grado di generare per ogni nuova immagine che processa un valore coerente con la categoria di immagine. A questo punto si può riutilizzare la rete neurale per categorizzare correttamente ogni nuova foto di animali che si vuole classificare, il sistema, per essere onesti, dovrebbe funzionare "il più delle volte".

Il punto chiave è che se l'elaborazione autonoma da parte del sistema fosse affidato a una singola formula matematica per descrivere l'intera trasformazione picture-to-name, questa sarebbe eccessivamente lasca e darebbe luogo a un modello a bassa accuratezza. La questione centrale da non dimenticare è che gli approcci di questo sono sub-simbolici, cioè, anche volendo aprire la blackbox di una rete neurale che processa queste trasformazioni vedremmo solo numeri, senza una semantica esplicita che possa essere interpretabile da un operatore umano.

Con questa importante premessa possiamo analogicamente descrivere l'insufficienza del modello a singolo strato paragonandolo al modo di ragionare umano. Processare un picture-to-name con una sola formula, se questa fosse simbolica, cosa che come già detto non è, sarebbe come cercare di utilizzare una singola regola per differenziare cani e gatti. Si potrebbe dire che i cani hanno orecchie floscie. Ma alcuni cani non le hanno e alcuni gatti le hanno. Basare un'identificazione semantica con una sola regola formale finirebbe nel produrre un sacco di falsi negativi e falsi positivi.

È qui che entrano in gioco gli strati di una rete neurale. Gli strati neurali suddividono il processo di trasformazione in passaggi e consentono alla rete di trovare una serie di formule che descrivono ciascuna una fase del processo. Pertanto, il primo livello potrebbe contenere tutti i pixel e utilizzare una formula per individuare quelli più rilevanti per i gatti rispetto ai cani. Un secondo livello potrebbe usarne un altro per costruire motivi più ampi da gruppi di pixel e capire se l'immagine ha baffi o orecchie. Ogni strato successivo identifica caratteristiche sempre più complesse dell'animale, fino a quando lo strato finale decide "cane" sulla base dei calcoli accumulati. Questa ripartizione graduale del processo consente a una rete neurale di costruire modelli più sofisticati, che a loro volta dovrebbero portare a previsioni più accurate.

L'approccio a livelli ha funzionato bene per le AI portando ai successi notevoli che sono sotto i nostri occhi, ma ha anche uno svantaggio intrinseco. Se si volesse modellare qualcosa che si trasforma continuamente nel tempo, si dovrebbe anche ridurlo a passi discreti. In pratica, se tornassimo all'esempio della salute, ciò significherebbe raggruppare le cartelle cliniche in periodi finiti come anni o mesi. Facilmente si vede come nel campo medico questo approccio sarebbe intrinsecamente inesatto. Un paziente che ha visitato il medico l'11 gennaio e il 16 novembre, avrebbe i dati di entrambe le visite raggruppati insieme nello stesso anno.

Quindi il modo migliore per modellare una realtà nel modo più vicino possibile alla sua natura continua è aggiungere più livelli per aumentare la granularità. Ci si potrebbe chiedere perché non dividere i record medici in giorni o addirittura ore? In alcuni casi, come l'ospedalizzazione si sarebbe potuti essere visitati dal medico anche due volte in un giorno. Il ragionamento, portato all'estremo, significa che la migliore rete neurale per questo tipo di task dovrebbe avere un numero infinito di livelli per modellare dei passi di cambiamento di natura infinitesimale. Da un punto di vista di implementazione informatica la domanda è se questa idea sia anche solo pratica da pensare.

Se questo sta iniziando a sembrare familiare, è perché siamo arrivati esattamente al tipo di problema che il calcolo è stato inventato per risolvere. Questo ragionamento non è una novità per chiunque abbia mai fatto un corso di analisi matematica e si sia imbattuto in limiti, derivate e studio di una funzione. L'analisi matematica e il calcolo offre tutta una serie di strumenti matematici e di equazioni per calcolare una serie di cambiamenti attraverso passaggi infinitesimali: in altre parole, ti salva dall'incubo di dover modellare un cambiamento continuo in unità discrete. A questo livello si situa l'idea di Duvenaud e dei suoi collaboratori: sostituire gli strati con equazioni di calcolo.

Il risultato non è più nemmeno una rete; non ci sono più nodi e connessioni, solo una lastra continua di calcolo. Nonostante ciò, i ricercatori hanno definito questo progetto come una "rete ODE" - dove ODE è l'acronimo di "equazioni differenziali ordinarie". Forse, per interrompere anche questa disanima strettamente concettuale e fare un po' di ironia, in un mondo che vede gli acronimi come marchi per vendere un'idea, potremmo suggerire loro di lavorare ancora sul nome...

Se a questo punto qualche lettore è preso da vertigini e capogiri proviamo a semplificare il tutto con una bella analogia che Duvenaud usa per tenere tutto insieme. Considerate uno strumento musicale che si suona in maniera continua come un violino: su un violino si può far scorrere la mano lungo la corda per suonare qualsiasi frequenza si voglia; ora si consideri uno strumento musicale discreto come un piano, in cui si ha un numero distinto di tasti per suonare un numero limitato di frequenze. Una rete neurale tradizionale è come un pianoforte: per quanto ci si provi, non si sarà mai in grado di riprodurre una slide guitar.

Lo slide guitar è una tecnica chitarristica. Il termine slide (letteralmente scivolata) si riferisce proprio al fatto che il supporto per ottenere questo effetto (lo slider o bottleneck) viene fatto scivolare sul manico dello strumento a contatto con le corde. Il bottleneck (collo di bottiglia) rimanda al materiale utilizzato in origine (di vetro). L'effetto ottenuto è simile a quello che si ottiene con il bending con la differenza che il musicista non va a modificare la tensione delle corde tirandole verso l'alto ma ne modifica l'intonazione tramite lo sfregamento dello slider. Con questa tecnica è possibile modificare l'intonazione delle note in maniera continuativa passando tramite glissato da una nota all'altra senza alcuna interruzione.

Tornando alle reti neurali. Con un pianoforte si è in grado di approssimare lo slide solo giocando con una scala di note. Anche se si riaccordasse il piano in modo che le frequenze delle note siano molto vicine tra loro, si dovrebbe comunque approssimare lo slide con una scala. Passare a una rete ODE è come passare da un piano a un violino.

Come per la musica, non è necessariamente sempre lo strumento giusto, ma è più adatto per determinati compiti.

Oltre a essere in grado di modellare il cambiamento continuo, una rete ODE cambia anche alcuni aspetti dell'addestramento. Con una rete neurale tradizionale, si è costretti a specificare il numero di strati che si vogliono implementare nella rete all'inizio dell'allenamento, quindi attendere fino a quando l'allenamento sia finito per scoprire quanto è accurato il modello ottenuto. Il nuovo metodo consente di specificare prima la precisione desiderata e il sistema troverà il modo più efficace per allenarsi all'interno di tale margine di errore. Di contro siamo in grado di sapere fin dall'inizio quanto tempo impiegherà una rete neurale tradizionale ad allenarsi. Non abbiamo la stessa capacità quando si utilizza una rete ODE. Secondo Duvenaud questi sono i trade-off che i ricercatori dovranno bilanciare, quando decideranno quale tecnica usare in futuro.

Attualmente, l'articolo pubblicato offre una prova di concetto per questo tipo di design, "ma non è ancora pronta per la prima serata", utilizzando di nuovo l'allusione musicale Duvenaud. Come ogni tecnica che inizialmente viene proposta nel campo delle AI, deve ancora essere arricchita, sperimentata e migliorata fino a quando non può essere messa in produzione. Ma il metodo ha il potenziale per portare una profonda scossa in questo campo - nello stesso modo in cui ha fatto Ian Goodfellow quando ha pubblicato il suo articolo sulle GAN.

"Molti dei principali progressi nel campo del machine learning sono venuti nell'area delle reti neurali", ricorda Richard Zemel, direttore della ricerca presso il Vector Institute, uno studioso che non è stato coinvolto nel lavoro. "L'articolo probabilmente stimolerà tutta una serie di lavori di follow-up, in particolare nei modelli di serie temporali, che sono fondamentali nelle applicazioni basate su AI per esempio nel campo dell'assistenza sanitaria".

Interessarsi ai modelli teorici sviluppati è un passo fondamentale se si chiede agli algoritmi e ai sistemi di AI di essere trasparenti. Ogni modello è si fatto una teoria epistemologica della realtà che porta con se prospettive, assunti e postulati che ne determina potenzialità ma anche ne tracciano intrinseci limiti. Solo essendo consapevoli di questo e vivendo la fatica di una interdisciplinarità si potrà pensare ad un etica. La novità che le AI stanno portando, come altri momenti di transizione d'epoca in passato, porta con se una ridefinizione dei saperi e una nuova contaminazione delle discipline.

Ancora una volta è vero quello che Dante mette in bocca ad Ulisse: "fatti non foste a viver come bruti..." (Inferno XXVII). Per trovare nuovi mondi abbiamo bisogno di aprire nuove vie o, per rimanere nell'analogia di Duvenaud, di suonare una nuova musica su cui ballare.

#design #algoritmo #Tecnologia #Machinelearning #AI

166 visualizzazioni