Le ultime tendenze in materia di AI, proposte da esperti
Ricevi insight selezionati sulle notizie più importanti e interessanti sull'AI. Iscriviti alla nostra newsletter settimanale Think. Leggi l'Informativa sulla privacy IBM.
Un algoritmo di machine learning è la procedura e la logica matematica attraverso le quali una "macchina", ovvero un sistema di intelligenza artificiale (AI), impara a identificare i modelli nei dati di addestramento e ad applicare tale riconoscimento dei modelli per fare previsioni accurate su nuovi dati. Gli algoritmi di machine learning sono i componenti fondamentali dell'AI e della data science moderne, dai semplici modelli di regressione lineare alle tecniche di deep learning all'avanguardia.
I termini "algoritmo" e "modello" sono spesso usati in modo intercambiabile, ma rappresentano concetti distinti (anche se correlati). Algoritmo è un termine generico che indica un processo graduale, solitamente descritto in linguaggio matematico o pseudocodice, per eseguire una funzione o uno scopo. Nel contesto dell'intelligenza artificiale, un modello AI è qualsiasi programma che riceve dati di input e produce un output o una decisione senza ulteriore intervento umano.
Un algoritmo di machine learning è un insieme definito di passaggi utilizzati per addestrare un modello di machine learning in modo che possa fare previsioni utili nel suo caso d'uso reale. Comprende non solo il modo in cui il modello mappa un punto dati di input al suo output corrispondente, ma anche il processo di ottimizzazione delle previsioni del modello per "adattarle" a un set di dati di addestramento di esempi rilevanti. È un algoritmo che consente a una macchina di apprendere dai dati.
In termini semplici, il risultato dell'applicazione di un algoritmo di machine learning a un set di dati è un modello addestrato. Il termine "addestramento" può essere inteso come un processo iterativo di aggiornamento dei parametri del modello (gli aspetti regolabili della logica matematica che il modello utilizza per fare previsioni o decisioni sui dati di input) in modo da produrre output più utili.
Sebbene esistano algoritmi di machine learning (ML) progettati esplicitamente per addestrare i modelli a eseguire una singola attività specifica, questa è un'eccezione piuttosto che una regola. In generale, ogni algoritmo di ML ha particolari qualità matematiche o pratiche utili per determinati tipi di attività (o determinati tipi o quantità di dati). In molti casi, la stessa tecnica di machine learning può essere utilizzata per addestrare modelli per più attività (anche se simili). Al contrario, ci sono quasi sempre più algoritmi di ML adatti all'addestramento di un modello per una determinata attività.
Il vantaggio principale degli algoritmi di machine learning è che consentono ai modelli di intelligenza artificiale di apprendere implicitamente dall'esperienza. Questo è in contrasto con le tecniche di intelligenza artificiale "classiche" o "basate su regole", che richiedono un data scientist, un esperto o un ingegnere di ML per programmare manualmente ed esplicitamente il processo decisionale del modello. Negli ultimi decenni, i sistemi di machine learning sono emersi come la modalità dominante di intelligenza artificiale e analisi dei dati rispetto all'intelligenza artificiale basata su regole perché, tra le altre ragioni, il machine learning implicito basato sui dati è intrinsecamente più flessibile, scalabile e accessibile.
Detto questo, è essenziale notare che adattare un modello ai suoi dati di addestramento è semplicemente un mezzo per raggiungere un fine. La premessa fondamentale del machine learning è che se ottimizzi le prestazioni di un modello su attività di esempio che assomigliano adeguatamente ai problemi del mondo reale per cui verrà utilizzato, il modello addestrato funzionerà bene anche su nuovi dati che non ha visto durante l'addestramento. L'obiettivo finale del machine learning è la generalizzazione, ovvero la traduzione delle prestazioni sui dati di addestramento a nuovi dati non visti. Un'attenzione miope all'addestramento a sé stante rischia l'overfitting, un fenomeno in cui la conoscenza di un modello è così accuratamente adattata ai modelli contenuti nei suoi dati di addestramento che non può generalizzare, producendo un modello che eccelle nell'addestramento ma fallisce negli scenari del mondo reale.
L'addestramento di un utile modello di machine learning implica quindi non solo la selezione e la configurazione di un tipo appropriato di algoritmo di machine learning, ma anche la corretta cura dei dati di addestramento e una convalida ponderata delle prestazioni post-addestramento.
Ricevi insight selezionati sulle notizie più importanti e interessanti sull'AI. Iscriviti alla nostra newsletter settimanale Think. Leggi l'Informativa sulla privacy IBM.
Gli algoritmi di machine learning possono essere suddivisi in tre categories fondamentali: apprendimento supervisionato, apprendimento non supervisionato o apprendimento per rinforzo. Ciascuno di questi paradigmi di apprendimento si differenzia principalmente in base ai propri obiettivi distinti, ai tipi di attività di addestramento che tali obiettivi comportano e alle tecniche utilizzate per ottimizzare le prestazioni in tali attività.
Sebbene non ci siano algoritmi di ML che non si adattino a nessuno di questi tre paradigmi, ci sono alcuni metodi di apprendimento la cui categorizzazione è relativamente ambigua. Ad esempio, l'apprendimento semi-supervisionato combina l'apprendimento supervisionato e quello non supervisionato; l'apprendimento auto-revisionato manipola i dati di input e progetta le attività di addestramento in modo da consentire l'apprendimento supervisionato con dati non etichettati.
Un modello può essere addestrato con più di un tipo di algoritmo di machine learning. Ad esempio, i modelli linguistici di grandi dimensioni (LLM) in genere vengono sottoposti all'addestramento iniziale ("pre-addestramento") tramite l'apprendimento auto-supervisionato, ma vengono poi messi a punto sia tramite algoritmi di apprendimento supervisionato convenzionali che algoritmi di apprendimento per rinforzo. Allo stesso modo, gli algoritmi di apprendimento d'insieme comportano l'aggregazione di più modelli in un unico modello "finale".
Gli algoritmi di machine learning non sono validi per tutti: ogni algoritmo ha vari iperparametri che devono essere configurati per adattare al meglio un modello allo scenario e al set di dati specifici in cui deve operare. Per fare un'analogia, prendiamo in considerazione la pizza: un "algoritmo" di base per preparare la pizza potrebbe essere definito come versare la salsa di pomodoro su un impasto circolare, mettere la mozzarella sopra la salsa e cuocere il tutto in forno, ma ci sono un numero quasi infinito di modi in cui questo "algoritmo" potrebbe essere configurato specificamente per soddisfare gusti, ingredienti, budget o vincoli specifici.
L'obiettivo formale di qualsiasi algoritmo di machine learning supervisionato è ottimizzare i parametri del modello in modo da ridurre al minimo l'output di una funzione di perdita che misura la divergenza ("perdita") tra l'output previsto di un modello per ogni input e l'output di dati di base per ciascuno di questi input.
Nell'apprendimento supervisionato convenzionale, i dati di base sono forniti da coppie di dati etichettati. Ad esempio, per addestrare un modello che rileva le e-mail spam in genere è necessario che un annotatore umano esamini manualmente un corpus di e-mail di esempio ed etichetti ciascuna come "SPAM" o "NON SPAM". L'obiettivo dell'addestramento del modello è regolare i parametri del modello fino a quando le previsioni di output del modello per una determinata e-mail non si allineano costantemente con il modo in cui l'essere umano ha etichettato quell'e-mail. Poiché questo metodo comporta la supervisione umana diretta di ciò che la macchina apprende, si parla di apprendimento "supervisionato". L'apprendimento supervisionato, a sua volta, è spesso definito semplicemente come machine learning che utilizza dati etichettati.
Ma alcuni casi, in particolare nel moderno deep learning, richiedono set di dati così grandi e punti dati così complessi che ottenere un numero sufficiente di dati di addestramento etichettati diventa proibitivo in termini di tempo e manodopera. L'apprendimento auto-supervisionato, sviluppato in gran parte per affrontare tali scenari, concepisce compiti di addestramento in modo che un'etichetta (o una "pseudo-etichetta") possa essere dedotta da dati non etichettati. Ciò mette a dura prova la definizione convenzionale di apprendimento supervisionato che richiede dati etichettati. Gli algoritmi di apprendimento supervisionato sono quindi definiti in modo migliore e più ampio come metodi di machine learning che implicano certi dati di base (o "segnale di supervisione") per l'ottimizzazione e una certa funzione di perdita che confronta gli output del modello con i dati di base.
Gli algoritmi di apprendimento supervisionato vengono utilizzati per addestrare un modello per attività di classificazione, attività di regressione o entrambe.
Molti algoritmi di apprendimento supervisionato possono essere utilizzati per addestrare i modelli per la regressione o la classificazione. Ad esempio, un modello potrebbe utilizzare la regressione per prevedere la probabilità che un determinato dato appartenga a ciascuna categoria, quindi generare l'output con la probabilità più alta.
L'obiettivo degli algoritmi di apprendimento auto-supervisionato è eseguire l'apprendimento supervisionato senza richiedere dati etichettati attraverso attività di progettazione che utilizzano la struttura stessa dei dati non etichettati per i segnali di supervisione. Le tecniche di apprendimento auto-supervisionato generalmente rientrano in uno dei due sottoinsiemi: auto-previsione o apprendimento contrastivo.
Gli algoritmi di auto-previsione addestrano un modello a prevedere un aspetto di un dato quando vengono fornite altre informazioni su quel punto dati. Yann LeCun ha articolato l'obiettivo di tali metodi in termini semplici: "fai finta che ci sia una parte dell'input che non conosci e prevedilo". 1 Ad esempio:
I modelli addestrati utilizzando l'auto-previsione sono solitamente generativi, piuttosto che discriminanti. Esempi importanti di modelli di machine learning addestrati che hanno utilizzato algoritmi di auto-previsione includono autoencoder e modelli linguistici di grandi dimensioni (LLM):
Gli algoritmi di apprendimento contrastivo forniscono ai modelli più campioni di dati e incaricano loro di prevedere quanto siano diversi (o simili). Gli abbinamenti di punti dati vengono spesso creati tramite l'augmentation dei dati: trasformazione o perturbazione di dati non etichettati per creare nuove istanze o visualizzazioni aumentate. Ad esempio, le tecniche di augmentation comuni per i dati di immagini includono rotazione, ritaglio casuale, capovolgimento, rumore, filtraggio e colorazioni.
L'apprendimento contrastivo è utilizzato principalmente nell'addestramento di modelli di computer vision: ad esempio, può aiutare un modello a imparare a riconoscere lo stesso oggetto se visto da diverse angolazioni. È anche essenziale nell'addestramento dell'AI multimodale: ad esempio, può aiutare un modello a imparare a "tradurre" gli embedding vettoriali da una modalità di dati (come testo) a un'altra (come voce o immagini).
Il machine learning non supervisionato viene utilizzato per insegnare ai modelli a scoprire modelli intrinseci, correlazioni e strutture in dati non etichettati. A differenza dell'apprendimento supervisionato, che prevede l'esistenza di risposte "corrette" che il modello dovrebbe imparare a produrre, o dell'apprendimento con rinforzo, che prevede uno spettro di azioni "positive" e "negative" che il modello potrebbe intraprendere, l'apprendimento non supervisionato è più utile negli scenari in cui l'output ideale non è noto in anticipo.
Questi obiettivi non sono regolati da alcuna verità di base predefinita o da una struttura di ricompensa, quindi sono "non supervisionati". Gli algoritmi di apprendimento non supervisionati non comportano quindi funzioni di perdita, poiché i loro compiti non comportano un output ideale noto da misurare e da ottimizzare. Il successo del processo di apprendimento è governato principalmente dalla regolazione manuale degli iperparametri, piuttosto che da algoritmi che ottimizzano i parametri interni del modello.
Esistono tre sottoinsiemi fondamentali di algoritmi di apprendimento non supervisionato: algoritmi di clustering, algoritmi di associazione e algoritmi di riduzione della dimensionalità.
Gli algoritmi di clustering suddividono i punti dati senza etichetta in "cluster" o raggruppamenti, in base alla loro prossimità o somiglianza tra loro, per attività come la segmentazione del mercato. Possono anche essere utilizzati come modelli predittivi per il rilevamento delle anomalie, apprendendo i cluster in cui tutti i punti dati devono essere ordinati e identificando quando un dato anomalo non si adatta perfettamente a nessuno di questi cluster.
Altri algoritmi di associazione degni di nota includono CHARM (abbreviazione di Closed Association Rule Mining: gli autori dell'articolo CHARM notano che "la H è gratuita")2 e CARMA (Continuous Association Rule Mining Algorithm).3
Gli algoritmi di riduzione della dimensionalità sono progettati per acquisire un punto dati e fornire una rappresentazione più efficiente di quel punto dati. Più specificamente, sono progettati per apprendere una mappatura di punti dati ad alta dimensione in uno spazio in cui possono essere descritti con precisione utilizzando meno caratteristiche: in altre parole, per ridurre il numero di dimensioni necessarie per rappresentare i dati in modo efficace.
La riduzione della dimensionalità viene spesso eseguita come fase di pre-elaborazione dei dati, contribuendo a ridurre la complessità e il rumore nei dati al fine di migliorare le previsioni o diminuire le richieste computazionali. È anche un passaggio essenziale nella modellazione dello spazio latente di un set di dati: una rappresentazione compressa (di dimensioni inferiori) dei dati che conserva solo il sottoinsieme di caratteristiche più rilevanti per l'attività da svolgere. Altri casi d'uso comuni per la riduzione della dimensionalità includono la compressione e la visualizzazione dei dati.
L'apprendimento semi-supervisionato, che viene generalmente utilizzato per gli stessi casi d'uso dei metodi di apprendimento supervisionato, si distingue per le tecniche di incorporazione dei dati non etichettati nella formazione dei modelli insieme a un sottoinsieme di dati etichettati. È particolarmente utile in situazioni in cui ottenere un numero sufficiente di dati etichettati è proibitivo o costoso, ma i dati rilevanti non etichettati sono relativamente facili da acquisire.
Gli esempi non etichettati utilizzati nell'apprendimento semi-supervisionato devono essere pertinenti al compito per cui il modello viene addestrato. Ad esempio, quando si addestra un classificatore di immagini per distinguere tra immagini di cani e gatti, l'inclusione di immagini non etichettate di cani e gatti aiuterà l'addestramento, ma immagini di cavalli e motociclette non aiuteranno. Questa condizione fornisce una serie di ipotesi su come i punti dati si relazionano tra loro che forniscono la logica formale dei metodi semi-supervisionati.
Gli algoritmi di apprendimento semi-supervisionato sono generalmente classificati come trasduttivi, induttivi o intrinsecamente auto-supervisionati.
Gli algoritmi di apprendimento per rinforzo (RL) sono adatti per attività in cui non esiste un singolo output (o azione) "corretto", ma ci sono output "positivi". Sono utilizzati principalmente nella robotica, nei videogiochi, nei modelli di ragionamento e in altri casi d'uso in cui lo spazio delle possibili soluzioni e approcci è particolarmente ampio, aperto o difficile da definire. Nel gergo di RL, l'entità che viene addestrata viene solitamente definita "agente".
Piuttosto che un segnale di supervisione e compiti definiti in modo esplicito, comportano un segnale di ricompensa che consente ai modelli di apprendere in modo olistico attraverso tentativi ed errori. Questo segnale di ricompensa può provenire da una funzione di ricompensa, da un modello di ricompensa addestrato separatamente o da un sistema di ricompensa basato su regole.
Gli algoritmi RL ottimizzano una politica.Matematicamente parlando, una politica (π) è una funzione che accetta uno o più stati (s) come input e restituisce un'azione (a): π(s)→a. L'obiettivo di un algoritmo RL è conoscere la politica che intraprende le azioni che consentiranno di ottenere la massima ricompensa per un determinato stato.
Gli algoritmi RL possono essere basati sul valore o basati sulle politiche. Negli algoritmi basati sulle politiche, un modello apprende direttamente una politica ottimale. Negli algoritmi basati sul valore, l'agente apprende una funzione di valore che calcola un punteggio indicante quanto è "positivo" ogni stato, in genere in base alla potenziale ricompensa per le azioni che possono essere intraprese da quello stato, quindi sceglie le azioni che portano a stati di valore più elevato. Gli approcci ibridi apprendono una funzione di valore che, a sua volta, viene utilizzata per ottimizzare una politica.
Gli algoritmi di rinforzo degni di nota includono:
L'apprendimento d'insieme si riferisce a tecniche che combinano più algoritmi di machine learning, spesso definiti "apprendisti" in questo contesto, per ottenere prestazioni più accurate o più affidabili di quelle che sarebbero possibili utilizzando singolarmente uno qualsiasi dei suoi algoritmi costituenti.
Gli algoritmi di apprendimento d'insieme utilizzano tipicamente tecniche di boosting, stacking o bagging.
Gli algoritmi di potenziamento creano modelli in sequenza, in cui ogni nuovo modello successivo viene addestrato per correggere gli errori del modello precedente. La progressione degli studenti inizialmente "deboli" alla fine culmina in un singolo studente "forte" altamente accurato.
Gli algoritmi di bagging, noti anche come aggregazione bootstrap, addestrano più modelli in parallelo su diversi sottoinsiemi campionati casualmente del set di dati di addestramento, quindi combinano le loro previsioni attraverso il voto (nei problemi di classificazione) o la media (nei problemi di regressione). Questo approccio è molto efficace nel ridurre la varianza e prevenire il sovradattamento.
L'algoritmo random forest, ad esempio, utilizza il bagging per costruire insiemi di modelli di alberi decisionali non correlati.
Gli algoritmi di stacking combinano le previsioni di più studenti di base, ognuno dei quali spesso specializzato in un particolare tipo di previsione, quindi addestra un "meta-modello" finale sugli output di questi modelli di base per imparare come combinare al meglio le loro previsioni per un output finale più accurato e robusto.
Nella tecnica correlata della distillazione della conoscenza, il modello finale viene addestrato non solo sulle previsioni dell'output finale ("hard targets") degli studenti di base, ma anche sui loro output intermedi ("logits" o "soft targets"), nel tentativo di replicare i loro "processi di pensiero".
Il deep learning è un sottoinsieme del machine learning definito dall'uso di reti neurali artificiali multistrato, in genere addestrate tramite l'apprendimento supervisionato su dati etichettati o (come spesso accade per i modelli di AI generativa in particolare) attraverso l'apprendimento auto-supervisionato su dati non etichettati. Nell'apprendimento per rinforzo profondo, una rete neurale profonda serve come politica di un agente RL. Il deep learning ha favorito la maggior parte dei progressi all'avanguardia nell'intelligenza artificiale dall'inizio degli anni 2010. Tra i suoi punti di forza più importanti c'è la capacità di automatizzare il processo di ingegneria delle caratteristiche, che è spesso manuale nel machine learning tradizionale.
A differenza degli algoritmi di machine learning "tradizionali" definiti in modo esplicito, i modelli di deep learning comprendono molti strati interconnessi di "neuroni" (o "nodi") che eseguono ciascuno un'operazione matematica (chiamata "funzione di attivazione"). L'input per la funzione di attivazione di ogni neurone è una combinazione ponderata degli output delle funzioni di attivazione di ciascuno dei neuroni dello strato precedente. I neuroni nel livello finale calcolano l'output finale del modello. Fondamentalmente, le funzioni di attivazione eseguite in ciascun nodo non sono lineari e consentono alle reti neurali di modellare schemi e dipendenze complessi. Sebbene le reti neurali nell'intelligenza artificiale moderna siano più comunemente associate al deep learning all'avanguardia, le reti neurali "non profonde" come le macchine Boltzmann con restrizioni sono in uso da decenni.
È la struttura distribuita degli algoritmi di deep learning a garantire la loro incredibile potenza e versatilità. Immagina di addestrare i dati come punti dati sparsi su un grafico bidimensionale e l'obiettivo dell'addestramento dei modelli sia trovare una linea che attraversi ciascuno di quei punti dati. Mentre i tradizionali algoritmi di machine learning tentano questa impresa con un'unica funzione matematica che produce una singola linea (o curva), gli algoritmi di deep learning possono mettere insieme un numero arbitrario di linee più piccole e regolabili individualmente per formare la forma desiderata. Le reti neurali sono approssimatori universali: è stato dimostrato teoricamente che per qualsiasi funzione esiste una disposizione di reti neurali in grado di riprodurla.6
Consideriamo gli autoencoder: dal punto di vista dell'architettura, un autoencoder è un modello di encoder-decoder: la sua rete di codificatori presenta caratteristiche progressivamente più piccole, mentre la rete di decodificatori presenta caratteristiche progressivamente più grandi. Ma un autoencoder è solo uno dei tanti modelli di encoder-decoder: ad esempio, i modelli di segmentazione delle immagini hanno un'architettura molto simile, in cui livelli convoluzionali progressivi più piccoli eseguono il downsampling dei dati per isolare e segmentare le caratteristiche principale, seguiti da livelli progressivamente più grandi che ricampionano i dati (segmentati) riportandoli alle dimensioni originali.
Ciò che rende un autoencoder un autoencoder non è (solo) la sua architettura, ma l'algoritmo utilizzato per addestrarlo: un autoencoder ha il compito di ricostruire l'input originale ed è ottimizzato attraverso l'addestramento del modello per minimizzare una funzione che misura la perdita di ricostruzione (spesso modificata da ulteriori termini di regolarizzazione). Un modello che ha un'architettura identica ma è addestrato per eseguire un'attività diversa e ottimizzato per un obiettivo diverso non è un autoencoder.
Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e con una minima quantità di dati.
Metti l'AI al servizio della tua azienda grazie all'esperienza leader di settore e alla gamma di soluzioni di IBM nel campo dell'AI.
Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.
Tutti i link sono esterni a IBM.com.
1. “Energy-Based Self-Supervised Learning,” Yann LeCun (accessed via UCLA), 19 novembre 2019
2. “CHARM: An Efficient Algorithm for Closed Itemset Mining,” Proceedings of the 2002 SIAM International Conference on Data Mining
3. “Online Association Rule Mining,” Proceedings of the 1999 ACM SIGMOD International Conference on Management of Data, 1 giugno 1999
4. “Semi-Supervised Learning with Ladder Networks,” arXiv, 24 novembre 2015
5. “Kolmogorov’s Mapping Neural Network Existence Theorem,” Proceedings of the IEEE First International Conference on Neural Networks (accessed through University of Waterloo), 1987
6. “Multilayer Feedforward Networks with a Non-Polynomial Activation Function Can Approximate Any Function,” Center for Research on Information Systems (New York University), marzo 1992