Passa al contenuto principale

Machine learning

Cos'è il machine learning?

Il machine learning è un tipo di intelligenza artificiale che esegue attività di analisi dei dati senza istruzioni esplicite. La tecnologia di machine learning può elaborare grandi quantità di dati storici, identificare modelli e prevedere nuove relazioni tra dati precedentemente sconosciuti. È possibile eseguire attività di classificazione e previsione su documenti, immagini, numeri e altri tipi di dati. 

Ad esempio, un'organizzazione finanziaria potrebbe addestrare un sistema di machine learning per distinguere le transazioni fraudolente da quelle autentiche. Il sistema identifica i modelli nei dati noti per indovinare o prevedere con precisione se una nuova transazione è autentica.

Cos'è il machine learning in parole semplici?

ML è l’acronimo di Machine Learning (apprendimento automatico), una branca dell’intelligenza artificiale (IA) e dell’informatica che sfrutta dati e algoritmi per consentire ai sistemi di IA di apprendere e migliorare in modo simile agli esseri umani, migliorando progressivamente la loro precisione nel tempo.

Qual è la differenza tra machine learning e intelligenza artificiale?

Sebbene i termini machine learning e intelligenza artificiale (IA) siano usati in modo intercambiabile, non sono la stessa cosa. Il machine learning è uno dei tanti rami dell'IA. Sebbene il machine learning sia IA, non tutte le attività di IA possono definirsi machine learning.

L'intelligenza artificiale è un termine inclusivo che indica diverse strategie e tecniche utilizzate per rendere le macchine più simili agli umani. Il termine IA include di tutto: smart assistant come Alexa, chatbot e generatori di immagini, robot aspirapolvere e auto a guida autonoma. 

Al contrario, i modelli di machine learning eseguono attività di analisi dei dati più specifiche, come la classificazione di documenti, l'etichettatura di immagini o la previsione del programma di manutenzione delle apparecchiature di fabbrica. La tecnologia di machine learning si basa principalmente su matematica e statistica, mentre altri tipi di intelligenza artificiale sono più complessi.

Scopri di più sul machine learning e l'intelligenza artificiale

Qual è la differenza tra machine learning e deep learning?

Il deep learning è una forma specializzata di machine learning che utilizza reti neurali artificiali per imitare il cervello umano. È una tecnica avanzata per la gestione di attività complesse come il riconoscimento di immagini e voce. Il deep learning ha gettato le basi per i progressi fatti nell’IA generativa.

Come funziona il machine learning?

L’idea fondamentale alla base del machine learning riguarda l’esistenza di una relazione matematica tra una combinazione di dati di input e di output. Il modello di machine learning non conosce questa relazione in anticipo, ma può elaborare una supposizione se vengono forniti esempi sufficienti di set di dati di input-output. Ciò significa che ogni algoritmo di machine learning viene costruito sulla base di una funzione matematica modificabile. È possibile comprendere il principio di fondo in questo modo:

  1. Noi “addestriamo” l’algoritmo fornendogli le seguenti combinazioni di input/output (i, o): (2, 10), (5, 19) e (9, 31)
  2. Secondo i calcoli dell’algoritmo, la relazione tra input e output è: o=3*i+4
  3. Successivamente, forniamo un input di 7 e chiediamo di predire l’output. L’algoritmo è in grado di stabilire automaticamente che l’output è pari a 25.

Nonostante questa sia una comprensione di base, il machine learning si fonda sul principio secondo cui tutti i punti dati complessi possono essere collegati matematicamente dai sistemi informatici purché questi dispongano di dati e potenza di calcolo sufficienti per elaborare tali dati. Di conseguenza, la precisione dell’output è direttamente correlata all’ampiezza dell’input fornito. Di seguito sono riportate le fasi di machine learning.

Pre-elaborazione dei dati

I dati grezzi vengono puliti e trasformati per addestrare un modello di machine learning. Ciò implica attività come la gestione dei valori mancanti, la normalizzazione dei dati su una scala comune o la codifica dei dati di testo in formati numerici. I dati possono anche essere aumentati o manipolati per migliorare la gestione del modello di un determinato caso d'uso. La pre-elaborazione garantisce che i dati inseriti nel modello siano pertinenti e strutturati in modo appropriato.

