Cosa sono gli algoritmi di machine learning?

Autore

Dave Bergmann

Senior Staff Writer, AI Models

IBM Think

Cosa sono gli algoritmi di machine learning?

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.

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.

Grazie per aver effettuato l'iscrizione!

L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.

Tipi di algoritmi di machine learning

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à.

  • Gli algoritmi di apprendimento supervisionato addestrano un modello per prevedere l'output "corretto" per un determinato input: in altre parole, per imparare a relazionare variabili indipendenti (le caratteristiche dei dati di input) e variabili dipendenti (l'output o "target"). Sono usati per addestrare modelli per attività che richiedono un certo grado di precisione rispetto ad alcune "verità fondamentali" note, come la classificazione o la regressione. Questa verità fondamentale in genere (ma non sempre) si presenta sotto forma di dati etichettati, ovvero dati che sono stati annotati per fornire un contesto al modello, ad esempio un set di dati composto da coppie di etichette [input, output] abbinamenti etichettati.

  • Gli algoritmi di apprendimento non supervisionato addestrano un modello a distinguere modelli intrinseci, dipendenze e correlazioni in set di dati non etichettati. A differenza dell'apprendimento supervisionato, l'apprendimento non supervisionato non presuppone l'esistenza di alcuna verità fondamentale esterna con cui confrontare i suoi output.

  • Gli algoritmi di apprendimento per rinforzo (RL) addestrano un modello, attraverso tentativi ed errori, a valutare il suo ambiente e intraprendere un'azione che otterrà la massima ricompensa. L'apprendimento per rinforzo è adatto negli scenari che non implicano l'esistenza di alcuna verità fondamentale, ma comportano le azioni "buone" (da premiare) e le azioni "cattive" (da penalizzare). Mentre l'obiettivo degli algoritmi di apprendimento supervisionato è quello di ottimizzare i parametri in modo da ridurre al minimo l'errore, l'obiettivo degli algoritmi di apprendimento per rinforzo è quello di ottimizzare i parametri del modello in modo da massimizzare la ricompensa.

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.

Mixture of Experts | 28 agosto, episodio 70

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Algoritmi di apprendimento supervisionato

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.

  • La classificazione comporta stime discrete, ad esempio la categoria specifica a cui appartiene un punto dati. I compiti di classificazione sono binari, "sì" o "no", "approva" o "rifiuta", "spam" o "non spam", o multiclasse. Alcuni algoritmi di classificazione sono adatti solo alla classificazione binaria, ma qualsiasi classificatore multiclasse può eseguire una classificazione binaria.

  •  La regressione viene utilizzata per prevedere valori continui, come quantità, prezzi, durata o temperatura. Vengono utilizzati nell'analisi delle serie temporali, nelle previsioni, nella determinazione dei prezzi e nella previsione delle probabilità, tra molti altri casi d'uso.

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.

Algoritmi di regressione comuni

  • La regressione lineare è tra gli algoritmi di machine learning di base e ampiamente utilizzati. Gli algoritmi di regressione lineare calcolano un output (variabile dipendente) come combinazione ponderata di una o più variabili di input (variabili indipendenti). Imparando la ponderazione ottimale per ogni input, l'algoritmo produce la "linea di miglior adattamento" per i punti dati osservati durante la formazione. Esiste un'ampia gamma di varianti ed estensioni della regressione lineare che utilizzano una logica simile per modellare relazioni matematicamente più varie tra variabili dipendenti e indipendenti, come la regressione polinomiale (che modella relazioni curve non lineari) o la regressione quantilica (che modella le relazioni in punti specifici della distribuzione di un set di dati).

  • Gli algoritmi dell'albero decisionale raggiungono le previsioni finali sull'output attraverso una sequenza ramificata di decisioni if-then-else che possono essere visualizzate come un diagramma ad albero. Possono essere utilizzati sia per la regressione che per la classificazione. A differenza della maggior parte degli algoritmi di apprendimento supervisionato, l'obiettivo dell'algoritmo non è ottimizzare l'output minimizzando una singola funzione di perdita globale, ma piuttosto ottimizzare il potere predittivo di ogni singolo nodo dell'albero.

  • I modelli dello spazio di stato (SSM) modellano sistemi dinamici e dati sequenziali attraverso due equazioni interconnesse: una, l'equazione di stato, descrive le dinamiche interne ("stato") di un sistema che non sono direttamente osservabili; l'altra, l'equazione di output, descrive come queste dinamiche interne si relazionano ai risultati osservabili, cioè agli output del sistema. Sono utilizzati in diversi campi, dall'ingegneria elettrica alle previsioni finanziarie all'elaborazione del linguaggio naturale (NLP).

