Prendi una newsletter che non ti interessa più e la sposti nello spam. Non scrivi nessuna regola, non compili nessun modulo: sposti un messaggio. Due settimane dopo, altre tre newsletter dello stesso tipo, mittenti diversi, oggetti diversi, finiscono lì da sole. Sul computer di un tuo collega, le stesse mail continuano ad arrivare in posta in arrivo, perché lui non le ha mai buttate. Nessuno ha riscritto il programma di Gmail nel frattempo: è cambiato qualcosa dentro, e quel qualcosa è un insieme di numeri.
Quel meccanismo si chiama apprendimento automatico. Qui sotto lo smontiamo con un conto che puoi rifare su un foglio: cinque appartamenti, una formula con due numeri dentro, e un errore medio che passa da 138.000 euro a 44.400 in un solo passo di correzione.
In questo articolo scoprirai:
- Che cos’è l’apprendimento automatico (machine learning), detto senza gergo
- Machine learning, come funziona: il conto di un modello che impara in un passo
- Quali sono i tre principali approcci dell’apprendimento automatico
- Quali sono le 3 fasi del machine learning, dall’addestramento alla previsione
- Qual è la differenza tra intelligenza artificiale (AI) e apprendimento automatico (ML)
Che cos’è l’apprendimento automatico (machine learning), detto senza gergo
L’apprendimento automatico è il procedimento con cui un programma regola da solo i numeri interni di una formula, confrontando le proprie previsioni con le risposte giuste già note e correggendo quei numeri nella direzione che riduce l’errore. Il programmatore non scrive la regola: scrive la formula vuota, la misura dell’errore e la procedura di correzione, poi lascia che siano i dati a fissare i valori. Quando l’errore smette di scendere, il modello non è il codice: è la lista di numeri che il ciclo ha lasciato dentro la formula.
La documentazione di Google lo dice in una riga, ed è utile perché toglie di mezzo l’aura: il machine learning è «il processo di addestrare un pezzo di software, chiamato modello, a fare previsioni utili o generare contenuti (come testo, immagini, audio o video) a partire dai dati» (Google, Introduction to Machine Learning).
Apprendimento automatico e software tradizionale: chi scrive la regola
La differenza con il software normale sta tutta in chi decide la regola. Un filtro antispam scritto a mano contiene righe del tipo «se l’oggetto contiene VINCITA, allora spam»: qualcuno l’ha pensata, qualcuno la aggiorna, e chi manda spam ci mette dieci minuti a scrivere V1NCITA. Un filtro addestrato non contiene quella riga: contiene migliaia di pesi, cioè numeri che dicono quanto ciascun indizio spinge verso «spam» e quanto verso «buona». Nessuno li ha scritti a mano: li ha fissati il confronto con milioni di messaggi già classificati, e continuano a spostarsi ogni volta che qualcuno preme «segnala».
Ecco perché il tuo filtro e quello del tuo collega si comportano in modo diverso pur essendo lo stesso prodotto. Non è personalizzazione nel senso di un’impostazione: è che i numeri hanno visto storie diverse. È anche il motivo per cui questi sistemi non sanno spiegarsi: il «perché» non è una frase, è una somma pesata.
Machine learning, come funziona: il conto di un modello che impara in un passo
Cinque appartamenti, con metri quadri e prezzo. Sono cinque righe costruite apposta per stare in un foglio, ma i conti che seguono sono veri e li puoi rifare con una calcolatrice. La formula che vogliamo addestrare è la più semplice possibile: prezzo = w × metri quadri + b. All’inizio i due numeri li mettiamo a caso: w = 1,00 (mille euro al metro) e b = 0.
| Metri quadri | Prezzo reale | Previsione con w = 1,00 | Errore |
|---|---|---|---|
| 50 | 145.000 € | 50.000 € | −95.000 € |
| 65 | 180.000 € | 65.000 € | −115.000 € |
| 80 | 215.000 € | 80.000 € | −135.000 € |
| 95 | 260.000 € | 95.000 € | −165.000 € |
| 110 | 290.000 € | 110.000 € | −180.000 € |
Adesso la parte che sembra magia e non lo è. Per sapere da che parte spostare w, si moltiplica ogni errore per i metri quadri corrispondenti e si sommano (in migliaia di euro): (−95×50) + (−115×65) + (−135×80) + (−165×95) + (−180×110) = −58.500. Moltiplicato per 2/5 (due volte la media, perché l’errore lo misuriamo al quadrato) fa −23.400: è la pendenza. Il segno meno dice «w è troppo basso». Si sposta w di un passo piccolo nella direzione opposta: 1,00 + 0,00005 × 23.400 = 2,17.
Rifai la tabella con w = 2,17
Rifai la tabella con w = 2,17. Previsioni: 108.500, 141.100, 173.600, 206.200, 238.700. Errori: 36.500, 38.900, 41.400, 53.800, 51.300. Errore medio: 44.400 €. Un solo passo, un solo numero cambiato, e il modello ha recuperato due terzi della distanza. Continuando, si arriva alla retta migliore che questi cinque punti ammettono, w = 2,4667 e b = 20.670, calcolabile in forma chiusa, che lascia un errore medio di 2.400 €. Quei 2.400 euro non sono un difetto da correggere: sono la parte di prezzo che i metri quadri non spiegano.
Perché il passo (learning rate) decide se il machine learning impara o peggiora
Il numerino 0,00005 non è un dettaglio: è il passo, e sbagliarlo rovina tutto. Con lo stesso conto e un passo di 0,0002, w salta da 1,00 a 5,68 e l’errore medio diventa 236.400 €: peggiore di quando il modello non aveva ancora imparato niente. Con un passo di 0,000001, invece, w si sposta di 0,0234 e l’errore medio scende di appena 1.872 euro a giro: per arrivare dove il passo giusto arriva in pochi passi servono diverse centinaia di iterazioni.
C’è un secondo dettaglio che quasi nessuno racconta. Nel nostro passo, b si è mosso da 0 a 0,0138, cioè quattordici euro, perché la sua pendenza (−276) è 85 volte più piccola di quella di w. I due numeri imparano a velocità diverse solo perché uno è moltiplicato per «80» e l’altro per «1»: è il motivo per cui in pratica si riscalano le variabili prima di addestrare. Il corso ufficiale di Google mostra lo stesso ciclo su un dataset di consumi: sei iterazioni, e la perdita scende da 303,71 a 42,17, con il peso che passa da 0 a 3,40. Stessa aritmetica, altri dati.
Quali sono i tre principali approcci dell’apprendimento automatico
I «tre approcci» e i «tre tipi di machine learning» che trovi in giro sono la stessa cosa, e si distinguono per una domanda sola: che cosa riceve la macchina insieme ai dati. Non per quanto sono intelligenti, non per quanto sono recenti.
| Approccio | Cosa riceve | Che cosa minimizza | Esempio |
|---|---|---|---|
| Supervisionato | Esempi con la risposta giusta | La distanza fra previsione e risposta | I cinque appartamenti; il filtro antispam |
| Non supervisionato | Esempi senza risposta | La distanza fra elementi dello stesso gruppo | Segmentare i clienti in gruppi simili |
| Per rinforzo | Azioni e un premio o una penalità | La perdita di premio nel tempo | Un robot che impara a camminare |
Nel supervisionato la risposta giusta si chiama etichetta, e qualcuno l’ha messa: un umano che clicca «spam», un prezzo registrato da un notaio, una diagnosi già scritta in cartella. Si divide a sua volta in regressione (la risposta è un numero: il prezzo dell’appartamento) e classificazione (la risposta è una categoria: spam o non spam). Il non supervisionato serve quando le etichette non esistono: «un modello non supervisionato punta a identificare pattern significativi in un insieme di dati», scrive Google, e i nomi ai gruppi li mette chi legge i dati, dopo, non prima. Il rinforzo è diverso da entrambi: non c’è una risposta giusta per ogni mossa, c’è un punteggio alla fine, e «i modelli fanno previsioni ottenendo premi o penalità in base alle azioni compiute in un ambiente».
Dove sta l’AI generativa nei tre tipi di machine learning
Un quarto blocco, oggi, sta di traverso rispetto ai tre: l’AI generativa, cioè i modelli che producono testo o immagini invece di una previsione secca. Tecnicamente è addestrata come un supervisionato in cui l’etichetta è la parola successiva presa dal testo stesso, nessuno la annota a mano, ed è per questo che si può addestrare su quantità di testo che nessun team umano potrebbe mai etichettare.
Quali sono le 3 fasi del machine learning, dall’addestramento alla previsione
Le fasi sono tre e hanno tempi radicalmente diversi. Addestramento: il ciclo che hai visto sopra, ripetuto finché l’errore smette di scendere, è la fase costosa, si fa una volta ogni tanto. Validazione: si misura il modello su esempi che non ha mai visto, messi da parte prima di cominciare. Inferenza: il modello, ormai congelato, risponde, ed è la fase che si ripete miliardi di volte al giorno.
Validazione del machine learning: il numero onesto è quello sui dati mai visti
La seconda fase è quella che i principianti saltano, ed è quella che separa un risultato da un’illusione. La documentazione di scikit-learn, la libreria con cui si addestra la gran parte dei modelli classici, mette in guardia con una frase che vale come regola di mestiere: «Adattare un modello a dei dati non implica che preveda bene su dati mai visti. Questo va valutato direttamente» (scikit-learn, Getting started). Per questo l’operazione standard si chiama train_test_split: si spacca l’insieme in due, si addestra sulla prima parte, si misura sulla seconda. Quando gli esempi sono pochi si usa la validazione incrociata: il set viene diviso in 10 fette, si addestra dieci volte tenendo fuori una fetta diversa ogni volta, e si guarda la media.
Nel nostro caso: cinque appartamenti sono troppo pochi per fare tutto questo, e va detto, con cinque righe si spiega il meccanismo, non si costruisce un modello. Se ne avessimo mille, ne useremmo 750 per l’addestramento e 250 solo per la misura, e il numero da riportare sarebbe quello dei 250, mai quello dei 750. L’errore da 2.400 euro che abbiamo calcolato prima è un errore sui dati di addestramento: è la prova che la formula si adatta, non la prova che indovini il prezzo del prossimo appartamento.
Qual è la differenza tra intelligenza artificiale (AI) e apprendimento automatico (ML)
L’intelligenza artificiale è il contenitore: comprende anche sistemi che non imparano niente. Il motore di scacchi che esplora milioni di mosse, il navigatore che calcola il percorso più corto, il sistema esperto che applica trecento regole scritte da un medico sono tutti AI, ma non contengono un solo numero imparato dai dati. L’apprendimento automatico è il sottoinsieme in cui le regole non vengono scritte: vengono ricavate dagli esempi con il ciclo previsione-errore-correzione. Detto brutalmente: tutto il machine learning è AI, non tutta l’AI è machine learning, anche se dal 2012 in poi, in pratica, quasi tutto quello che chiamiamo AI è machine learning.
Machine learning e deep learning: differenze, e dove entrano le reti neurali
Il deep learning è un sottoinsieme ulteriore: stesso ciclo, ma la formula non è più una retta con due numeri, bensì una rete con molti strati e milioni di numeri. Il conto si fa anche qui. Prendi una rete minima per riconoscere cifre scritte a mano: l’immagine è 28 × 28 pixel, cioè 784 numeri in ingresso; uno strato intermedio di 16 unità; dieci uscite, una per cifra. I numeri da imparare sono 784 × 16 + 16 = 12.560 nel primo strato e 16 × 10 + 10 = 170 nel secondo, totale 12.730. Ogni singolo numero viene corretto con la stessa aritmetica dei cinque appartamenti.
Reti neurali e machine learning: da 12.730 numeri ai 60 milioni di AlexNet
La scala è l’unica cosa che cambia davvero. Il lavoro che nel 2012 ha fatto partire tutto, la rete di Krizhevsky, Sutskever e Hinton, dichiara nell’abstract «60 milioni di parametri e 500.000 neuroni», addestrati su «1,3 milioni di immagini ad alta risoluzione» divise in 1.000 classi, con un errore top-5 del 18,9%. Cinquemila volte i numeri della nostra rete minima, e identico il ciclo che li corregge.
Machine learning, esempi: dove lo vedi all’opera ogni giorno
Torniamo al filtro antispam da cui siamo partiti, perché Google ha pubblicato i numeri. Quando ha spostato una parte del filtro su modelli TensorFlow, ha scritto: «Con TensorFlow, ora blocchiamo circa 100 milioni di messaggi di spam in più ogni giorno», in più rispetto a quelli che già bloccava, per un totale «oltre il 99,9% di spam, phishing e malware» tenuto fuori dalle caselle (Google Workspace). Il modello, spiega lo stesso documento, valuta «migliaia di potenziali segnali» per messaggio, e la protezione è personalizzata perché «lo spam di una persona è il tesoro di un’altra».
Il secondo posto dove lo vedi è la ricerca nella galleria fotografica del telefono: scrivi «cane» e le foto escono, senza che tu abbia mai etichettato niente. Lì c’è la stessa struttura della rete del paragrafo precedente, con l’immagine che entra come numeri e una probabilità che esce. Il terzo, meno visibile, è il messaggio della banca che blocca un pagamento «insolito»: nessuno ha scritto la regola «se acquisto in Romania alle 3 di notte»; un modello ha imparato la forma delle tue transazioni normali e segnala quanto quella è lontana.
Un esempio di attività con machine learning nella didattica
L’attività che funziona meglio in classe non richiede codice: si addestra un classificatore di immagini con la webcam (si può fare con Teachable Machine di Google, senza scrivere codice), chiedendo ai ragazzi di raccogliere gli esempi di due categorie, «mano aperta» e «pugno», e poi provarlo. Il punto didattico arriva dopo: si rifà la raccolta usando solo immagini dello stesso studente, con la stessa maglietta e la stessa luce, e poi si prova il modello su un compagno. Crolla. In dieci minuti si tocca con mano che il modello non ha imparato «la mano»: ha imparato le regolarità che c’erano negli esempi, comprese quelle che non c’entravano nulla.
Overfitting: quando la spiegazione dell’apprendimento automatico non vale più
Tutto quello che hai letto finora poggia su un’idea: «errore che scende = modello che impara». Da un certo punto in poi quell’idea è falsa, ed è la cosa più importante del pezzo. Se dai al modello abbastanza libertà, l’errore sugli esempi di addestramento va a zero mentre la qualità delle previsioni fuori peggiora: il modello ha memorizzato anche il rumore.
Il numero c’è, ed è nella documentazione di scikit-learn, in un esempio che chiunque può eseguire: 30 campioni, validazione incrociata a 10 fette, tre modelli di flessibilità crescente. Una retta (grado 1) sbaglia con un errore quadratico medio di 0,408: troppo rigida. Un polinomio di grado 4 scende a 0,0432, dieci volte meglio. Un polinomio di grado 15, che passa quasi esattamente per i punti di addestramento, arriva a 183 milioni (1,83e+08, underfitting vs overfitting). Non è un refuso: è quanto costa aderire perfettamente ai dati che hai.
E c’è un secondo limite, che riguarda proprio il nostro conto: la retta sugli appartamenti funziona perché in quei cinque esempi il prezzo cresce quasi linearmente con la superficie. Se nel campione entrasse un attico in centro e un seminterrato in periferia, nessun numero di iterazioni salverebbe una formula che ha un solo ingresso: il problema non sarebbe l’addestramento, sarebbe che al modello manca l’informazione «quartiere». L’apprendimento automatico non scopre le variabili che non gli hai dato, e non stabilisce cause: registra associazioni. Quando i dati cambiano forma, nuovi clienti, nuova stagione, nuovo tipo di spam, i numeri imparati ieri sono tarati su un mondo che non c’è più.
Machine learning, come iniziare senza illudersi
Il pezzo che manca, per chi da questa nozione vuole ricavare qualcosa di operativo, non è un algoritmo più potente: è la parte noiosa. Decidere quale numero conta davvero, mettere da parte un insieme di prova prima di cominciare, accettare che il risultato onesto sia quello misurato sui dati mai visti, e stabilire quando si rimisura. È lo stesso motivo per cui, in mimir.bot, un agente non lo consegniamo come una scatola da accendere: l’onboarding lo seguono delle persone, perché scegliere quali esempi contano e che cosa si misura è una decisione di mestiere, non un’impostazione. La macchina impara dai dati che le dai; quali dati darle, lo decide ancora qualcuno.
Fonti:
- Google, Introduction to Machine Learning
- Google Machine Learning Crash Course, Linear regression: gradient descent
- scikit-learn, Getting started
- Krizhevsky, Sutskever, Hinton, ImageNet Classification with Deep Convolutional Neural Networks (NeurIPS 2012)
- Google Workspace, Ridding Gmail of 100 million more spam messages with TensorFlow
- scikit-learn, Underfitting vs. Overfitting
Domande frequenti
Come si spiega il machine learning in modo facile?
Con una formula e un errore: scrivi una formula con dei numeri dentro messi a caso, provala su esempi di cui conosci già la risposta, misura di quanto sbagli e sposta i numeri nella direzione che riduce lo sbaglio. Poi ripeti. La parte automatica è solo la correzione dei numeri: la formula, la misura dell'errore e i dati li scegli tu.
Che cos'è il deep learning?
È machine learning in cui la formula è una rete a più strati, con da migliaia a miliardi di numeri da correggere invece dei due di una retta. Il ciclo di addestramento è identico: cambiano la scala, l'hardware necessario e il fatto che la rete costruisce da sola le caratteristiche intermedie che in un modello classico dovresti definire a mano.
Quali sono i 4 livelli di intelligenza artificiale?
Non è una tassonomia tecnica riconosciuta come lo sono i tre approcci dell'apprendimento automatico: è una scala divulgativa, e ne circolano due versioni. Una elenca macchine reattive, memoria limitata, teoria della mente e autocoscienza; l'altra distingue AI ristretta, generale e superintelligenza. I sistemi in produzione oggi stanno tutti nei primi due gradini, e dal terzo in poi si parla di ipotesi, non di prodotti.
Il machine learning è la stessa cosa della statistica?
Condividono l'apparato: la retta calcolata con la discesa del gradiente è la stessa che uno statistico ottiene in forma chiusa. La differenza è nell'obiettivo: la statistica classica punta a spiegare un fenomeno con parametri interpretabili, il machine learning a minimizzare l'errore su dati nuovi, anche a costo di un modello che nessuno sa leggere.



