La frontiera

Quick learning per l’IA: quali sono le tre tecniche più promettenti

Troppi dati (e troppi soldi) per l’addestramento dell’IA che, al contrario degli esseri umani, ha bisogno di enormi quantità di esempi per riconoscere una categoria di oggetti. Come funziona il quick learning, potenzialità e limiti

08 Feb 2022
Danilo Benedetti

Security Solutions Architect

Il quick learning, o l’apprendimento veloce, è una delle priorità per lo sviluppo dell’Intelligenza Artificiale: attualmente, l’addestramento delle reti necessita infatti di enormi quantità di esempi, con costi molto elevati. One-shot learning, transfer learning e apprendimento causale promettono di risolvere il problema. Il 2022 sarà un anno interessante per verificarne la reale usabilità e validità.

Un glossario per l’intelligenza artificiale: da Algoritmo a Unsupervised Learning

Quick learning per l’IA: come funziona oggi il training

Nonostante il costo del training dei sistemi AI sia, in media, sceso piuttosto velocemente, dimezzando ogni 18 mesi[1], i costi della ricerca avanzata continuano a crescere e sono sempre più appannaggio di aziende e governi con adeguata capacità finanziaria.

WHITEPAPER
IoT Platform: trasforma le promesse del 4.0 in realtà
IoT
Manifatturiero/Produzione

Ad esempio, si stima che per l’addestramento della rete Megatron-Turing Natural Language Generation (MT-NLG), contenente 530 miliardi di parametri, Microsoft abbia investito milioni di dollari: questi costi rendono lo sviluppo di progetti innovativi in queste aree impraticabili per la maggior parte dei centri di ricerca e per molti governi.

Costi così elevati sono principalmente dovuti alla necessità di utilizzare enormi quantitativi di esempi durante il training. Ad esempio, per addestrare un modello di IA a riconoscere un cavallo, è necessario mostrargli migliaia di immagini di cavalli.

Questa necessità è ciò che rende la tecnologia computazionalmente costosa e molto diversa dall’apprendimento umano: noi possiamo imparare a riconoscere una categoria di oggetti anche se ci vengono presentati pochissimi esempi, al limite uno solo. Non solo, in molti casi possiamo essere in grado di riconoscere oggetti che non abbiamo mai visto, anche solo avendone ascoltato o letto una descrizione a parole.

La necessità di un gran numero di esempi è una delle ragioni per cui l’intelligenza artificiale è un campo contiguo a quello dei big data: grandi moli di dati sono sia il terreno ideale di utilizzo dell’IA – per affiancare o sostituire il lavoro umano, ad esempio, di catalogazione delle informazioni in vari ambiti – sia lo strumento ideale per l’addestramento di questi stessi sistemi.

Questo approccio però, oltre ad avere dei limiti in termini di costo, ha anche il difetto di limitare l’utilizzo delle tecniche di intelligenza artificiale, escludendo tutti quei contesti che non dispongono di grandi volumi per il training autonomo dei sistemi di IA. Si tratta dell’ambito dei cosiddetti “small data”.

Small data possono essere utilizzati per indirizzare le scelte delle aziende o organizzazioni mediante l’utilizzo dei dati a loro disposizione: dai dati di vendita, alle visite al sito Web, ai report di magazzino, alle previsioni meteorologiche, agli avvisi di utilizzo e ogni altra informazione di facile reperimento.

Quick learning per l’IA: One shot learning

L’one shot learning, o anche LO-shot, è un insieme di tecniche il cui scopo è rendere una intelligenza artificiale in grado di “apprendere” una nuova categoria (specialmente di immagini) attraverso pochissimi esempi, al limite uno solo.

Mentre la maggioranza delle tecniche si focalizza sul “riutilizzo” di elementi del sistema già “addestrati” su immagini simili (in questo senso, il transfer learning visto più sotto rientra in questa categoria), una nuova tecnica è stata proposta da un gruppo di ricercatori dell’università di Waterloo, in Canada[2]. I ricercatori l’hanno dimostrata usando il database MNIST, che contiene 60.000 immagini di cifre da 0 a 9 scritte a mano.

