Machine learning: cos’è e come funziona l’apprendimento automatico

Machine learning: cos’è e come funziona l’apprendimento automatico

pittogramma Zerouno

Guida

Machine learning: cos’è e come funziona l’apprendimento automatico

Le applicazioni ML-based non sostituiscono quelle tradizionali, più veloci e precise nel compiere operazioni per cui sono già state programmate. Ma poiché imparano direttamente dall’esperienza sui dati, possono risolvere problemi nuovi, di fronte a scenari complessi e comportandosi come l’uomo quando utilizza l’intuito e la memoria

3 giorni fa

di Riccardo Cervelli

Oggi un pc, uno smartphone o un qualsiasi dispositivo digitale – standalone o, meglio ancora, collegato al cloud – si può comportare in maniera “intelligente” come o più di un essere umano. Solitamente questo avviene perché utilizza qualche applicazione di machine learning (ML). E ormai sono miliardi i dispositivi e i software di questo tipo diffusi in tutto il mondo.

Cos’è il machine learning

Oggi, il machine learning è considerato la concretizzazione più matura dell’intelligenza artificiale (IA) o artificial intelligence (AI). Un’applicazione ML-based difficilmente può sostituire una convenzionale, in cui le regole per ottenere specifici obiettivi sono già state fornite nel codice: un software basato sull’apprendimento automatico, infatti, a differenza di uno tradizionale impara come risolvere i problemi effettuando esperienza direttamente con i dati.

WEBINAR
27 Ottobre 2021 - 16:30
FORUM PA 2021- Sanità: con i Big Data nuovo modello di salute connessa e predittiva
Big Data
Intelligenza Artificiale

Come funziona l’apprendimento delle macchine

Affinché una macchina sia in grado generare al proprio interno le regole per elaborare i dati in ingresso (spazio di input) sono necessari algoritmi appositi di ML (scritti con linguaggi comuni come C++, Pyton o Java), moltissimi dati di esempio, capacità computazionale e memoria.

Funzionamento di un algoritmo di machine learning

Come sono diversi i modi di imparare degli esseri viventi, in base al tipo di problemi da risolvere, così gli algoritmi di machine learning prevedono differenze a seconda del tipo di apprendimento che devono consentire. Ricordiamo che un algoritmo è una serie di operazioni semplici, diverse fra loro, che, eseguite in un ordine prestabilito, permettono di giungere ad un risultato atteso.

3 tipi di Machine learning

Tre sono i più comuni metodi di learning per i quali gli algoritmi devono essere concepiti: apprendimento supervisionato, apprendimento non supervisionato (o self supervisionato) e apprendimento con rinforzo. In alcuni casi un’applicazione ML può prevedere l’uso di più tipi di learning.

  • Apprendimento supervisionato (supervised learning) – È quello più comunemente utilizzato. Il programma viene addestrato su coppie di dataset input/output predefinite dai trainer in cui le risposte giuste sono già state identificate o etichettate (labeled). Al modello viene chiesto di elaborare gli esempi forniti in ingresso fino ad ottenere risultati uguali a quelli presentati in uscita. Ogni volta che l’applicazione fornisce un risultato diverso da quello atteso, un meccanismo di retroazione innesca un processo di ottimizzazione dell’algoritmo finché, alla fine dell’addestramento, l’applicazione sarà in grado di fornire risposte giuste. O altamente probabili, nel caso in cui il modello riconosce pattern non identici da simili a quelli su cui ha fatto esperienza.
  • Apprendimento non supervisionato (unsupervised learning) – A differenza di quello precedente, in questo caso all’applicazione sono forniti solo esempi in ingresso con dati né labeled né classificati, ossia in inseriti in categorie in base a certe valutazioni (per esempio posta normale o spam). Il modello deve trovare le relazioni non lineari all’interno dei dati e capire quali consentono di raggiungere i risultati migliori rispetto agli obiettivi del modello. Ad esempio la quotazione di un appartamento o il valore di un’azione di borsa in un certo momento.
  • Apprendimento con rinforzo (reinforcement learning) – Questo tipo di learning è utilizzato soprattutto in applicazioni che devono interagire con contesti altamente dinamici e incerti. Come nell’apprendimento supervisionato, al modello sono posti degli obiettivi da raggiungere, un sistema di ricompense (rewards) o penalità (penalties) ma non sono forniti suggerimenti sugli oggetti che può incontrare o sulle regole del gioco adottate nell’ambiente. Il modello impara come effettuare le decisioni in modo iterativo, attraverso tentativi con quello che si trova a disposizione, i reward e le penalty.