Algoritmi di classificazione comuni

  • I classificatori Naïve Bayes operano secondo la logica del teorema di Bayes, che è essenzialmente una formulazione matematica dell'idea che le informazioni provenienti da eventi successivi (come un esito) possano essere utilizzate per aggiornare la comprensione di eventi precedenti (come gli input). In altre parole, il modello apprende l'importanza relativa di una determinata variabile di input in base alla sua forte correlazione con risultati specifici. Il suo presupposto eponimo " naive", ovvero ingenuo, è che tutte le caratteristiche che contribuiscono a una classificazione siano indipendenti l'una dall'altra. Questa semplificazione rende l'algoritmo veloce ed efficace per attività semplici come il rilevamento dello spam.

  • La regressione logistica adatta l'algoritmo di regressione lineare per risolvere problemi di classificazione binaria inserendo la somma ponderata delle caratteristiche di input in una funzione sigmoide che comprime qualsiasi input in un valore compreso tra 0 e 1. Il valore risultante può essere interpretato come la probabilità che si verifichi un determinato evento (in questo caso, una classificazione specifica).

  • Gli algoritmi K-nearest neighbor (KNN) classificano i punti dati in base alla loro vicinanza nello spazio di embedding vettoriale ad altri punti dati già classificati, cioè etichettati, partendo dal presupposto che punti dati simili possano essere trovati vicini l'uno all'altro. La k si riferisce al numero di punti dati adiacenti presi in considerazione: ad esempio, in un algoritmo KNN in cui k = 5, l'input verrà confrontato con i 5 punti dati vicini più vicini e classificato in base alle categorie rappresentate maggiormente tra questi 5 punti dati adiacenti.

  • Le macchine a vettori di supporto (SVM) sono modelli potenti che apparentemente eseguono la classificazione binaria, ma possono anche essere adattati per problemi di classificazione multiclasse. L'obiettivo di un algoritmo SVM non è imparare direttamente a classificare i punti dati: il suo obiettivo è invece apprendere il confine decisionale ottimale per separare due categorie di punti dati etichettati per poi classificare nuovi punti dati in base al lato del confine in cui cadono. L'algoritmo SVM definisce questo confine come l'iperpiano che massimizza il margine (o divario) tra i punti dati di classi opposte, un concetto simile all'ipotesi di bassa densità nell'apprendimento semi-supervisionato. Logicamente, gli unici punti dati che possono supportare il calcolo di quell'iperpiano sono i punti dati di ogni classe più vicini al confine. Gli embedding vettoriali di quei punti dati adiacenti al confine sono quindi chiamati vettori di supporto.

Algoritmi di apprendimento auto-supervisionato

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.

Auto-previsione

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:

  • Prevedi qualsiasi parte dell'input da qualsiasi altra parte
  • Prevedi il futuro partendo dal passato
  • Prevedi la parte mascherata da quella visibile
  • Prevedi qualsiasi parte occlusa tra tutte le parti disponibili

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 autoencoder hanno il compito di ricostruire l'input originale dopo averlo compresso solo nelle sue variabili latenti. L'input originale funge da ground truth.

  • Gli LLM autoregressivi, i modelli di generazione di testo diventati famosi dopo il lancio di ChatGPT, hanno il compito di prevedere in modo iterativo il token successivo in una sequenza, dati solo i token precedenti in quella sequenza. Per ogni previsione, il token successivo effettivo nella sequenza funge da verità fondamentale.

Apprendimento contrastivo

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).

Algoritmi di apprendimento non supervisionati

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à.

Algoritmi di clustering

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.

  • Gli algoritmi di clustering K-means partizionano i dati in cluster k e i dati vengono assegnati al cluster il cui centro (centroide) è più vicino. Il processo inizia con un posizionamento iniziale di centroidi k , che è spesso randomizzato (ma può anche essere determinato da regole specifiche). Ogni punto dati viene assegnato al cluster del centroide più vicino. Ogni centroide viene quindi riposizionato nella posizione che rappresenta la media di tutti i punti dati che gli sono stati appena assegnati; i punti dati vengono nuovamente raggruppati in base al centroide più vicino e la posizione di ciascun centroide viene nuovamente regolata. Questo processo si ripete iterativamente finché la posizione del centroide di ciascun cluster non si è stabilizzata.
  • I modelli a miscela gaussiana (GMM) sono un algoritmo di clustering "morbido". Un GMM presuppone che un set di dati sia una combinazione di più distribuzioni gaussiane, ovvero le classiche distribuzioni "normali" o "a campana", e prevede la probabilità che un dato punto dati appartenga a ciascuno di questi cluster distribuiti normalmente. L'algoritmo GMM è progettato per apprendere i parametri per ogni distribuzione gaussiana, in particolare la media, la varianza e il peso di ciascuna distribuzione, che meglio si adattano al set di dati di addestramento.
  • DBSCAN (Density-Based Spatial Clustering Applications with Noise) crea cluster da punti dati strettamente vicini. Anziché raggruppare tutti i punti dati in cluster, contrassegna i punti dati situati da soli in regioni a bassa densità come dati anomali. Identifica le aree come sufficientemente dense da appartenere a un cluster in base al fatto che un certo numero di punti dati adiacenti si trovi entro un raggio specificato. A differenza del K-means, DBSCAN può trovare cluster di forma arbitraria e non richiede che il numero di cluster sia specificato in anticipo.