Addestramento del modello

I dati pre-elaborati vengono utilizzati per addestrare l'algoritmo di machine learning. L'algoritmo cerca di identificare iterativamente la correlazione matematica tra l'input e l'output previsto dai dati di addestramento. Il modello apprende, a sua volta, modelli oltre a relazioni all'interno dei dati, incapsulando queste conoscenze nei suoi parametri. Regola i parametri per ridurre al minimo la differenza tra le sue previsioni e i risultati effettivi noti nei dati di addestramento.

Valutazione del modello

L'obiettivo è garantire che il modello possa generalizzarsi oltre il set di dati di addestramento. A tale scopo viene utilizzato un set di dati separato chiamato “set di convalida”. L'output del modello viene misurato utilizzando diverse metriche e benchmark. Ad esempio, si consideri un modello addestrato a identificare immagini di frutti come mele e banane conservate in cestini. La valutazione verifica se è in grado di identificare correttamente gli stessi frutti dalle immagini che mostrano i frutti posti su un tavolo o in mano a qualcuno.

Ottimizzazione

L'ottimizzazione implica il perfezionamento del modello al fine di migliorarne le prestazioni. A seconda del tipo di modello, i data scientist possono riconfigurare i processi di apprendimento o eseguire l'ingegneria delle caratteristiche, che crea nuove funzionalità di input dai dati esistenti. L'obiettivo è migliorare l'accuratezza, l'efficienza e la capacità del modello di generalizzare bene i nuovi dati.

Quali sono i vantaggi del machine learning?

I dati sono la forza trainante fondamentale del processo decisionale aziendale. Le organizzazioni moderne generano dati da migliaia di fonti, tra cui sensori intelligenti, portali per i clienti, social media e log delle applicazioni. Il machine learning automatizza e ottimizza il processo di raccolta, classificazione e analisi dei dati. Le aziende possono stimolare la crescita, sbloccare nuovi flussi di entrate e risolvere problemi complessi più rapidamente.

Ecco alcuni dei vantaggi ottenibili con il machine learning:

Migliori processi decisionali

I sistemi di machine learning elaborano e analizzano enormi volumi di dati in modo rapido e preciso. Identificano modelli imprevisti in dati dinamici e complessi in tempo reale. Le organizzazioni prendono decisioni basate sui dati in runtime e rispondono in modo più efficace a condizioni mutevoli. Ottimizzano le operazioni e mitigano i rischi con sicurezza.

Automazione delle attività di routine

Gli algoritmi di machine learning filtrano, ordinano e classificano i dati senza l'intervento umano. Possono riepilogare report, scansionare documenti, trascrivere audio ed etichettare i contenuti; attività noiose e che richiedono molto tempo per essere eseguite dagli esseri umani. L'automazione di attività di routine e ripetitive porta a sostanziali aumenti di produttività e riduzioni dei costi. Ne consegue anche una maggiore precisione ed efficienza.

Esperienza cliente migliorata

Il machine learning trasforma le esperienze dei clienti attraverso la personalizzazione. Ad esempio, i rivenditori consigliano i prodotti ai clienti in base agli acquisti precedenti, alla cronologia di navigazione e ai modelli di ricerca. I servizi di streaming personalizzano i consigli di visualizzazione nel settore dell'intrattenimento. L'approccio personalizzato aumenta la fidelizzazione dei clienti e la fedeltà al marchio.

Gestione proattiva delle risorse

Le organizzazioni utilizzano il machine learning per prevedere tendenze e comportamenti con elevata precisione. Ad esempio, l'analisi predittiva anticipa le esigenze di inventario e ottimizza i livelli delle scorte per ridurre i costi generali. Gli approfondimenti predittivi sono fondamentali per la pianificazione e l'allocazione delle risorse, rendendo le organizzazioni più proattive anziché reattive.

Miglioramento continuo

Un vantaggio distintivo del machine learning è la sua capacità di migliorare man mano che elabora più dati. I sistemi di machine learning, infatti, si adattano e si migliorano apprendendo dai nuovi dati. Adattano e migliorano le loro prestazioni per mantenersi pratici e rilevanti nel tempo.

