Cos'è il machine learning?

Il machine learning è un tipo di programma informatico che può imparare a eseguire attività senza istruzioni precise.

Obiettivi di apprendimento

Dopo aver letto questo articolo sarai in grado di:

  • Definire il machine learning
  • Spiegare come funziona il machine learning
  • Distinguere tra modelli e algoritmi di machine learning

Argomenti correlati


Vuoi saperne di più?

Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.

Fai riferimento all'Informativa sulla privacy di Cloudflare per scoprire come raccogliamo ed elaboriamo i tuoi dati personali.

Copia link dell'articolo

Cos'è il machine learning?

Per machine learning si intende un tipo di algoritmo statistico in grado di apprendere senza istruzioni definite. Ciò gli consente di svolgere autonomamente determinati compiti, come l'identificazione di modelli, generalizzando a partire da esempi. Il machine learning fa parte dell'intelligenza artificiale (IA), che si riferisce alla capacità di un computer di duplicare l'attività cognitiva umana.

Il machine learning ha una vasta gamma di usi, tra cui:

  • Identificazione dello spam e-mail
  • Rilevamento dell'attività dei bot
  • Consigliare contenuti agli utenti su piattaforme di streaming e app di social media
  • Fornire i risultati dei motori di ricerca
  • Riconoscimento vocale e di immagini
  • Chatbot e traduzione linguistica
  • Ricerca medica

Machine learning e intelligenza artificiale

Machine learning e intelligenza artificiale non sono esattamente la stessa cosa; piuttosto, il machine learning come disciplina rientra nell'ambito dell'intelligenza artificiale. Ma non tutta l'intelligenza artificiale coinvolge il machine learning, poiché l'IA può includere anche una serie di altre abilità.

Come funziona il machine learning?

Il machine learning si basa su input e output. Un algoritmo di machine learning riceve dati (input) che utilizza per produrre un risultato (output). Un modello di machine learning "impara" che tipo di output produrre e può farlo attraverso tre metodi principali:

1. Apprendimento supervisionato

Nel tipo più elementare di programma di machine learning, il programmatore seleziona un set di input di esempio e gli output corretti. L'algoritmo di machine learning prova a generalizzare da questi esempi in modo che, quando alimentato da solo un input, possa produrre l'output desiderato.

Immagina uno chef a cui viene data una cucina piena di ingredienti (input) e un menu con un gran numero di esempi di piatti finiti tratti dal menu (output). Combinando gli ingredienti in modi diversi e confrontando il prodotto finito con i piatti di esempio, lo chef può infine sviluppare le ricette necessarie per creare i piatti del menu. Allo stesso modo, l'apprendimento supervisionato consente a un algoritmo di imparare a produrre risultati corretti senza istruzioni programmate (o una ricetta).

2. Apprendimento non supervisionato

L'apprendimento non supervisionato si verifica quando un algoritmo di machine learning più avanzato viene alimentato con dati grezzi e quindi identifica i modelli da solo. Pensa a uno chef abbastanza abile da guardare semplicemente un menu e inventare ricette per realizzare quei piatti.

3. Apprendimento per rinforzo

In questo stile di apprendimento, l'algoritmo di machine learning viene addestrato tramite feedback. Ci sono risultati "buoni" e risultati "cattivi" e, col tempo, impara come evitare quelli cattivi.

L'apprendimento per rinforzo è un processo di tentativi ed errori. Immagina che lo chef non abbia un menu con cui iniziare, ma invece tutto ciò che cucina viene valutato da un critico gastronomico. Alla fine, lo chef è in grado di stilare una lista di piatti che piacciono al critico gastronomico, dopo aver escluso tutti quelli che non gli piacciono.

Cos'è un modello di machine learning?

Un algoritmo è un insieme di passaggi pre-programmati; un modello di machine learning è il risultato dell'applicazione di un algoritmo a una raccolta di dati. Nonostante questa distinzione, i termini "modello di machine learning" e "algoritmo di machine learning" sono talvolta usati in modo intercambiabile. Ma la differenza è importante: due modelli di machine learning possono produrre risultati diversi anche se utilizzano lo stesso algoritmo, purché a ciascun modello siano stati forniti dati diversi come punto di partenza.

Cos'è il deep learning?