Algoritmi di associazione

  • Gli algoritmi di associazione identificano le correlazioni tra le variabili in set di dati di grandi dimensioni. Vengono utilizzati in modo preponderante in attività come l'analisi del mercato o i motori di raccomandazione dei prodotti: per esempio, un servizio di e-commerce potrebbe utilizzare algoritmi di associazione per identificare quali articoli vengono acquistati frequentemente in combinazione l'uno con l'altro e utilizzare queste informazioni per promuovere dinamicamente gli articoli correlati nel proprio inventario.

  • L'algoritmo a priori è un metodo di associazione classico. L'algoritmo effettua più passaggi sul set di dati utilizzando un approccio " bottom-up ", esplorando la frequenza di combinazioni progressivamente più grandi di singoli elementi e combinazioni di potatura che appaiono raramente. Il principio a priori sostiene che se un raggruppamento più ampio di elementi è ritenuto frequente, anche qualsiasi sottoinsieme di quel raggruppamento deve essere frequente; Al contrario, se un raggruppamento più piccolo di elementi è considerato poco frequente, anche qualsiasi superset che include quel raggruppamento più piccolo deve essere poco frequente. Pur essendo semplice e altamente adattabile, l'algoritmo apriori può diventare intensivo di memoria e computazionalmente costoso.

  • Il conteggio dinamico degli insiemi (DIC) è un metodo di associazione più efficiente dal punto di vista del calcolo, sebbene operi attraverso una logica simile a quella del classico algoritmo a priori. Anziché esplorare l'intero set di dati ad ogni passaggio, inizia solo con un sottoinsieme del database e poi aggiunge periodicamente nuovi elementi, ampliando "dinamicamente" il suo focus.

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

Algoritmi di riduzione della dimensionalità

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'analisi delle componenti principali (PCA) semplifica i set di dati complessi riassumendo le variabili originali dei dati, molte delle quali sono spesso correlate tra loro e quindi in qualche modo ridondanti, come un sottoinsieme più piccolo di variabili non correlate, ognuna delle quali è una combinazione lineare di variabili originali. Più specificamente, l'algoritmo dà la priorità ai componenti principali dei dati: le combinazioni lineari di variabili che hanno la maggiore varianza rispetto ad altre combinazioni lineari.

  • Il t-distributed Stochastic Neighbor Embedding (t-SNE) è un algoritmo di riduzione della dimensionalità non lineare, comunemente utilizzato per la visualizzazione dei dati. Viene utilizzato quasi esclusivamente per rappresentare dati in 2 o 3 dimensioni, con l'obiettivo principale di garantire che i punti dati vicini l'uno all'altro nello spazio ad alta dimensione rimangano vicini l'uno all'altro nel nuovo spazio di dimensione inferiore.

  • Gli autoencoder sono un tipo di architettura di rete neurale encoder-decoder addestrata attraverso quello che potrebbe essere più comunemente considerato un algoritmo di apprendimento auto-supervisionato (in quanto il suo obiettivo è ridurre al minimo una funzione di perdita), ma eseguono comunque la riduzione della dimensionalità dei dati non etichettati, in questo caso modellando il loro spazio latente. L'encoder è composto da una serie di livelli progressivamente più piccoli, che costringono i dati di input a passare attraverso un "collo di bottiglia" che "comprime" i dati in un numero sempre minore di dimensioni prima che raggiungano il decoder. Il decoder, che comprende una serie di strati progressivamente più grandi, ha quindi il compito di ricostruire i dati originali utilizzando questa rappresentazione compressa, con l'obiettivo di ridurre al minimo la perdita di ricostruzione. Questo costringe l'encoder a imparare a estrarre e a far passare solo le informazioni più utili a ricostruire con precisione l'input originale.

