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 illustra i concetti di base alla base dell'apprendimento automatico.

L'IA 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 gli articoli e generare immagini mai viste prima.

In termini di base, l'ML è il processo di addestramento di un software, chiamato modello, per fare utili previsioni o generare contenuti da dati.

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

Con un approccio di ML, forniremo a un modello ML enormi quantità di dati meteo fino a quando il modello ML non avrà appreso la relazione matematica tra i pattern meteorologici che producono quantità diverse di pioggia. Forniremo quindi al modello i dati meteo attuali, che prevedono la quantità di pioggia.

Verifica di aver compreso

Che cos'è un "modello" nel machine learning?
Un modello è una relazione matematica derivata dai dati che un sistema di 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 di 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 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 su un numero sufficiente di esami precedenti, è ben preparato a sostenere un nuovo esame. Questi sistemi di ML sono "supervisionati" nel senso che una persona fornisce al sistema di ML i 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 centimetri o millimetri è un modello di regressione.

Per altri esempi di modelli di regressione, consulta la tabella seguente:

Scenario Possibili dati di input Previsione numerica
Prezzo futuro della casa Metratura, codice postale, numero di camere da letto e bagni, dimensioni del lotto, tasso di interesse della casa, aliquota dell'imposta sulla proprietà, costi di costruzione e numero di case in vendita nella zona. Il prezzo della casa.
Tempo di percorrenza futuro Condizioni storiche del traffico (raccolte da smartphone, sensori di traffico, applicazioni di ride-hailing e altre applicazioni di navigazione), distanza dalla destinazione e condizioni meteorologiche. 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, čijo l'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 contenente più di due valori, ad esempio un modello che può restituire rain, hail, snow o sleet.

Verifica di aver compreso

Se volessi utilizzare un modello ML per prevedere il consumo di energia per gli edifici commerciali, quale tipo di modello useresti?
Regressione
Il consumo di energia viene misurato in kilowattora (kWh), che è un numero, quindi ti consigliamo di 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 di energia viene misurato in 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 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 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 puntini colorati in cluster racchiusi in una forma e adiacenti tra loro.

Figura 2. Gruppi di cluster con delimitazioni 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 le segmentazioni che definiscono le stagioni. Potresti quindi tentare di assegnare un nome a questi cluster in base alla tua conoscenza del set di dati.

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

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

Un'immagine che mostra punti colorati in cluster etichettati come neve, pioggia, grandine e nessuna pioggia racchiusi in una forma e con i bordi a contatto.

Figura 4. Raggruppamenti di modelli meteorologici etichettati come neve, nevischio, pioggia e assenza di pioggia.

Verifica di aver compreso

Che cosa distingue un approccio supervisionato da un approccio non supervisionato?
Un approccio supervisionato viene fornito con dati che contengono la risposta corretta.
Un approccio supervisionato viene fornito con dati che contengono la risposta corretta. Il compito del modello è trovare connessioni nei dati che producono la risposta corretta. Un approccio non supervisionato viene fornito con 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. A seconda della tua comprensione dei dati, sta a te definirli.

Apprendimento per rinforzo

I modelli di apprendimento per rinforzo fanno previsioni ricevendo premi o penalizzazioni in base alle azioni eseguite in un ambiente. Un sistema di reinforcement learning genera un regolamento 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 a giocare a Go.

AI generativa

L'IA generativa è una classe di modelli che crea contenuti a partire dall'input degli utenti. 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ò ricevere vari input e creare vari output, come testo, immagini, audio e video. Può anche prendere e creare combinazioni di questi elementi. Ad esempio, un modello può accettare un'immagine come input e creare un'immagine e un testo come output oppure accettare 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 indicati come "tipo di input" a "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
  • Testo in codice
  • Sintesi vocale
  • Immagine e da testo a immagine

La tabella seguente elenca esempi di modelli generativi, i relativi input e un esempio del 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 motoristica fondata nel 1906. La prima gara si è svolta il 26 e il 27 maggio 1923 sul Circuito di la Sarthe, un circuito stradale di 13,426 chilometri situato nei pressi della città di Le Mans in Francia. La gara è stata originariamente 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 disegnato a fumetti.
Fonte: Imagen
da testo a video Un orsacchiotto fotorealistico nuota nell'oceano a San Francisco. L'orsacchiotto si immerge nell'acqua. Il peluche continua a nuotare sotto l'acqua con pesci colorati. Un panda sta nuotando sott'acqua. Video di un orsacchiotto che nuota sott'acqua.
Fonte: Phenaki
Testo in codice Scrivi un ciclo Python che esamini 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 gli schemi nei dati con l'obiettivo di produrre dati nuovi, ma simili. I modelli di generazione sono i seguenti:

  • Comici che imparano a imitare gli altri osservando i comportamenti e lo stile di conversazione delle persone
  • Artisti che imparano a dipingere in un determinato stile studiando molti dipinti nello stesso stile
  • Cover band che imparano a suonare come un gruppo musicale specifico ascoltando moltissima musica del 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 basato sul rinforzo su dati specifici relativi alle attività che potrebbe essere richiesto 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 attività a perfezionare le immagini prodotto di e-commerce rimuovendo automaticamente gli sfondi che distraggono o migliorando la qualità delle immagini a bassa risoluzione.