Esempi di Machine Learning e applicazioni dell’apprendimento automatico

Un’applicazione ML dipende dai suoi sviluppatori e dai data scientist, che a loro volta – solitamente – rispondono alle richieste di qualcuno che ha obiettivi in qualche settore specifico. Ecco alcuni esempi di ambiti applicativi.

Marketing

Le applicazioni basate sull’apprendimento automatico dai dati sono in grado di ricostruire al proprio interno modelli della realtà e su di esse effettuare valutazioni e previsioni su cui prendere decisioni. Per questo motivo, molte aziende che operano in contesti competitivi sfruttano una o più applicazioni differenti di AI per perfezionare o personalizzare i loro prodotti o servizi e crearne di nuovi in modo rapido.

Gestione patrimoniale, medicina e filiere

Spesso i fattori di cui tenere conto per stabilire il valore di beni mobiliari o immobiliari, fare una diagnosi medica o compiere scelte nella gestione di una filiera di business sono moltissimi e non tutti conosciuti a priori. Per questo motivo, nella realtà, questi operatori si devono basare, oltre che su competenze specifiche, sull’intuito, l’esperienza e la fortuna. Le soluzioni ML, a differenza di quelle tradizionali, estrapolano nessi e leggi, anche di tipo probabilistico, basandosi su una conoscenza creata con l’addestramento su migliaia e migliaia di esempi. E questo le aiuta a fornire suggerimenti utili, anche se non sempre se ne comprende la ratio.

Gestione dei data center

I data center sono diventati enormi e complessi centri nevralgici nell’era digitale. Per gestire in modo più efficiente, sicuro e sostenibile uno o una rete di data center oltre ai più comuni parametri utilizzati (temperatura, umidità, consumi etc.) si aggiungono altri indicatori non facilmente o immediatamente riconoscibili. Molti vendor DCIM (Data Center Infrastructure Management) stanno aggiungendo alle loro soluzioni strati di ML che analizzato i dati grezzi raccolti da sensori o inviati come log, e segnalano tipi di dati o pattern nuovi da inserire eventualmente nelle applicazioni di analitica avanzata.

I vantaggi dell’apprendimento automatico

Il machine learning è da utilizzare quando gli scenari in ingresso sono così complessi e variabili che anche l’essere umano fatica a riconoscere e misurare tutto. Tuttavia è utopistico aspettarci – come del resto avviene con gli esseri umani – che le applicazioni di ML forniscano sempre risultati esatti. Per contro, i sistemi ML-based (o in generale AI-based) possono mostrare performance analoghe a quando gli umani, nel prendere una decisione, non si basano solo su logica e calcoli, ma anche sull’intuizione e sull’esperienza pregressa.

Siccome le aziende operano in scenari di business sempre più complessi e in cui il time-to-market è sempre più importante, in molti casi (ma non tutti) le versatili applicazioni ML permettono di evitare lunghi e costosi progetti di sviluppo software tradizionale ad hoc.

Differenze tra machine learning e deep learning

In teoria, il deep learning (apprendimento profondo) è un sottoinsieme del machine learning. In realtà, ML e DL oggi possono essere considerate due categorie distinte. Il ML utilizza un’architettura software tradizionale, mentre il DL si basa su reti neurali artificiali (RNA) che si ispirano al cervello. Nel ML i problemi di grandi dimensioni sono suddivisi in blocchi di problemi più piccoli. Ognuno viene risolto separatamente. Infine tutte le soluzioni vengono ricomposte. Il processo è iterativo. Il DL adotta invece un approccio più end-to-end e stratificato. Nel ML è più importante che tutti gli algoritmi siano in grado di riconoscere i dati presenti nei dataset. In caso contrario viene richiamato in causa i data scientist. Nel DL, quasi sempre le decisioni sui dati sconosciuti vengono prese automaticamente analizzando altri dati. Infine, il ML può girare più facilmente con sistemi di computing tradizionali e in locale (o all’edge), mentre il DL richiede grande capacità computazionale (fornita quasi sempre da GPU), molta capacità di memoria e lunghi tempi di addestramento.

Riccardo Cervelli

Giornalista

Classe 1960, giornalista freelance divulgatore tecnico-scientifico, nell’ambito dell’Ict tratta soprattutto di temi legati alle infrastrutture (server, storage, networking), ai sistemi operativi commerciali e open source, alla cybersecurity e alla Unified Communications and Collaboration e all’Internet of Things.

Argomenti trattati

Approfondimenti

G
Guida
M
Machine Learning
Tech InDepth

Articolo 1 di 4