Quali sono i casi d'uso del machine learning?

Diamo un’occhiata alle applicazioni del machine learning in alcuni settori chiave:

Settore manifatturiero

Il machine learning può supportare la manutenzione predittiva, i controlli qualità e la ricerca innovativa nel settore manifatturiero. Inoltre, permette alle aziende di migliorare le soluzioni logistiche, tra cui le risorse, il processo di produzione e distribuzione e la gestione dell’inventario. Ad esempio, il gigante manifatturiero 3M utilizza il machine learning per innovare la carta vetrata. Gli algoritmi di machine learning permettono ai ricercatori di 3M di analizzare il modo in cui lievi cambiamenti di forma, dimensione e orientamento possono migliorare l'abrasività e la durata. Questi suggerimenti influenzano a loro volta il processo di produzione.

Sanità e scienze biologiche

La diffusione di sensori e dispositivi indossabili ha generato un importante volume di dati sanitari. I programmi di machine learning analizzano queste informazioni e supportano i medici nelle diagnosi e nelle terapie in tempo reale. I ricercatori di machine learning stanno sviluppando soluzioni in grado di rilevare tumori e di diagnosticare malattie degli occhi, con un impatto significativo sui risultati sanitari. Ad esempio, Cambia Health Solutions utilizza il machine learning per automatizzare e personalizzare il trattamento per le donne incinte.

Servizi finanziari

I progetti di machine learning in ambito finanziario migliorano l’analisi dei dati e il regolamento dei rischi. La tecnologia del machine learning permette agli investitori di individuare nuove opportunità analizzando i movimenti del mercato azionario, valutando fondi speculativi o calibrando portafogli finanziari. Inoltre, può aiutare ad individuare clienti ad alto rischio che hanno contratto un prestito e a mitigare gli indizi di frode. Ad esempio, NerdWallet, una società di finanza personale, utilizza il machine learning per confrontare prodotti finanziari come carte di credito, servizi bancari e prestiti.

Vendita al dettaglio

La vendita al dettaglio può avvalersi del machine learning per migliorare il servizio clienti, la gestione dello stock, l’upselling e il marketing multicanale. Ad esempio, Amazon Fulfillment (AFT) ha ridotto i costi dell'infrastruttura del 40% utilizzando un modello di machine learning per identificare gli articoli fuori posto. Ciò permette di mantenere la promessa di Amazon secondo cui un articolo sarà immediatamente disponibile per i clienti e arriverà in tempo, nonostante l’elaborazione di milioni di spedizioni in tutto il mondo ogni anno.

Media e intrattenimento

Le aziende di intrattenimento sono passate al machine learning per avere una migliore comprensione del proprio pubblico e per offrire contenuti immersivi, personalizzati e on demand. Gli algoritmi di machine learning vengono implementati per progettare trailer e altri spot pubblicitari, offrire ai clienti suggerimenti personalizzati sui contenuti e ottimizzare la produzione. 

Ad esempio, Disney usa il machine learning per archiviare la sua libreria multimediale. Gli strumenti di machine learning etichettano, descrivono e smistano automaticamente i contenuti multimediali permettendo agli autori e agli animatori Disney di trovare velocemente i personaggi Disney e familiarizzare facilmente con loro.

Visione artificiale

La visione artificiale è una tecnologia che riconosce e descrive automaticamente le immagini in modo accurato ed efficiente. Oggi, i sistemi informatici possono accedere a molte immagini e video da smartphone, telecamere del traffico, sistemi di sicurezza e altri dispositivi. Le applicazioni di visione artificiale utilizzano il machine learning per elaborare questi dati accuratamente in modo da identificare gli oggetti e riconoscere i volti, nonché per la classificazione, la raccomandazione, il monitoraggio e il rilevamento.

Ad esempio, CampSite è una piattaforma software leader per i campi estivi. I campi caricano migliaia di immagini ogni giorno per collegare i genitori all'esperienza del campo dei propri figli. Trovare le foto dei figli in campo era diventato un compito frustrante e dispendioso in termini di tempo per i genitori. CampSite utilizza il machine learning per identificare automaticamente le immagini e avvisare i genitori quando vengono caricate nuove foto del loro bambino.