L’idea è di introdurre una tecnica per “distillare” un numero molto basso di immagini (poche unità) da database di training molto grandi, per poi addestrare una rete neurale con le immagini distillate, ottenendo gli stessi risultati, in termini di affidabilità del riconoscimento, che si sarebbero ottenuti procedendo con il training “normale”, effettuato sull’intero insieme di dati.

Handwritten digits between 0 and 9 sampled from the MNIST dataset. Quick learning

Figura 1 – Esempi di cifre da 0 a 9 scritte a mano provenienti dal database MNIST

Le immagini “distillate” non esistono nel database originale, ma sono il prodotto di una computazione che prova a rappresentarne le caratteristiche salienti.

La figura seguente mostra un esempio di immagini “distillate”. Le due figure provengono da un articolo precedente del MIT[3].

quick learning

Figura 2 – Immagini “distillate” (Tongzhou W., Torralba A. et al. cit.)

L’approccio proposto dai ricercatori dell’università di Waterloo prevede di utilizzare etichette “soft”: le (poche) immagini usate nel training non rappresentano una singola cifra, ma un insieme di più cifre con diversi livelli di probabilità, ad esempio una immagine può rappresentare al 60% la cifra 3, al 30% la cifra 8 e al 10% la cifra 0.

Il potenziale rivoluzionario di questo approccio deriva dal fatto che, con le etichette “soft”, è possibile addestrare una rete neurale a riconoscere M differenti classi di oggetti utilizzando un numero N di esempi inferiore al numero di classi (N < M). Per questo motivo gli autori lo hanno definito “less than one”- shot learning.

Purtroppo, un problema pratico rimane aperto: non è chiaro come sia possibile generare automaticamente gli esempi, e nemmeno la complessità computazionale di tale azione. Il rischio è che il sistema in grado di distillare il numero minimo di esempi sia altrettanto complesso dell’esecuzione del training sulla base di dati non “distillata”, azzerando quindi il vantaggio computazionale.

Come funziona il transfer learning

Il transfer learning è un metodo di machine learning in cui un modello sviluppato per un’attività viene riutilizzato come punto di partenza per addestrare un modello per una seconda attività.

È un approccio popolare nel deep learning, dove modelli pre-addestrati vengono utilizzati come punto di partenza per lo sviluppo di modelli più specifici di visione artificiale e di elaborazione del linguaggio naturale.

Conosciuto anche come “fine-tuning“, il transfer learning è utile in quei casi in cui si dispone di pochi esempi specifici ma esistono dati abbondanti su un problema correlato.

In questo caso è possibile eseguire prima il training di un modello utilizzando un set di big data, per poi procedere ad una successiva sessione di training utilizzando il set di dati più piccolo, correlato al problema specifico.

Ad esempio, addestrando un classificatore sulle immagini del database ImageNet, alcuni ricercatori in India hanno utilizzato il transfer training per addestrare il modello a localizzare i reni all’interno di immagini ecografiche, utilizzando solo 45 esempi per il secondo addestramento[4].

Quick learning per l’IA: causal machine learning

La maggior parte dei progetti basati su Machine Learning (ML) si concentra sulla previsione dei risultati, estrapolata da un gran numero di esempi presentati durante il training, piuttosto che sulla individuazione delle relazioni causa-effetto.

In pratica, le tecniche di machine learning eccellono nell’identificare correlazioni tra i dati, ma non sono altrettanto valide nell’identificare le relazioni di causalità.

Le soluzioni basate sull’apprendimento automatico soffrono di diversi problemi, ad esempio possono riprodurre il bias presente nei dati di training, funzionano come “black box”, ovvero rendono difficile capire il “perché” di un certo risultato e sono limitati nella loro capacità di generalizzare i risultati ottenuti su uno specifico task verso compiti simili.

