MimìrCast: le novità sull’AI ogni giorno Ascolta il podcast ➔
apprendimento supervisionato e non supervisionato: Apprendimento supervisionato, non supervisionato e per rinforzo: tre

Apprendimento supervisionato, non supervisionato e per rinforzo: tre modi di imparare, tre lavori diversi

Prova a fare questo esperimento mentale con la tua casella di posta. Dai le stesse dieci email a due sistemi diversi. Il primo te le restituisce divise in due mucchi e ti dice: queste sono urgenti, queste no. Il secondo te le restituisce divise in quattro mucchi e non sa dirti come si chiamano: sa solo che quelle dentro ogni mucchio si somigliano fra loro più di quanto somiglino alle altre. Poi ne provi un terzo, che non ti risponde affatto: ti chiede di lasciarlo lavorare una settimana, sbaglia notifiche per tre giorni, e alla fine comincia a interromperti quasi solo quando serve.

Non è che uno sia più bravo degli altri. Hanno imparato in tre modi diversi, e la differenza fra i tre è una sola cosa, molto più piccola di quanto sembri.

In questo articolo scoprirai:

  • Due sistemi addestrati sugli stessi dati che non fanno la stessa cosa
  • Cosa cambia davvero: chi dice alla macchina se ha ragione
  • Il conto: dieci email, una soglia e due mucchi
  • Perché l'apprendimento non supervisionato preferisce la risposta sbagliata
  • Lo stesso conto per rinforzo: un numero solo alla fine della giornata
  • Dove lo vedi all'opera: antispam, segmentazione clienti e i tre strati dentro ChatGPT

Due sistemi addestrati sugli stessi dati che non fanno la stessa cosa

La parola «addestrare» viene usata per tre lavori che non si somigliano quasi per niente. Quando leggi che un’azienda «etichetta i dati», quando senti dire che un modello è stato «allineato con il feedback umano», quando qualcuno racconta che un algoritmo ha «scoperto quattro segmenti di clientela»: sono tre mestieri distinti, con tre costi diversi e tre modi diversi di fallire.

Il punto in cui si separano è banale da enunciare e difficile da tenere a mente: cambia chi dice alla macchina se ha indovinato, e quando glielo dice. Non cambia l’architettura, non cambia necessariamente il tipo di rete, non cambia la matematica del calcolo. Cambia la forma del segnale che torna indietro. Ed è quel segnale a decidere cosa la macchina può imparare, e cosa non potrà imparare mai, per quanto grande la fai.

Cosa cambia davvero: chi dice alla macchina se ha ragione

L’apprendimento supervisionato è il caso in cui ogni esempio arriva accompagnato dalla risposta giusta, scritta da qualcuno, e l’errore viene misurato una riga alla volta: hai detto «urgente», era «non urgente», correggiti. L’apprendimento non supervisionato lavora sugli stessi dati senza nessuna risposta accanto: cerca da sé una struttura, gruppi, direzioni, ricorrenze, e ti consegna dei mucchi che nessuno ha battezzato. L’apprendimento per rinforzo non riceve una risposta per il singolo caso, ma un numero solo dopo una sequenza di azioni: un premio a fine partita, e il problema di capire quale delle mosse fatte se lo è meritato.

Google, nella sua documentazione introduttiva al machine learning, definisce l’etichetta come «la risposta, il valore che vogliamo che il modello preveda»: un esempio etichettato è fatto di caratteristiche più risposta, un esempio non etichettato ha solo le caratteristiche. Nel rinforzo non c’è né l’una né l’altra cosa nella forma consueta: c’è un agente che agisce in un ambiente e riceve, come scrive OpenAI nella documentazione di Spinning Up, «un segnale di ricompensa, un numero che gli dice quanto è buono o cattivo lo stato attuale del mondo».

Il pezzo di macchina che sta sotto può essere lo stesso in tutti e tre i casi, cosa fa davvero un neurone artificiale non cambia a seconda di chi tiene la penna rossa. Quello che cambia è da dove arriva il numero da minimizzare, e quindi come una rete corregge i propri errori.

Il conto: dieci email, una soglia e due mucchi

Prendiamo dieci email vere di una giornata e riduciamole a due numeri ciascuna: quante parole di urgenza contengono («subito», «entro oggi», «scadenza», «urgente») e quanto sono lunghe in parole. Poi mettiamo accanto il giudizio di un essere umano che le ha lette.

EmailParole di urgenzaLunghezza (parole)Giudizio umano
E1340urgente
E24380urgente
E3055non urgente
E40320non urgente
E52300non urgente
E6360urgente
E7045non urgente
E84350urgente
E9250urgente
E101330non urgente
Dieci email, due caratteristiche numeriche, un’etichetta umana. Gli stessi dati per tutti e tre gli approcci.

Apprendimento supervisionato: una domanda sola, nove risposte giuste su dieci