Quali sono i tipi di algoritmi di machine learning?

Gli algoritmi di machine learning possono essere suddivisi in quattro diversi stili di apprendimento a seconda dell’output atteso e del tipo di input.

Machine learning con apprendimento supervisionato

I data scientist forniscono agli algoritmi dati di addestramento etichettati e definiti per valutare le correlazioni. I dati campione specificano sia l’input che l’output dell’algoritmo. L'etichettatura dei dati sta classificando i dati di input con i corrispondenti valori di output definiti. Ad esempio, milioni di immagini di mele e banane dovrebbero essere taggate con le parole “mela” o “banana.” Quindi, le applicazioni di machine learning potrebbero utilizzare questi dati di addestramento per indovinare il nome del frutto quando viene fornita un'immagine di un frutto.

I punti di forza dell’apprendimento supervisionato sono la semplicità e la facilità di progettazione. È utile per predire un numero limitato di risultati, dividere i dati in categorie o combinare i risultati di altri due algoritmi di machine learning. Tuttavia, etichettare milioni di dati non etichettati rappresenta una sfida.

Machine learning con apprendimento senza supervisione

Gli algoritmi di apprendimento senza supervisione vengono addestrati sulla base di dati non etichettati. Possono esaminare nuovi dati, stabilendo relazioni significative tra input e output predeterminati. Possono individuare modelli e categorizzare i dati. Ad esempio, gli algoritmi non supervisionati possono raggruppare articoli da diversi siti di notizie in categorie comuni come sport, criminalità, ecc. Possono usare l’elaborazione del linguaggio naturale per comprendere il significato e il sentimento dell’articolo. Nel settore della vendita al dettaglio, l'apprendimento senza supervisione potrebbe individuare modelli negli acquisti dei clienti e fornire risultati di analisi dei dati. Ad esempio, è più probabile che il cliente acquisti pane se acquista anche burro.

L’apprendimento senza supervisione è utile per il riconoscimento di modelli, il rilevamento di anomalie e il raggruppamento automatico di dati in categorie. Siccome i dati di addestramento non devono essere etichettati, la configurazione è piuttosto semplice. Questi algoritmi possono essere utilizzati anche per pulire e processare i dati per la modellazione automatica. I limiti di questo metodo sono il non poter fornire previsioni precise e il non poter individuare in modo indipendente risultati di dati specifici.

Machine learning con apprendimento semi-supervisionato

Come suggerisce il nome, questo metodo combina l’apprendimento supervisionato e non supervisionato. La tecnologia si basa sull'utilizzo di una piccola quantità di dati etichettati e di una grande quantità di dati non etichettati per addestrare il sistema. Innanzitutto, i dati etichettati sono utilizzati per addestrare parzialmente l'algoritmo di machine learning. Successivamente, l'algoritmo parzialmente addestrato etichetta i dati non etichettati. Questo processo è chiamato pseudo-etichettatura. Il modello viene poi riaddestrato sulla base dei dati ottenuti senza essere esplicitamente programmato.

Il vantaggio di questo metodo è che non richiede grandi quantità di dati etichettati. Risulta pratico per lavorare con dati che richiederebbero troppo tempo per essere letti ed etichettati dall’uomo, ad esempio lunghi documenti.

Apprendimento per rinforzo

L'apprendimento per rinforzo è un metodo con valori di ricompensa associati alle diverse fasi che l'algoritmo deve seguire. L’obiettivo del modello è, quindi, quello di accumulare la maggiore quantità di punti ricompensa possibile per poter raggiungere un traguardo. Nel corso dell’ultimo decennio, l’apprendimento per rinforzo è stato applicato per lo più al settore dei videogiochi. I rivoluzionari algoritmi dell’apprendimento per rinforzo hanno raggiunto risultati impressionanti nei giochi classici e moderni, superando spesso in maniera significativa le loro controparti umane. 

La sfida dell'apprendimento per rinforzo è che gli ambienti del mondo reale cambiano spesso, in modo significativo e con un preavviso limitato. Ciò rende più difficile, per l'algoritmo, dimostrarsi efficace nella pratica. Anche le distorsioni degli sviluppatori possono influire sui risultati. Progettando le ricompense, i data scientist possono influenzare i risultati.

