Il machine learning è un tipo di programma informatico che può imparare a eseguire attività senza istruzioni precise.
Dopo aver letto questo articolo sarai in grado di:
Argomenti correlati
Cos'è il deep learning?
Cos'è l'intelligenza artificiale (IA)?
IA predittiva
IA generativa
Large Language Model (LLM)
Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.
Copia link dell'articolo
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:
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à.
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:
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).
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.
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.
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.
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.
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:
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.
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.
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.