Che cos'è il machine learning?

Il machine learning (ML) è alla base di alcune delle tecnologie più importanti che utilizziamo, dalle app di traduzione ai veicoli autonomi. Questo corso spiega i concetti fondamentali alla base del machine learning.

Il machine learning offre un nuovo modo per risolvere problemi, rispondere a domande complesse e creare nuovi contenuti. Il machine learning può prevedere il meteo, stimare i tempi di percorrenza, consigliare brani, completare automaticamente le frasi, riassumere articoli e generare immagini mai viste prima.

In termini fondamentali, l'ML è il processo di addestramento di un software, chiamato model, per effettuare previsioni utili o generare contenuti a partire dai dati.

Ad esempio, supponiamo di voler creare un'app per prevedere le precipitazioni. Potremmo usare sia un approccio tradizionale che un approccio ML. Seguendo un approccio tradizionale, avremmo creato una rappresentazione basata sulla fisica dell'atmosfera terrestre e della superficie terrestre, calcolando enormi quantità di equazioni di fluidodinamica. È incredibilmente difficile.

Utilizzando un approccio ML, daremmo a un modello ML enormi quantità di dati meteorologici fino a quando il modello ML alla fine apprese la relazione matematica tra modelli meteorologici che producono quantità diverse di pioggia. Al modello vengono forniti i dati meteorologici attuali che prevede la quantità di pioggia.

Verifica le tue conoscenze

Che cos'è un "modello" nel machine learning?
Un modello è una relazione matematica derivata dai dati che un sistema ML utilizza per fare previsioni
Un modello è un componente hardware di un computer
Un modello è una rappresentazione più piccola dell'oggetto dello studio.

Tipi di sistemi ML

I sistemi di ML rientrano in una o più delle seguenti categorie in base a come imparano a fare previsioni o generare contenuti:

  • Apprendimento supervisionato
  • Apprendimento non supervisionato
  • Apprendimento per rinforzo
  • IA generativa

Apprendimento supervisionato

I modelli di apprendimento supervisionato possono fare previsioni dopo aver visualizzato molti dati con le risposte corrette e aver poi scoperto le connessioni tra gli elementi dei dati che producono le risposte corrette. È come quando uno studente impara nuovi materiali studiando vecchi esami con domande e risposte. Una volta che lo studente ha superato abbastanza vecchi esami, è pronto a sostenere un nuovo esame. Questi sistemi di ML sono "supervisionati", nel senso che un essere umano fornisce i dati del sistema ML con i risultati corretti noti.

Due dei casi d'uso più comuni per l'apprendimento supervisionato sono la regressione e la classificazione.

Regressione

Un modello di regressione prevede un valore numerico. Ad esempio, un modello meteorologico che prevede la quantità di pioggia, in pollici o millimetri, è un modello di regressione.

Consulta la tabella seguente per altri esempi di modelli di regressione:

Scenario Dati di input possibili Previsione numerica
Prezzo della casa futura Metratura, codice postale, numero di camere da letto e bagni, dimensioni del lotto, tasso di interesse sui mutui, aliquota fiscale immobiliare, costi di costruzione e numero di case in vendita nella zona. Il prezzo della casa.
Tempo di corsa futuro Condizioni del traffico storiche (ricavate da smartphone, sensori di traffico, ride-hailing e altre applicazioni di navigazione), distanza dalla destinazione e condizioni meteo. Il tempo in minuti e secondi per arrivare a destinazione.

Classificazione

I modelli di classificazione prevedono la probabilità che un elemento appartenga a una categoria. A differenza dei modelli di regressione, il cui output è un numero, i modelli di classificazione restituiscono un valore che indica se qualcosa appartiene o meno a una determinata categoria. Ad esempio, i modelli di classificazione vengono utilizzati per prevedere se un'email è spam o se una foto contiene un gatto.

I modelli di classificazione sono divisi in due gruppi: classificazione binaria e classificazione multiclasse. I modelli di classificazione binaria restituiscono un valore da una classe che contiene solo due valori, ad esempio un modello che restituisce rain o no rain. I modelli di classificazione multiclasse generano un valore da una classe che contiene più di due valori, ad esempio un modello che può restituire rain, hail, snow o sleet.

Verifica le tue conoscenze

Se volessi usare un modello ML per prevedere il consumo energetico negli edifici commerciali, quale tipo di modello useresti?
Regressione
Il consumo energetico è misurato in kilowattora (kWh), che è un numero, quindi sarebbe opportuno utilizzare un modello di regressione.
Classificazione
I modelli di classificazione prevedono se qualcosa appartiene o meno a una categoria, mentre i modelli di regressione prevedono un numero. Poiché il consumo energetico è misurato in kilowattora (kWh), che è un numero, sarebbe opportuno utilizzare un modello di regressione.

Apprendimento non supervisionato

I modelli di apprendimento non supervisionato effettuano previsioni perché ricevono dati che non contengono risposte corrette. L'obiettivo di un modello di apprendimento non supervisionato è identificare pattern significativi tra i dati. In altre parole, il modello non fornisce suggerimenti su come classificare ogni dato, ma deve dedurre le proprie regole.

Un modello di apprendimento non supervisionato comunemente utilizzato utilizza una tecnica chiamata clustering. Il modello trova i punti dati che delimitano i raggruppamenti naturali.

Un'immagine che mostra punti colorati in gruppi.

Figura 1. Un modello ML che esegue il clustering di punti dati simili.

Un'immagine che mostra punti colorati in cluster racchiusi in una forma e contornati a vicenda.

Figura 2. Gruppi di cluster con demarcazioni naturali.