Diamo alla macchina anche l’ultima colonna. Il modello più semplice possibile, un albero con una sola domanda, cerca la soglia che sbaglia meno. La trova su «parole di urgenza ≥ 2»: azzecca E1, E2, E3, E4, E6, E7, E8, E9, E10 e sbaglia E5, la newsletter che dice «scadenza» e «subito» senza esserlo. Nove su dieci. E non è pigrizia: provando tutte le soglie possibili su quella colonna (≥1, ≥2, ≥3, ≥4) si ottiene 8, 9, 9, 7. Nessuna regola a una domanda sola fa meglio di 9. Attenzione al rovescio: una regola che ne azzeccasse 10 su 10 su questi dieci dati sarebbe un motivo di sospetto, non di festa, è il meccanismo dell’overfitting.

Clustering: i gruppi giusti alla domanda sbagliata

Ora togliamo l’ultima colonna e lanciamo un k-means con k=2. L’algoritmo, spiega la documentazione di scikit-learn, separa i campioni minimizzando l’inerzia, cioè la somma dei quadrati delle distanze interne ai gruppi, e richiede che il numero di gruppi sia deciso in anticipo. Il risultato: gruppo A = {E1, E3, E6, E7, E9}, centro (1,6 · 50); gruppo B = {E2, E4, E5, E8, E10}, centro (2,2 · 336). Ha diviso le email per lunghezza, perché la distanza fra due punti è dominata dalla colonna con la scala più grande, è geometria, non semantica, ed è lo stesso conto che regge tutta l’algebra lineare applicata al machine learning.

Perché l’apprendimento non supervisionato preferisce la risposta sbagliata

Confrontando quei due mucchi con la colonna che avevamo nascosto, la migliore assegnazione possibile («corte = urgenti») ne prende 6 su 10. Poco più di una monetina. E non migliora standardizzando le due colonne: rifacendo il conto sui valori normalizzati, la partizione per lunghezza ha inerzia 9,80 e quella che coincide con le etichette umane 12,48. Il criterio che k-means ottimizza preferisce la risposta sbagliata, perché nessuno gli ha mai detto che la domanda era «urgente sì o no», è la stessa ragione per cui una ricerca per similarità trova la pagina vicina invece di quella giusta: la vicinanza geometrica non è la pertinenza.

Gli stessi dieci dati trattati con apprendimento supervisionato, non supervisionato e per rinforzo 1. Supervisionato2. Non supervisionato3. Per rinforzo lunghezza email (parole) ↑lunghezza email (parole) ↑lunghezza email (parole) ↑ parole di urgenza 0 → 4parole di urgenza 0 → 4parole di urgenza 0 → 4 +7 soglia appresa: urgenza ≥ 29 su 10 corrette (E5 sbagliata) taglio trovato da solo: per lunghezza6 su 10, e i gruppi non hanno nome nessun giudizio sulla singola emailun numero per 1024 combinazioni urgente (giudizio umano) non urgente (giudizio umano)
Gli stessi dieci punti, tre segnali di apprendimento diversi. Cerchio pieno = urgente secondo l’umano.

Lo stesso conto per rinforzo: un numero solo alla fine della giornata

Terzo giro. Nessuna etichetta, e nemmeno il permesso di guardare le dieci email tutte insieme: arrivano una alla volta e per ognuna l’agente sceglie fra due azioni, notificare subito o mettere nel riepilogo serale. Il segnale non è un giudizio per email: è quello che fa la persona. Notifica su cui agisce entro cinque minuti: +2. Notifica che scarta senza aprire: −3. Email finita nel riepilogo a cui poi risponde di corsa: −1. Tutto il resto: 0. A fine giornata l’agente vede un totale, e basta.

Con la politica «notifico tutto»: cinque urgenti agite (+10) e cinque non urgenti scartate (−15), totale −5. Con «non notifico niente»: cinque urgenti recuperate in ritardo (−1 ciascuna), totale −5. Con la politica che l’agente scopre dopo qualche giorno, notifico se ci sono almeno due parole di urgenza, passano E1, E2, E5, E6, E8, E9: cinque colpi (+10) e una sola interruzione sbagliata su E5 (−3), totale +7.

Qui sta la difficoltà specifica del rinforzo. Con dieci email e due azioni ciascuna le sequenze possibili sono 2¹⁰ = 1.024, e il feedback è un numero solo. Capire quale delle dieci decisioni ha guadagnato e quale ha perso, il problema dell’assegnazione del merito, richiede di rigiocare la giornata molte volte. È il motivo per cui il rinforzo è lentissimo dove il supervisionato è immediato: paghi in tentativi quello che risparmi in etichette.

Dove lo vedi all’opera: antispam, segmentazione clienti e i tre strati dentro ChatGPT

Il filtro antispam è supervisionato puro, e le sue etichette te le sei date tu: ogni volta che clicchi «segnala come spam» in Gmail o Outlook stai scrivendo la colonna delle risposte giuste per il prossimo riaddestramento. La segmentazione dei clienti in un CRM è non supervisionata: l’algoritmo ti restituisce quattro gruppi, e il nome, «i fedelissimi», «quelli che stanno per andarsene», glielo dai tu guardando i centroidi, perché in scikit-learn i cluster escono numerati 0, 1, 2, 3 e quei numeri non significano niente.