Inoltre, gli attuali approcci di apprendimento automatico presentano una certa tendenza all’overfitting dei dati, finendo per apprendere perfettamente il passato (i dati di training), invece di stabilire/scoprire le relazioni causa-effetto fra dati di ingresso e risultati che potrebbero risultare più stabili nel tempo.

Un modo semplice per testare la presenza di relazioni causali fra variabili è confrontare l’effetto della variabile (ad esempio, un nuovo medicinale, una campagna pubblicitaria) fra due gruppi, uno esposto alla variabile e l’altro no (rispettivamente: gruppo di trattamento e gruppo di controllo).

Confrontando i risultati tra i due gruppi, è possibile isolare l’effetto dell’intervento. Negli studi clinici questo metodo è noto come uno studio controllato randomizzato, mentre nel marketing è noto come test A/B.

Questo tipo di studi, tuttavia, richiede la partecipazione di grandi gruppi di individui per limitare il rischio che i risultati siano distorti o influenzati da caratteristiche casuali come età, sesso, stato di salute o livello di istruzione. Questo rende tali prove estremamente costose in termini economici e dispendiose in termini di tempo. Inoltre, questo tipo di studi possono testare l’effetto di uno o al massimo di pochi interventi raggruppati alla volta.

È qui che entra in gioco l’IA causale per il quick learning. Grazie ad essa, è possibile disporre di nuove opportunità per testare la causalità in individui e gruppi in modo più rapido ed efficiente, unita alla capacità di indagare la complessità sottostante. Con l’IA causale i ricercatori e i progettisti possono simulare un intervento e dedurre la causalità basandosi su dati già disponibili, e sfruttando l’IA per “simulare” i gruppi di controllo o di trattamento.

Esistono due approcci all’IA causale che si basano su principi noti da tempo: il framework dei risultati potenziali (potential outcomes framework) e i grafi causali (causal graph model).

Entrambi gli approcci consentono di testare gli effetti di un potenziale intervento utilizzando dati del mondo reale. L’IA viene usata per simulare scenari alternativi “fittizi”, contribuendo così a rivelare i modelli causali in grandi set di dati. Il Framework dei risultati potenziali permette di generare un “gruppo di controllo” fittizio partendo dai dati disponibili, e quindi confrontare con esso i risultati ottenuti dal gruppo di trattamento, dimezzando però i costi[5].

I grafi causali, invece, possono essere utilizzati come strumenti esplorativi per mappare tutti i diversi percorsi causali verso un risultato di interesse e mostrare come le diverse variabili si relazionano tra loro[6].

Le tecniche citate sembrano identificare un percorso affinché anche le piccole aziende e le organizzazioni prive di ampi mezzi finanziari possano comunque beneficiare dei risultati ottenuti su sistemi di dimensioni più grandi.

New call-to-action

___________________________________

Note

  1. Wiggers, K, “OpenAI begins publicly tracking AI model efficiency”, VentureBeats, Maggio 2020. Nello studio si fa riferimento al costo medio di training di un classificatore di immagini usando il database di immagini ImageNet.
  2. Sucholutsky, I. and Schonlau, M. 2021. ‘Less Than One’-Shot Learning: Learning N Classes From M < N Samples. Proceedings of the AAAI Conference on Artificial Intelligence. 35, 11 (May 2021)
  3. Tongzhou W., Torralba A. et al.: “Dataset Distillation”, ArXiv, Feb 2020
  4. Hariharan R. et al.: “Understanding the Mechanisms of Deep Transfer Learning for Medical Images”, arXiv:1704.06040v1, Apr 2017
  5. Koch, B. et al., “Deep Learning of Potential Outcomes”, Deep Learning of Potential Outcomes, Ottobre 2021
  6. Sema K. S., Huang, V., Charles, G.: “The Case for Causal AI”, Stanford Social Innovation Revue, Edisione estate 2020
WHITEPAPER
Processi più snelli, più fluidi, più efficienti: i vantaggi dell’Industria 4.0
CIO
Cloud
@RIPRODUZIONE RISERVATA

Articolo 1 di 4