I dispositivi tecnologici nell’era dell’Internet of Things sono intelligenti perché possono apprendere dall’esperienza, proprio come l’uomo: scopriamo cos’è il machine learning e formuliamo una definizione, così da approfondire il significato con degli esempi di questa forma di intelligenza artificiale.
Cos’è il machine learning? Definizione e significato
Il significato di machine learning (ML), o “apprendimento automatico” in italiano, è molto attuale, sebbene sembri una fantasia futuristica: esempi concreti, infatti, ci aiuteranno a capire cos’è, distinguendo i principali tipi di algoritmi e i compiti che possono svolgere.
Innanzitutto, questa tecnologia è un applicazione dell’intelligenza artificiale (AI) e consiste nel creare sistemi informatici in grado di “imparare” dai dati forniti, senza però necessità di programmazione specifica; l’obiettivo è individuare automaticamente modelli e regole dalle informazioni, al fine di categorizzarle, fare previsioni e prendere decisioni. La definizione di machine learning, in pratica, potrebbe essere “algoritmo che consente ai computer di simulare i processi di apprendimento umani, migliorando progressivamente l’accuratezza delle attività svolte”
Facciamo un passo indietro, tecnico e storico, per comprendere meglio cos’è il machine learning. In informatica per risolvere un problema, secondo il matematico Lotfi Zadeh, ci sono essenzialmente due modi:
- Hard computing – metodo basato sulla logica deterministica (vero o falso) o binaria (1 o 0) e l’accuratezza di calcolo. Necessita di precisi modelli matematici ed algoritmi programmati fin nei minimi dettagli. I meccanismi di hard computing sono “fissi” e immutabili, ovvero applicabili senza necessità di modifiche a problemi di uno stesso tipo.
- Soft computing – metodo basato sul calcolo delle probabilità che ammette approssimazione ed imprecisione. Questo processo è utile ad affrontare problemi complessi, che implicano “verità parziali”, ed è ispirato al ragionamento umano, che sopporta informazioni incomplete. La razionalità, in questo caso, deriva dalle esperienze passate, che servono da schema per valutare un ambiente incerto. Alla luce dei nuovi risultati, tuttavia, il modello precedente viene integrato e corretto.
Alan Turing, a proposito di soft computing, ipotizzava la creazione di una “macchina che apprende”, poi concretizzata negli algoritmi genetici: in pratica, programmi che cercano la soluzione ottimale ad un problema combinando quelle esistenti a nuovi elementi, in un processo di miglioramento continuo. Arthur Samuel, nel 1959, coniò quindi il termine machine learning, applicandolo al gioco delle dama, programmato in un computer. Qualche anno dopo, il campione Robert Nealey perse una partita contro un IBM 7094 “addestrato”, lasciando l’umanità incredula.
In poche parole, quindi, per spiegare cos’è il machine learning, possiamo pensare ad un contesto in cui non è possibile usare algoritmi “classici”, perchè non si hanno istruzioni precise e si è quindi costretti a procedere caso per caso, creando ed ottimizzando modelli in base ai dati raccolti. Questo è l’apprendimento automatico, di cui Tom Mitchell ci dà una definizione pratica nell’omonimo libro Machine Learning:
“Si dice che un programma apprende dall’esperienza E con riferimento a alcune classi di compiti T e con misurazione della performance P, se le sue performance nel compito T, come misurato da P, migliorano con l’esperienza E.”
Quali sono gli algoritmi di machine learning?
Il significato e lo scopo del machine learning è generalizzare le informazioni raccolte dall’esperienza, così da riconoscere regole e modelli. Questo tipo di ragionamento è detto induttivo (o aristotelico) e consiste proprio nello stabilire una legge universale partendo da singoli casi particolari. In pratica, grazie all’apprendimento automatico, i computer riescono a risolvere problemi nuovi in base a quelli già osservati.
La fase di training, in particolare, definisce cos’è il machine learning in quattro tipi di algoritmi:
- Supervisionato: al programma viene fornito un database “etichettato”, composto da input abbinati agli output desiderati, in modo da guidarlo nel determinare la regola generale che li lega;
- Non supervisionato: le informazioni somministrate non sono in alcun modo contraddistinte e l’algoritmo deve cercarne una struttura, un pattern oppure un modello che preveda le prossime occorrenze;
- Semi-supervisionato: i dati assegnati al programma sono un sottogruppo incompleto di un insieme più grande, perché gli input sono limitati e alcuni senza output. Allo stesso modo, però, l’algoritmo dovrà trovare una legge che li giustifichi;
- Per rinforzo: il computer non analizza un database, ma interagisce con un ambiente dinamico o un “avversario”, da cui riceverà feedback positivi in caso di risultato esatto. Dato l’intervento massiccio di un “supervisore”, questo tipo di apprendimento automatico è simile al primo, ma in questo caso avviene per trial and error, tentativi ed errori.
Possiamo approfondire cos’è il machine learning e le sue tipologie anche considerando l’output richiesto:
- Classificazione: l’algoritmo deve assegnare nuovi input ad una delle classi (output) indicate dal programmatore, in base a delle corrispondenze già indicate. Questo compito supervisionato (o per rinforzo), ad esempio, potrebbe essere utile per il filtraggio delle email, al fine di riconoscere lo spam;
- Regressione lineare: l’apprendimento automatico del programma deve condurre, a partire dai dati, ad una funzione che leghi una variabile dipendente ad una o più variabili indipendenti. In pratica, una legge che chiarisca quale relazione esista tra i fattori evidenziati dal programmatore, per prevedere futuri risultati. I meccanismi di trading automatizzato, che analizzano i passati andamenti per operare sul mercato, potrebbero essere un esempio di machine learning per regressione lineare;
- Regressione logistica: il ML deve stimare la probabilità del verificarsi di un evento in base alle sue occasioni passate, risultato della combinazione di più variabili. Un algoritmo di regressione logistica potrebbe stimare, in percentuale, le possibilità di vittoria di una squadra di calcio, considerando diversi fattori delle partite precedenti, come il numero di occasioni create o i gol subiti. In generale, i compiti di regressione sono supervisionati, perché si basano sull’analisi di informazioni categorizzate;
- Clustering: algoritmo di machine learning non supervisionato che deve dividere in gruppi i dati forniti, ma senza conoscere a priori le classi. A differenza della classificazione, infatti, il programma deve anche rintracciare le proprietà distintive delle informazioni, per poi raggruppare i dati in base alla “somiglianza”. Il data mining potrebbe essere un esempio di machine learning per clustering, ovvero una tecnica impiegata dalle aziende per compiere un’analisi esplorativa sui suoi clienti, al fine di scoprire caratteristiche sconosciute.
Come apprende un computer: deep learning e reti neurali
Il concetto di apprendimento automatico è spesso usato come sinonimo di intelligenza artificiale, ma avendo definito cos’è il machine learning è evidente che quest’ultimo sia piuttosto una proprietà dell’AI. ChatGPT, ad esempio, apprende dall’interazione con l’utente, talvolta correggendosi per produrre risposte più accurate. Tuttavia, ci potremmo chiedere come faccia un software simile ad imparare: per spiegarlo possiamo appoggiarci al modello della rete neurale, un tipo di algoritmo di apprendimento automatico riconducibile al tipo “per rinforzo”.
Essenzialmente, un sistema ML a rete neurale è formato da almeno 3 livelli, in comunicazione tra loro: input, hidden e output, anche se potremmo disporre di molteplici layer “nascosti”; ogni livello è composto da diversi nodi, connessi ad almeno uno dello “strato” successivo. Il funzionamento è simile al nostro cervello, i nodi sono i neuroni e i canali di collegamento sono i dendriti e gli assoni attraverso cui si scambiano informazioni. Ogni connessione, inoltre, ha un peso e una soglia di attivazione: in poche parole, specifiche informazioni ne richiamano più facilmente altre, come il sorriso attrae il concetto di felicità.
Il processo di machine learning per rinforzo, dunque, è diviso in 3 fasi:
- Decision process: in base agli input forniti, è prodotto l’output richiesto, che sia un modello, una classificazione o una previsione.
- Error function: è valutata l’accuratezza delle conclusioni, in base al confronto con i risultati attesi o esempi noti.
- Model optimisation: se vengono trovati errori nell’output, avviene ciò che tecnicamente è detto backpropagation. In pratica, vengono corretti i pesi delle connessioni, in modo che la volta successiva un certo input non dia più l’output sbagliato.
L’apprendimento automatico, in questo caso, è un processo ricorsivo: è ripetuto più volte, finché non si ottengono risultati ottimali. Ogni algoritmo di machine learning, tuttavia, ha bisogno in qualche modo di revisioni: l’imparare dai propri errori è la base dell’apprendimento, allo stesso modo i computer sono testati più volte, fornendo diversi input, prima di raggiungere la risposta migliore.
L’esempio della rete neurale, oltre ad approfondire cos’è il machine learning, ci permette di chiarire la differenza rispetto al deep learning: la “profondità” corrisponde al numero di livelli “nascosti”, che permettono analisi più sofisticate di dati grezzi, non strutturati. Infatti, il deep learning è generalmente una forma non supervisionata di apprendimento automatico, detta anche scalable machine learning.
Esempi e problemi del machine learning
Le applicazioni dell’apprendimento automatico sono molteplici ed alcune è possibile trovarle nella nostra vita quotidiana. Le funzionalità di riconoscimento vocale e la trascrizione del parlato, presenti negli smartphone, sono esempi di machine learning, così come gli algoritmi che ci consigliano film su Netflix o contenuti su Instagram in base alle nostre preferenze. Allo stesso modo, l’ML è usato a livello aziendale per riconoscere le frodi o per il servizio clienti. Infine, il machine learning è fondamentale per la guida autonoma e anche per classificare gli oggetti celesti!
L’immensa utilità, tuttavia, è accompagnata da alcuni problemi, innanzitutto etici: se un sistema di machine learning è addestrato con dati distorti e pregiudizievoli, potrebbe dare origine a non solo conclusioni false, ma classiste e razziste. In tal caso, chi sarebbe responsabile di tali errori? L’azienda avrebbe sicuramente delle colpe, non solo se l’algoritmo fosse di tipo supervisionato, perché non ha verificato l’accuratezza dei dati input.
Un altro quesito è l’impatto che avrà l’apprendimento automatico su alcuni lavori: potrebbe sostituire l’uomo? Nessun algoritmo è in grado di prevederlo, ma ad oggi non è ancora stata sviluppata una Artificial Super Intelligence (ASI), ma abbiamo solo esempi narrow che al momento non possono superare le competenze di un individuo abile e preparato.Infine, se vuoi approfondire con altri esempi cos’è il machine learning, potresti leggere l’articolo dedicato ai 7 modi in cui l’intelligenza artificiale può migliorare le crypto, dove abbiamo discusso dell’integrazione del ML e l’AI in alcuni progetti blockchain.