Il deep learning è un tipo di machine learning. Utilizza le reti neurali per imparare a riconoscere schemi e fare associazioni in dati grezzi e non strutturati. Il deep learning non è supervisionato e può eseguire attività estremamente complesse. Viene spesso utilizzato per il riconoscimento vocale, la guida autonoma e altre applicazioni avanzate.

Cos'è una rete neurale?

Una rete neurale è un metodo di machine learning che imita la struttura del cervello umano. Le reti neurali sono costituite da nodi che si connettono tra loro. Questi nodi sono distribuiti su almeno tre livelli: un livello di input, un livello di output e uno o più livelli nascosti.

Ogni livello contiene diversi nodi che si connettono tra loro. Se un nodo percepisce i dati come significativi, li passa al nodo successivo.

Ripensa allo chef che prepara i piatti in cucina:

  • Se lo chef deve fare una torta, potrebbe iniziare esaminando gli ingredienti nella dispensa; questo è come il livello di input di una rete neurale.
  • Lo chef seleziona ingredienti come farina, uova, zucchero e cacao in polvere. Ingredienti come il brodo di pollo o il riso, nel frattempo, non vengono selezionati. È come passare dati statisticamente significativi al nodo successivo.
  • Lo chef combina gli ingredienti in vari modi: mescola l'impasto della torta, prepara la glassa e così via. Immagina questo come gli strati nascosti di una rete neurale, in cui i nodi si passano dati a vicenda.
  • Infine, lo chef cuoce, glassa e serve la torta; questo è il livello di output. Lungo il percorso sono stati eliminati dati irrilevanti o errati (come ingredienti non necessari e combinazioni mescolate in modo errato).

Cos'è un database vettoriale?

Un database vettoriale è un metodo per l'archiviazione dei dati che migliora il machine learning. I database vettoriali consentono ricerche di similarità e l'identificazione di elementi correlati, a differenza delle query di corrispondenza esatta. L'archiviazione dei dati in questo modo aiuta i modelli di machine learning a comprendere il contesto degli input che ricevono.

Un database vettoriale memorizza gli elementi in una matrice con varie dimensioni e con vettori che specificano la posizione di ciascun elemento dei dati lungo tali dimensioni. Ciò consente ai modelli di machine learning di trovare i dati in relazione ad altri dati. Ad esempio, una piattaforma di streaming può associare il machine learning a un database vettoriale per identificare quali film consigliare a uno spettatore in base alla sua cronologia di visione.

Quali sono alcune delle problematiche nella creazione di modelli di machine learning?

Estrazione dei dati: anche i modelli di deep learning più avanzati richiedono l'accesso a enormi set di dati per ottenere risultati accurati. L'archiviazione su cloud è ideale per salvare questi set di big data, poiché il cloud computing è scalabile pressoché all'infinito. Tuttavia, l'accesso a tali dati spesso comporta il pagamento di commissioni di uscita: addebiti da parte dei fornitori di servizi cloud per il trasferimento dei dati dall'archivio.

Potenza di calcolo e infrastruttura: il machine learning, e in particolare il deep learning, richiede molta potenza di calcolo, soprattutto durante l'addestramento dei modelli. I modelli di machine learning richiedono l'uso di servizi hardware o cloud specializzati e costosi, ad esempio più server veloci basati su GPU. Una GPU o un'unità di elaborazione grafica è più potente di una CPU tradizionale. L'adattamento di un modello di machine learning a nuovi casi d'uso richiede anche un bel po' di potenza di calcolo, tuttavia, tecniche come l'adattamento di basso rango (LoRA) possono ridurre il carico computazionale.

In che modo Cloudflare aiuta gli sviluppatori a sviluppare soluzioni di machine learning?

Cloudflare offre una serie di servizi per semplificare l'utilizzo del machine learning per chiunque. Cloudflare Workers AI è una rete globale di GPU che gli sviluppatori possono utilizzare per eseguire attività di IA generativa. Cloudflare Vectorize consente agli sviluppatori di utilizzare un database vettoriale distribuito a livello globale. Inoltre, Cloudflare R2 è lo storage di oggetti senza costi di uscita, che consente agli sviluppatori di archiviare grandi set di dati nel cloud e trasferire tali dati gratuitamente. Scopri di più su Cloudflare for AI.