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 di base dell'ML.

L'ML 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 canzoni, completare automaticamente le frasi, riassumere articoli e generare immagini mai viste prima.

In termini semplici, l'ML è il processo di addestramento di un software, chiamato modello, per fare previsioni utili o generare contenuti (come testo, immagini, audio o video) a partire dai dati.

Ad esempio, supponiamo di voler creare un'app per prevedere le precipitazioni. Potremmo utilizzare un approccio tradizionale o un approccio ML. Con un approccio tradizionale, creeremmo una rappresentazione basata sulla fisica dell'atmosfera e della superficie terrestre, calcolando enormi quantità di equazioni di fluidodinamica. È incredibilmente difficile.

Utilizzando un approccio di ML, forniremo a un modello di ML enormi quantità di dati meteo finché il modello di ML non apprenda la relazione matematica tra i pattern meteorologici che producono quantità di pioggia diverse. Quindi, forniremmo al modello i dati meteo attuali e questo prevederebbe la quantità di pioggia.

Verifica di aver compreso tutto

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 del computer
Un modello è una rappresentazione più piccola dell'oggetto che stai studiando.

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
  • AI generativa

Apprendimento supervisionato

I modelli di apprendimento supervisionato possono fare previsioni dopo aver visto molti dati con le risposte corrette e poi aver scoperto le connessioni tra gli elementi nei dati che producono le risposte corrette. È come se uno studente imparasse nuovo materiale studiando vecchi esami che contengono sia domande che risposte. Una volta che lo studente si è esercitato con un numero sufficiente di vecchi esami, è pronto per sostenere un nuovo esame. Questi sistemi di ML sono "supervisionati" nel senso che un essere umano fornisce al sistema di ML dati 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 riportata di seguito per altri esempi di modelli di regressione:

Scenario Possibili dati di input Previsione numerica
Prezzo futuro della casa Superficie in piedi quadrati, codice postale, numero di camere da letto e bagni, dimensioni del lotto, tasso di interesse del mutuo, aliquota della tassa sulla proprietà, costi di costruzione e numero di case in vendita nella zona. Il prezzo della casa.
Orario di corsa futuro Condizioni del traffico storiche (raccolte da smartphone, sensori del traffico, applicazioni di ride-sharing 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 un elemento 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 suddivisi 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 di aver compreso tutto

Se volessi utilizzare un modello ML per prevedere il consumo di energia per gli edifici commerciali, quale tipo di modello utilizzeresti?
Regressione
L'utilizzo di energia viene misurato in chilowattora (kWh), che è un numero, quindi ti consigliamo di utilizzare un modello di regressione.
Classificazione
I modelli di classificazione prevedono se un elemento 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, ti consigliamo di utilizzare un modello di regressione.

Apprendimento non supervisionato

I modelli di apprendimento non supervisionato fanno previsioni ricevendo 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 ha suggerimenti su come categorizzare ogni dato, ma deve dedurre le proprie regole.

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

Un'immagine che mostra punti colorati in cluster.

Figura 1. Un modello ML che raggruppa punti dati simili.

Un'immagine che mostra punti colorati in cluster racchiusi in una forma e che si toccano 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 tentare di assegnare un nome a questi cluster in base alla tua comprensione del set di dati.

Un'immagine che mostra punti colorati in cluster etichettati come neve, pioggia, grandine e assenza di pioggia.

Figura 3. Un modello ML che raggruppa pattern meteorologici simili.

Un'immagine che mostra punti colorati in cluster etichettati come neve, pioggia, grandine e assenza di pioggia racchiusi in una forma e adiacenti tra loro.

Figura 4. Gruppi di condizioni meteorologiche etichettati come neve, nevischio, pioggia e assenza di pioggia.

Verifica di aver compreso tutto

Che cosa distingue un approccio supervisionato da uno non supervisionato?
Un approccio supervisionato riceve dati che contengono la risposta corretta.
Un approccio supervisionato riceve 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 in genere utilizza 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 ricompense o penalità in base alle azioni eseguite in un ambiente. Un sistema di reinforcement learning genera una norma che definisce la strategia migliore per ottenere il maggior numero di premi.

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

AI generativa

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

L'IA generativa può accettare una serie di input e creare una serie di output, come testo, immagini, audio e video. Può anche prendere e creare combinazioni di questi elementi. Ad esempio, un modello può prendere un'immagine come input e creare un'immagine e 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" -"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 contiene esempi di modelli generativi, il loro input e il loro possibile output:

Modello Input Output di esempio
da testo a testo Chi ha inventato la gara di Le Mans? La 24 Ore di Le Mans è stata fondata dall'Automobile Club de l'Ouest (ACO), un'organizzazione automobilistica fondata nel 1906. La prima gara si è tenuta il 26 e 27 maggio 1923 sul circuito della Sarthe, un circuito stradale di 13,426 chilometri (8,345 miglia) situato vicino alla città di Le Mans in Francia. La gara è stata inizialmente concepita come un modo per promuovere l'ACO e la regione della Sarthe.
Fonte: Bard
da testo a immagine Un polpo alieno fluttua attraverso un portale mentre legge un giornale. Immagine di un polpo in stile cartone animato.
Fonte: Imagen
da testo a video Un orsacchiotto fotorealistico sta nuotando 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 ciclo Python che scorra un elenco di numeri e 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
Da immagine a 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 pattern nei dati con l'obiettivo di produrre dati nuovi ma simili. I modelli generativi sono simili ai seguenti:

  • Comici che imparano a imitare gli altri osservando i comportamenti e lo stile di linguaggio delle persone
  • Artisti che imparano a dipingere in un determinato stile studiando molti quadri in quello 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 utilizzando un approccio non supervisionato, in cui il modello impara a imitare i dati su cui è addestrato. A volte il modello viene ulteriormente addestrato utilizzando l'apprendimento supervisionato o per rinforzo su dati specifici relativi alle attività che potrebbe essere richiesto di eseguire, ad esempio riassumere un articolo o modificare una foto.

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