Il clustering differisce dalla classificazione perché le categorie non sono definite da te. Ad esempio, un modello non supervisionato potrebbe raggruppare un set di dati meteorologico in base alla temperatura, rivelando segmentazioni che definiscono le stagioni. Potresti quindi provare ad assegnare un nome a questi cluster in base alla tua comprensione del set di dati.

Un'immagine che mostra puntini colorati in gruppi etichettati come neve, pioggia, grandine e nessuna pioggia.

Figura 3. Un modello ML che esegue il clustering di modelli meteorologici simili.

Un'immagine che mostra punti colorati in gruppi etichettati come neve, pioggia, grandine e nessuna pioggia, racchiusi in una forma e contornati l'uno all'altro.

Figura 4. Gruppi di schemi meteorologici etichettati come neve, nevischio, pioggia e nessuna pioggia.

Verifica le tue conoscenze

Che cosa distingue un approccio supervisionato da un approccio non supervisionato?
A un approccio supervisionato vengono forniti dati che contengono la risposta corretta.
A un approccio supervisionato vengono forniti dati che contengono la risposta corretta. Il compito del modello è trovare connessioni nei dati che producono la risposta corretta. Un approccio non supervisionato riceve dati senza la risposta corretta. Il suo compito è trovare raggruppamenti all'interno dei dati.
Un approccio supervisionato utilizza in genere il clustering.
Un approccio non supervisionato utilizza il clustering.
Un approccio non supervisionato sa come etichettare i cluster di dati.
Un approccio non supervisionato non sa cosa significano i cluster di dati. In base alla tua comprensione dei dati, spetta a te definirli.

Apprendimento per rinforzo

I modelli di apprendimento per rinforzo effettuano previsioni ottenendo premi o sanzioni basate su azioni eseguite all'interno di un ambiente. Un sistema di apprendimento per rinforzo genera una norma che definisce la strategia migliore per ottenere i maggiori premi.

L'apprendimento per rinforzo viene utilizzato per addestrare i robot a svolgere attività, come camminare per una stanza e programmi software come AlphaGo per giocare a Go.

IA generativa

L'IA generativa è una classe di modelli che crea contenuti dall'input utente. Ad esempio, l'IA generativa può creare immagini originali, composizioni musicali e barzellette; può riassumere articoli, spiegare come eseguire un'attività o modificare una foto.

L'IA generativa può utilizzare una varietà di input e creare una varietà di output, come testo, immagini, audio e video. Può anche prendere e creare combinazioni di questi elementi. Ad esempio, un modello può utilizzare un'immagine come input e creare un'immagine e un testo come output oppure acquisire un'immagine e un testo come input e creare un video come output.

Possiamo discutere dei modelli generativi in base ai loro input e output, tipicamente scritti come "tipo di input" da "tipo di output". Ad esempio, di seguito è riportato un elenco parziale di alcuni input e output per i modelli generativi:

  • da testo a testo
  • da testo a immagine
  • da testo a video
  • Da testo a codice
  • Sintesi vocale
  • Immagine e da testo a immagine

La tabella seguente elenca alcuni esempi di modelli generativi, il relativo input e un esempio del loro possibile output:

Modello Input Output di esempio
da testo a testo Chi ha inventato la corsa di Le Mans? La 24 Ore di Le Mans è stata fondata dall'Automobile Club de l'Ouest (ACO), un'organizzazione motoristica fondata nel 1906. La prima gara si tenne il 26 e il 27 maggio 1923 sul Circuito di Sarthe, un circuito stradale di 13,426 chilometri situato vicino alla città di Le Mans in Francia. Questa razza è stata originariamente concepita come un modo per promuovere l'ACO e la regione Sarthe.
Fonte: Bard
da testo a immagine Un polpo alieno fluttua in un portale leggendo un giornale. Immagine di un polpo cartone animato.
Fonte: Imagen
da testo a video Un orsacchiotto fotorealistico nuota nell'oceano a San Francisco. L'orsacchiotto va sott'acqua. L'orsacchiotto continua a nuotare sott'acqua con pesci variopinti. Un orso panda nuota sott'acqua. Video di un orsacchiotto che nuota sott'acqua.
Fonte: Phenaki
Da testo a codice Scrivi un loop Python su un elenco di numeri che stampi i numeri primi.
for number in numbers:
  # Check if the number is prime.
  is_prime = True
  for i in range(2, number):
    if number % i == 0:
        is_prime = False
        break
  # If the number is prime, print it.
  if is_prime:
    print(number)

Fonte: Bard
Convertitore immagine-testo Immagine di un fenicottero. Questo è il fenicottero. Si trova nei Caraibi.
Fonte: Google DeepMind

Come funziona l'IA generativa? A livello generale, i modelli generativi apprendono i pattern nei dati con l'obiettivo di produrre dati nuovi ma simili. I modelli generativi sono i seguenti:

  • I comici che imparano a imitare gli altri osservando i comportamenti e lo stile di parlare delle persone
  • Artisti che imparano a dipingere con uno stile particolare acquisendo molti dipinti in questo stile
  • Cover band che imparano a suonare come un gruppo musicale specifico ascoltando molta musica di quel gruppo

Per produrre output unici e creativi, i modelli generativi vengono inizialmente addestrati con un approccio non supervisionato, in cui il modello impara a imitare i dati su cui viene addestrato. A volte il modello viene addestrato ulteriormente utilizzando l'apprendimento supervisionato o per rinforzo su dati specifici relativi ad attività che potrebbe essere chiesto al modello di eseguire, ad esempio riassumere un articolo o modificare una foto.

L'IA generativa è una tecnologia in rapida evoluzione con nuovi casi d'uso costantemente scoperti. Ad esempio, i modelli generativi aiutano le aziende a perfezionare le immagini dei prodotti di e-commerce rimuovendo automaticamente gli sfondi che distraggono o migliorando la qualità delle immagini a bassa risoluzione.