Che cos'è il machine learning?

Il machine learning (ML) è alla base di alcune delle tecnologie più importanti che usiamo, dalle app di traduzione ai veicoli autonomi. Questo corso spiega i concetti principali 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 frasi, riassumere articoli e generare immagini mai viste prima.

In termini basilari, il ML è il processo di addestramento di un software, chiamato model, per fare previsioni utili o generare contenuti dai dati.

Ad esempio, supponiamo di voler creare un'app per prevedere le precipitazioni. Potremmo usare un approccio tradizionale o ML. Seguendo un approccio tradizionale, verrebbero creati una rappresentazione basata sulla fisica dell'atmosfera e della superficie terrestre, calcolando enormi quantità di equazioni dinamiche dei fluidi. È una procedura incredibilmente difficile.

Utilizzando un approccio ML, forniremmo a un modello ML enormi quantità di dati meteorologici fino a quando il modello ML non appresse la relazione matematica tra modelli meteorologici che producono quantità diverse di pioggia. Fornisci quindi al modello i dati meteorologici attuali e prevede la quantità di pioggia.

Verifica le tue conoscenze

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 a generare contenuti:

  • Apprendimento supervisionato
  • Apprendimento non supervisionato
  • Apprendimento per rinforzo
  • AI generativa

Apprendimento supervisionato

I modelli di apprendimento supervisionato possono fare previsioni dopo aver visto molti dati con le risposte corrette e aver scoperto le connessioni tra gli elementi dei dati che producono le risposte corrette. È come uno studente che impara nuovi materiali studiando vecchi esami che contengono sia domande che risposte. Dopo che lo studente si è addestrato con un numero sufficiente di vecchi esami, sarà 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 sulla proprietà, costi di costruzione e numero di case in vendita nella zona. Il prezzo della casa.
Durata corsa futura Cronologia delle condizioni del traffico (dati raccolti da smartphone, sensori del traffico, ride hailing e altre applicazioni di navigazione), distanza dalla destinazione e condizioni meteo. Il tempo in minuti e secondi per arrivare a una 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 restituiscono 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 utilizzare un modello ML per prevedere il consumo di energia per gli edifici commerciali, quale tipo di modello useresti?
Regressione
Il consumo energetico viene misurato in kilowattora (kWh), che è un numero, pertanto è consigliabile 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 viene misurato in kilowattora (kWh), che è un numero, ti consigliamo di utilizzare un modello di regressione.

Apprendimento non supervisionato

I modelli di apprendimento non supervisionato effettuano previsioni poiché ricevono dati che non contengono risposte corrette. Un modello di apprendimento non supervisionato ha come obiettivo l'identificazione di pattern significativi tra i dati. In altre parole, il modello non offre suggerimenti su come classificare ogni dato, ma deve dedurre le proprie regole.

Un modello di apprendimento non supervisionato di uso comune utilizza una tecnica chiamata clustering. Il modello trova i punti dati che demarcano i raggruppamenti naturali.

Un'immagine che mostra punti colorati in cluster.

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 con bordi tra loro.

Figura 2. Gruppi di cluster con demarcazioni naturali.

Il clustering è diverso dalla classificazione perché le categorie non sono definite da te. Ad esempio, un modello non supervisionato potrebbe raggruppare un set di dati meteo 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 punti colorati in grappoli 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 cluster con l'etichetta neve, pioggia, grandine e senza pioggia, racchiusi in una forma e contornati l'uno all'altro.

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

Verifica le tue conoscenze

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 nei 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 fanno previsioni ottenendo premi o sanzioni in base alle azioni eseguite all'interno di un ambiente. Un sistema di apprendimento per rinforzo genera una norma che definisce la strategia migliore per ottenere il maggior numero di ricompense.

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 al gioco di Go.

AI generativa

L'IA generativa è una classe di modelli che crea contenuti dall'input dell'utente. Ad esempio, l'IA generativa può creare immagini, composizioni musicali e barzellette uniche; 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. Ad esempio, un modello può prendere un'immagine come input e creare un'immagine e un testo come output oppure prendere 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, in genere scritti come "tipo di input" e "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 seguente tabella elenca esempi di modelli generativi, il loro 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 è svolta 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. La razza era originariamente concepita come un modo per promuovere l'ACO e la regione di Sarthe.
Fonte: Bard
da testo a immagine Un polpo alieno attraversi un portale leggendo un giornale. Immagine di una piovra dei cartoni animati.
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 colorati. 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 e stampa 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 in testo Immagine di un fenicottero. Questo è un fenicottero. Si trovano nei Caraibi.
Fonte: Google DeepMind

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

  • Comici che imparano a imitare gli altri osservando i comportamenti e lo stile di parlare delle persone
  • Gli artisti che imparano a dipingere in uno stile particolare studiando i quadri di quel particolare
  • Cover band che imparano a suonare come un gruppo musicale specifico ascoltando tanta musica di quel gruppo

Per produrre output unici e creativi, i modelli generativi vengono inizialmente addestrati utilizzando 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 alle attività che potrebbe essere chiesto di eseguire, ad esempio riassumere un articolo o modificare una foto.

L'IA generativa è una tecnologia in rapida evoluzione con nuovi casi d'uso che vengono scoperti costantemente. 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.