Machine learning, cos'è
Credits: upklyak - it.freepik.com

Il Machine Learning è una disciplina che consente ai robot e ai computer di compiere azioni senza il controllo umano, imparando dall’esperienza. Con questo procedimento si chiede alle macchine di comportarsi proprio come facciamo noi esseri umani: più si fa e più si impara.

Il Machine Learning funziona come la mente umana

L’apprendimento automatico (traduzione italiana di Machine Learning) segue le procedure che noi umani mettiamo in campo quando dobbiamo affrontare una situazione nuova.

Quando svolgiamo un’azione e questa ci riesce particolarmente bene, cerchiamo subito di capire i fattori che hanno permesso di svolgerla al meglio. Per esempio, se prendiamo un bel voto a un test, sappiamo che ci siamo riusciti perché i giorni scorsi abbiamo studiato molto; in occasione del successivo test, ripeteremo lo stesso comportamento (studiare tanto) per ottenere lo stesso risultato (prendere un bel voto).

Abbiamo dunque appreso qualcosa, e la nostra esperienza sarà utile per le nostre azioni future. Ovviamente c’è apprendimento anche quando un’azione (ad esempio, studiare poco) non porta a risultati (il desiderio di prendere un bel voto); in questo caso, vale il principio “sbagliando si impara“: abbiamo capito che studiare poco non consente di prendere bei voti, e la prossima volta sicuramente studieremo di più.

Come fuziona il Machine Learning

Fu Arthur Lee Samuel, già nel 1959, a dare la prima definizione di machine learning. Samuel divise in due categorie le procedure utilizzate per l’apprendimento automatico, a seconda che si diano al computer istruzioni sui compiti che deve svolgere, ovvero si lascia il software decidere autonomamente le azioni da compiere per raggiungere l’obiettivo.

Il Machine Learning con apprendimento supervisionato

In questa categoria l’obiettivo di apprendimento è quello di far trovare al robot la soluzione migliore per svolgere un compito. Alla macchina viene dato un insieme di dati (che descrivono l’ambiente in cui deve agire e le regole di comportamento) e i risultati che vogliamo raggiungere. In base alle istruzioni ricevute il robot si impegnerà a trovare una soluzione: sapendo che a partire dall’informazione A deve ottenere il risultato C, dovrà compiere un’azione B. La soluzione si trasformerà in regola, che riutilizzerà per svolgere compiti simili.

Il Machine Learning con apprendimento non supervisionato

Questo è invece il funzionamento che permette ai sistemi di apprendere realmente in maniera autonoma. Alla macchina si fornisce solo l’insieme di dati, senza alcuna indicazione riguardo i risultati che vogliamo ottenere. L’obiettivo di questo metodo è quello di lasciare il software di scoprire gli schemi in maniera autonoma per giungere allo scopo.

Così facendo si testano le capacità del robot che dovrà cercare da solo tutti i risultati possibili (che si possono ottenere a partire dall’insieme dei dati) e imparare da solo quali sono le soluzioni che portano al maggior beneficio.

Il Machine Learning con apprendimento per rinforzo

La terza categoria di Machine Learning fa riferimento ai meccanismi di ricompense e punizioni.

Quando il sistema riesce a raggiungere l’obiettivo, il programmatore gli segnala che il “comportamento” è stato corretto, mentre quando non ci riesce o raggiunge un obiettivo diverso da quello che desideriamo, viene segnalato un errore.

L’apprendimento per rinforzo può essere attivato anche in maniera automatica. Esistono infatti molti robot programmati per effettuare partite di scacchi o dama, e la ricompensa in questi casi è data da una vittoria al gioco, mentre la punizione è identificata con una sconfitta della partita.

Le applicazioni del Machine Learning

Molte sono le applicazioni del machine learning, alcune già presenti nella nostra vita di tutti i giorni.

Assistenti vocali e social network

Il machine learning negli assistenti vocali
Il machine learning negli assistenti vocali

Negli ultimi anni sono nati dei software che, interrogati utilizzando semplicemente parlando, rispondono a dei comandi. I più famosi sono Siri, Alexa, Google Assistant.

I software che li fanno funzionare sfruttano il machine learning per replicare il funzionamento della mente umana per rispondere ai nostri comandi e spesso anticiparli. Ad esempio, se chiediamo all’assistente ogni mattina le previsioni del tempo, esso inizierà a fornirci le previsioni sempre alla stessa ora senza che dobbiamo chiederlo, inoltre aggiungerà delle informazioni pubblicitarie legate a questo nostro bisogno (es. ci venderà un ombrello se in giornata pioverà).

Con lo stesso funzionamento i motori di ricerca e i social network ci consigliano amicizie, pagine o prodotti in base alle nostre preferenze, individuate in base a quello che abbiamo ricercato o navigato.

Auto a guida autonoma

Il machine learning nell'auto a guida autonoma
Il machine learning nell’auto a guida autonoma Credits: freepik – it.freepik.com

Le auto a guida autonoma sono un esempio di come il machine learning viene in aiuto delle persone per aumentare la sicurezza sulla strada.

I programmi di apprendimento, in questo caso, partendo dall’insieme di dati costituiti dalla mappa delle strade, le regole di guida, le auto che si trovano nello stesso momento a percorrere la stessa strada, sono in grado di dare ordini ai semafori, ma alle auto stesse, per evitare incidenti, code o ingorghi.

Un simpatico esempio di come funzioneranno è dato dal progetto Duckie Town.

Il Machine Learning a casa nostra

MARRTINO: Robot per le scuole
MARRTINO, il robot in kit per tutti

Possiamo sperimentare anche in casa i meccanismi del machine learning. Il robot MARRTINO, infatti, permette di sperimentare semplici azioni e provare come il robot si comporta. Sul sito Robotics 3D trovate i vari modelli disponibili.