Supervisionato e apprendimento per rinforzo impilati dentro ChatGPT

La cosa più utile da vedere, però, è che dentro un assistente conversazionale ci sono tutti e tre, impilati in quest’ordine. Primo strato: il pre-addestramento su enormi quantità di testo, dove il compito è prevedere il pezzo successivo, è il cuore di come funziona un large language model. Secondo strato: il fine-tuning supervisionato su istruzioni scritte a mano. Terzo strato: il rinforzo dalle preferenze umane.

I numeri di questo impilamento sono pubblici. Nel lavoro su InstructGPT, presentato nel post con cui OpenAI ha annunciato i modelli addestrati a seguire le istruzioni, sono stati usati circa 40 annotatori, 13.000 prompt con la risposta scritta a mano per il fine-tuning supervisionato e 33.000 confronti fra risposte per addestrare il modello di ricompensa, poi usato come segnale di rinforzo. Il risultato: le risposte del modello da 1,3 miliardi di parametri venivano preferite a quelle di GPT-3 da 175 miliardi, cento volte più grande. Non era diventato più sapiente: aveva imparato quale risposta preferiamo. Se vuoi il percorso completo da una frase alla risposta, questo è lo strato che decide il tono di quello che leggi.

Cosa resta da sapere: le etichette non nascono dal nulla

La colonna «giudizio umano» della nostra tabella l’ha scritta qualcuno. È il vincolo che decide, quasi sempre prima di ogni considerazione tecnica, quale dei tre approcci è praticabile. ImageNet, il dataset che ha fatto partire il decennio della visione artificiale, contiene 14.197.122 immagini organizzate in 21.841 categorie, tutte verificate a mano, e il documento che descrive la costruzione del dataset racconta quanto lavoro umano distribuito sia servito per arrivarci: anni. Nessuna PMI etichetta dieci milioni di righe. Quando qualcuno ti dice «facciamo un modello che classifica X», la domanda giusta non è quale algoritmo: è chi scrive le prime duemila risposte giuste, e con quale criterio.

La nota di falsificazione. Questa tripartizione è una mappa didattica, non una tassonomia stagna, e il caso che la incrina è proprio quello di cui abbiamo parlato prima: il pre-addestramento di un modello di linguaggio è self-supervised. Formalmente è supervisionato, c’è una risposta giusta per ogni esempio, il token successivo, e l’errore si misura riga per riga, ma nessun annotatore l’ha scritta: la genera il testo stesso, nascondendo una parola e chiedendo di indovinarla. È per questo che si può addestrare su miliardi di frasi senza pagare nessuno per etichettarle, ed è la ragione per cui i tre strati di cui sopra hanno taglie così diverse: miliardi di esempi per il primo, tredicimila per il secondo. Chi ti dice che «i modelli di linguaggio sono non supervisionati» sta usando la mappa al posto del territorio.

Fonti:

Domande frequenti

Qual è la differenza fra apprendimento supervisionato e non supervisionato?

Nel supervisionato ogni esempio arriva con la risposta giusta scritta da una persona, e l'errore si misura un caso alla volta. Nel non supervisionato quella colonna non c'è: l'algoritmo cerca da sé una struttura nei dati e restituisce gruppi che nessuno ha battezzato. Sugli stessi dieci dati dell'articolo, il supervisionato ne classifica correttamente 9 su 10, il clustering 6 su 10.

Perché l'apprendimento per rinforzo è più lento degli altri due?

Perché non riceve un giudizio per ogni singolo caso, ma un numero solo dopo una sequenza di azioni. Con dieci decisioni binarie le sequenze possibili sono 1.024, e capire quale mossa ha prodotto il risultato richiede di ripetere l'esperienza molte volte. È il problema dell'assegnazione del merito: si paga in tentativi quello che si risparmia in etichette.

Un large language model è supervisionato o non supervisionato?

Il pre-addestramento è self-supervised: formalmente supervisionato, perché c'è una risposta giusta per ogni esempio, il token successivo, ma nessun annotatore l'ha scritta. La genera il testo stesso. Sopra quello strato ci sono un fine-tuning supervisionato su istruzioni scritte a mano e un rinforzo dalle preferenze umane: in un assistente conversazionale i tre approcci convivono.

Quanto costa etichettare i dati per un modello supervisionato?

È il vincolo che decide se l'approccio è praticabile, prima di ogni considerazione tecnica. ImageNet contiene 14.197.122 immagini in 21.841 categorie verificate a mano, frutto di anni di lavoro distribuito. Per un progetto aziendale la domanda giusta non è quale algoritmo usare, ma chi scrive le prime duemila risposte giuste e con quale criterio.

Tabella dei contenuti
Articoli correlati:
Vuoi che l'AI diventi il tuo motore di valore più potente?

Ti accompagniamo noi con Mimír AI Agent.