Algoritmi di apprendimento semi-supervisionati

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.

  • I metodi trasduttivi si concentrano sulla classificazione dei punti dati non etichettati disponibili durante l'addestramento in modo che possano essere successivamente applicati agli algoritmi di apprendimento supervisionato convenzionali. La propagazione delle etichette, ad esempio, è un metodo basato su grafici che deduce "pseudo-etichette" per i dati non etichettati, "propagando" le etichette note al punto dati che si trova sui nodi adiacenti del grafico.

  • I metodi induttivi mirano a costruire un modello generalizzabile in grado di classificare sia i dati non etichettati presenti durante l'addestramento sia qualsiasi nuovo dato invisibile. Nell'auto-addestramento, un modello viene prima addestrato con l'apprendimento supervisionato convenzionale su un piccolo set di dati etichettati; il modello ha quindi il compito di fare previsioni probabilistiche su punti dati non etichettati; sono accettate solo le previsioni al di sopra di una certa soglia di confidenza. Il co-addestramento estende l'auto-addestramento con l'apprendimento d'insieme, formando diversi tipi di studenti di base su diverse caratteristiche dei dati. I metodi Cluster-then-label eseguono il clustering senza supervisione su tutti i punti dati disponibili, quindi assegnano etichette a ciascun cluster in base all'etichetta più frequentemente rappresentata all'interno di quel cluster.

  • Alcuni algoritmi, come le reti ladder4 o le macchine a vettori di supporto semi-supervisionate (S3VM)5 sono intrinsecamente progettati per l'apprendimento semi-supervisionato (mentre i metodi trasduttivi e induttivi adattano o aggiungono passaggi extra agli algoritmi supervisionati convenzionali).

Algoritmi di apprendimento per rinforzo

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:

  • Q-learning, derivato da metodi basati sul valore

  • L'ottimizzazione delle policy prossimali (PPO), un metodo basato su policy utilizzato principalmente nell'apprendimento per rinforzo dal feedback umano (RLHF)
    Actor-critic e derivati come advantage actor-critic (A2C), che utilizzano un approccio ibrido di metodi basati sul valore e sulle policy

  • REINFORCE (abbreviazione di REward Increment = Nonnegative Factor × Offset Reinforcement × Characteristic Eligibility), un metodo fondamentale basato sulle politiche

Algoritmi di apprendimento d'insieme

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.

Boosting

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.

  • Il potenziamento adattivo (AdaBoost) dà più peso alle istanze originariamente classificate erroneamente dal modello precedente, assicurando che gli aggiornamenti al modello successivo diano priorità al miglioramento delle prestazioni su quegli esempi di formazione. La previsione finale è determinata dal voto a maggioranza ponderata, con i modelli successivi e più precisi che hanno maggiore influenza sull'output finale.

  • Il gradient boosting si concentra sugli errori commessi dagli studenti precedenti, piuttosto che sui punti dati su cui i modelli precedenti hanno sbagliato. Più specificamente, addestra ogni modello a correggere, ovvero a prevedere, gli errori commessi dal modello precedente su un determinato punto dati. Aggregando le previsioni di ogni modello successivo, l'insieme può in ultima analisi decodificare l'output corretto per il punto dati originale. XGBoost (abbreviazione di eXtreme Gradient Boosting) è una libreria di machine learning open source per l'implementazione efficiente del gradient boosting.

Bagging

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.

Stacking

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".

Algoritmi di deep learning

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

Architetture e algoritmi a confronto

  • Nel contesto del deep learning, tipi di modelli specifici sono spesso indicati con le loro "architetture", un concetto correlato ma distinto dagli algoritmi.

  • Un'architettura di rete neurale si riferisce al suo layout: il numero e la dimensione dei livelli, l'uso di livelli specializzati e la scelta o le scelte delle funzioni di attivazione. La stessa architettura di reti neurali può spesso essere addestrata per eseguire diversi tipi di attività o elaborare una delle diverse modalità di dati.

  • Un algoritmo di deep learning comprende non solo l'architettura di reti neurali utilizzata per un modello, ma anche l'attività per cui viene addestrato e le misure adottate per ottimizzarlo per tale attività.

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.

Soluzioni correlate
IBM watsonx.ai

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.

Scopri watsonx.ai
Soluzioni di intelligenza artificiale

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.

Esplora le soluzioni AI
Consulenza e servizi sull'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.

Esplora i servizi AI
Fai il passo successivo

Ottieni l'accesso completo a funzionalità che coprono l'intero ciclo di vita dello sviluppo dell'AI. Crea soluzioni AI all'avanguardia con interfacce intuitive, workflow e accesso alle API e agli SDK standard di settore.

Esplora watsonx.ai Prenota una demo live
Note a piè di pagina

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