
Machine learning: L’apprendimento automatico dei dati

Paolo Fabbri
Machine learning: L’apprendimento automatico dei dati
L’apprendimento automatico è alla base di quello che oggi conosciamo come machine learning. Un termine che tutti abbiamo sentito nominare, ma che forse esattamente non sappiamo cosa significhi.
Tutto nasce dalla teoria che i computer possono imparare ad eseguire compiti specifici senza programmazione, ma attraverso l’utilizzo di algoritmi che permettono ai computer di apprendere e riconoscere i dati.
Il Machine Learning è abbinato all’intelligenza artificiale (AI), un termine che si riferisce a sistemi o macchine che imitano l’intelligenza umana, anche se i due termini non hanno lo stesso significato. Si può dire in generale che il ML sia un ramo dell’AI, che a sua volta include anche altre tecnologie
Ma vediamo meglio come funziona e che applicazioni ha in concreto il machine learning nella vita reale.
La ripetitività come base per l’apprendimento del Machine Learning
L’aspetto più importante del machine learning è la ripetitività: più la macchina è esposta ai dati, più ha possibilità di apprenderli, studiarli e assimilarli in modo autonomo, potenziando la capacità di comprensione e l’esattezza della risposta. I computer imparano quindi dallo storico delle elaborazioni, producendo risultati fino ad essere in grado di prendere decisioni affidabili e replicabili.
L’apprendimento automatico presenta molteplici applicazioni di uso quotidiano: un’applicazione classica che tutti conosciamo è quella del riconoscimento vocale di cui sono dotati gli smartphone e che permettono di attivare comandi tramite la propria voce. Allo stesso modo funzionano le applicazioni di domotica. Un altro esempio è il continuo ritrovare in rete prodotti o servizi precedentemente cercati: le aziende possono quindi realizzare proposte pubblicitarie legate agli interessi dell’utente, che conosce tramite le ricerche da egli stesso effettuate.
L’esempio pratico di DotEnv
Utilizzare le tecnologie più recenti modellandole alla necessità del cliente è quello che in DotEnv ci impegniamo a fare. La vera sfida è costruire programmi e software che siano cuciti su misura del cliente, analizzando il caso d’uso specifico, le necessità e le eventuali criticità.
Un esempio reale è quello di un cliente che ha la necessità di ricevere un messaggio dai propri utenti per pubblicarlo poi sui social. La complessità sta nel fatto che le foto o i video non devono contenere materiale sensibile (nudo, armi, ecc), devono essere in linea e coerenti come risposta rispetto al messaggio inviato e l’audio dell’eventuale video non deve contenere parole sensibili.
La prima sfida è stata quella di immaginare tutto il processo applicativo e la scrittura dei casi d’uso; si parte dall’ascoltare la necessità, il vero bisogno per poi trasformarlo in un diagramma di flusso.
Dal diagramma si passa al suddividere in step la sequenza temporale di creazione dell’applicativo per arrivare, infine, a creare dei task o compiti che ognuno di noi programmatori svolge per arrivare al prodotto finito.
Proprio in questo caso d’uso, il Machine Learning si è dimostrato lo strumento più adatto per trovare la soluzione: nella demo qui sotto, potete verificare le funzioni del riconoscimento di immagini, video e audio.
Potete caricare quindi un’immagine o un breve video di qualche secondo da far analizzare al sistema, che risponderà riportando ciò che vede nei file caricati. Attraverso la demo, la macchina viene addestrata dal caricamento e impara giorno dopo giorno a categorizzare sempre meglio gli oggetti. Inoltre, proprio grazie a questo continuo migliorarsi, può anche individuare, tramite delle aree colorate, alcuni degli oggetti direttamente nella foto o nel video (in quest’ultimo caso mostrandoli in tempo reale).
Le applicazioni possono essere molteplici, per la capacità della macchina di imparare e restituire risultati con una velocità computazionale tale che permette di averli in tempo reale.