Deep learning

Ildeep learning è un tipo di tecnica di machine learning modellata sul cervello umano. Gli algoritmi di deep learning analizzano i dati con una struttura logica simile a quella usata dagli umani. Usano reti neurali artificiali per elaborare le informazioni su livelli. Una rete neurale artificiale (ANN) è costituita da nodi software chiamati “neuroni artificiali” che elaborano i dati collettivamente. I dati fluiscono dal livello di input attraverso diversi livelli profondi di reti neurali nascoste prima di arrivare al livello di output. Gli ulteriori livelli nascosti supportano un apprendimento molto più capace rispetto a quello di modelli di machine learning standard.

Scopri di più sulle reti neurali

Scopri di più sul deep learning e sul machine learning

I modelli di machine learning sono deterministici?

Se l’output di un sistema è prevedibile, allora un modello è considerato deterministico. La maggior parte delle applicazioni software reagisce in maniera prevedibile alle operazioni dell’utente, quindi è possibile dire: “Se l’utente fa così, ottiene questo risultato.” Tuttavia, gli algoritmi di machine learning apprendono tramite l’osservazione e le esperienze. Di conseguenza, sono probabilistici per natura. L’affermazione adesso si trasforma in: “Se l’utente fa così, vi è una possibilità del X% che succeda questo.”

Nel machine learning, il determinismo è una strategia adottata nell’applicazione dei metodi descritti sopra. Tutti i metodi di apprendimento supervisionato, non supervisionato o di altro tipo possono essere resi deterministici a seconda dei risultati desiderati dall’azienda. L'oggetto della ricerca, il recupero dei dati, le decisioni riguardanti la struttura e l’archiviazione stabiliscono se viene adottata una strategia deterministica o meno.

Approccio deterministico e approccio probabilistico

L’approccio deterministico si concentra sull’accuratezza e sulla quantità di dati raccolti. Quindi l’efficienza è prioritaria rispetto all’incertezza. D'altro canto, però, il processo non deterministico (o probabilistico) è progettato per la gestione del fattore casuale. Gli strumenti integrati negli algoritmi di machine learning per aiutare a quantificare, identificare e misurare l'incertezza durante l'apprendimento e l'osservazione.

Come implementare il machine learning in un'organizzazione?

Per iniziare con il machine learning, è necessario implementare il ciclo di vita del machine learning stesso. Si compone delle seguenti fasi.

Obiettivo aziendale

Un'organizzazione che stia considerando l'implementazione del machine learning dovrebbe, innanzitutto, identificare i problemi che vuole risolvere. Identifica il valore aziendale ottenibile utilizzando il machine learning per la risoluzione dei problemi. È possibile misurare il valore aziendale utilizzando criteri di successo specifici per gli obiettivi aziendali? Un approccio orientato agli obiettivi aiuta a giustificare le spese e a convincere i principali stakeholder.

Inquadramento del problema

Successivamente, è necessario inquadrare il problema aziendale come problema di machine learning. Identifica ciò che viene osservato e ciò che deve essere previsto. In questa fase è fondamentale determinare cosa prevedere e come ottimizzare le metriche relative alle prestazioni e agli errori.

Elaborazione di dati

L'elaborazione dei dati converte i dati in un formato utilizzando algoritmi di machine learning. Include l'identificazione, la raccolta e la pre-elaborazione dei dati insieme all'ingegneria delle caratteristiche. Dai dati vengono create, trasformate, estratte e selezionate variabili di machine learning.

Sviluppo e implementazione del modello

Questo è il processo principale di addestramento, ottimizzazione e valutazione del modello, come descritto nella sezione precedente. Include la creazione di MLOps. Il Machine Learning Operations (MLOps) sono un insieme di pratiche che automatizzano e semplificano i flussi di lavoro e le implementazioni di machine learning (ML). Unificano lo sviluppo del ML con l'implementazione e le operazioni. Ad esempio, è possibile creare una pipeline CI/CD che automatizzi la compilazione, l'addestramento e il rilascio negli ambienti di staging e produzione.

Monitoraggio

Un sistema di monitoraggio dei modelli garantisce che il modello mantenga il livello di prestazioni desiderato attraverso il rilevamento e la mitigazione precoci. Include la raccolta di feedback degli utenti per mantenere e migliorare il modello in modo che si mantenga rilevante nel tempo.

Quali sono le sfide nell'implementazione del machine learning?

Di seguito sono riportate le sfide che l'implementazione del machine learning comporta.

Qualità dei dati

Le prestazioni di un modello di machine learning dipendono dalla qualità dei dati utilizzati per il suo addestramento. Problemi quali valori mancanti, immissioni di dati non coerenti e rumore possono ridurre significativamente la precisione del modello. Inoltre, la mancanza di un set di dati sufficientemente ampio può impedire al modello di apprendere in modo efficace. Garantire l'integrità dei dati e aumentarne la raccolta verticalmente senza compromettere la qualità sono sfide continue.

Overfitting e underfitting

L’overfitting si verifica quando un modello di machine learning apprende i dettagli e il rumore nei dati di addestramento a tal punto da influire negativamente sulle prestazioni del modello su nuovi dati. Il modello acquisisce, a sua volta, modelli che non generalizzano rispetto ad altri set di dati. L'underfitting, invece, si verifica quando un modello non è in grado di apprendere il modello sottostante dei dati, con conseguenti scarse prestazioni sia sui dati di addestramento che su quelli di test. Bilanciare la complessità del modello e la sua capacità di generalizzazione è una sfida fondamentale.

Distorsioni

I dati possono essere sbilanciati in molte applicazioni del mondo reale, il che significa che alcune classi sono significativamente più frequenti di altre. Questo squilibrio può influenzare il processo di addestramento, facendo sì che il modello funzioni bene nella classe maggioritaria senza riuscire a prevedere con precisione la classe minoritaria. Ad esempio, se i dati storici danno la priorità a un determinato gruppo demografico, gli algoritmi di machine learning utilizzati nelle candidature delle risorse umane potrebbero continuare a dare priorità a tali gruppi demografici. Tecniche come il ricampionamento dei dati, l'utilizzo di diverse metriche di valutazione o l'applicazione di algoritmi di rilevamento delle anomalie attenuano il problema in una certa misura.

Spiegabilità del modello

Man mano che i modelli di machine learning, in particolare i modelli di deep learning, diventano più complessi, le loro decisioni diventano meno interpretabili. Lo sviluppo di metodi per rendere i modelli più interpretabili senza sacrificarne le prestazioni è una sfida importante. Influisce sull'usabilità, sull'affidabilità e sulle considerazioni etiche dell'implementazione di sistemi di machine learning.

Scalabilità

I modelli di machine learning, in particolare quelli che coinvolgono set di dati di grandi dimensioni o algoritmi complessi come il deep learning, richiedono risorse computazionali significative. L'addestramento di questi modelli può richiedere molto tempo e denaro. L'ottimizzazione degli algoritmi per ridurre le richieste computazionali comporta sfide nella progettazione degli algoritmi. I servizi basati sul cloud AWS supportano un'implementazione su larga scala economicamente vantaggiosa.

Cos’è l'addestramento del machine learning per i principianti?

Il machine learning richiede una solida base in matematica, statistica, codifica e tecnologie di dati. Per coloro che desiderano raggiungere un livello avanzato sul machine learning potrebbe essere opportuno valutare l'idea di completare un master in intelligenza artificiale o data science. Questi programmi riguardano in genere argomenti come le reti neurali, l'elaborazione del linguaggio naturale e la visione artificiale.

Tuttavia, l'istruzione formale non è l'unica strada. È possibile utilizzare i corsi online per imparare al proprio ritmo e acquisire competenze specifiche. L'addestramento del machine learning su AWS include certificazioni da parte di esperti AWS su argomenti come:

In che modo può essere utile il servizio di machine learning di AWS?

AWS mette il machine learning a disposizione di qualunque utente sviluppatore, data scientist o aziendale. I servizi di AWS Machine Learning forniscono infrastrutture con prestazioni elevate, economicamente vantaggiose e scalabili per soddisfare le esigenze aziendali.

Inizia a usare il machine learning su AWS creando un account AWS gratuito oggi stesso.