L’Intelligenza artificiale è un costrutto che si basa su diverse colonne, una di queste è il Machine learning (ML), sottoinsieme deputato all’apprendimento delle macchine laddove con il termine macchine si intende tanto l’hardware quanto il software. Non è raro che apprendimento e automatismi vengano emulati, creando ambienti e agenti virtuali utilizzati per testare gli algoritmi e misurarne i risultati.
Gli algoritmi consentono di apprendere dai dati, ciò significa che il ML si adatta al contesto senza che l’uomo gli impartisca ordini specifici nel merito.
Prima di continuare, è opportuno sottolineare che il ML emula il comportamento animale ma, allo stato attuale, poco nulla aggiunge alla corsa verso l’Intelligenza artificiale generale (Agi), quella che può potenzialmente relegare l’uomo in una posizione secondaria rispetto alle macchine.
Cosa si intende per Machine learning
Tra le tante definizioni di Machine learning se ne trovano diverse che vertono verso una descrizione che lo qualifica al pari di “una branca dell’Intelligenza artificiale dedita alla creazione di sistemi capaci di apprendere e migliorare le prestazioni sfruttando i dati che hanno a disposizione”.
A grandi linee, ancorché in modo perfettibile, il grosso dell’argomento Machine learning è coperto dalle definizioni ma, come spesso accade in ambito tecnologico, le spiegazioni di massima non rendono giustizia. Infatti, declinare al singolare il Machine learning è fuorviante (così come è fuorviante parlare di Intelligenza artificiale, come se ce ne fosse una sola), perché è sviluppato secondo diverse tecniche e principi.
Il vero e unico punto in comune a tutte le tecniche di Machine learning è costituito dai dati, dal modo in cui vengono usati e dalle tecniche di apprendimento implementate fanno la differenza.
Il Machine learning, in conclusione, è il demandare alle macchine la capacità di emulare il comportamento animale (non soltanto quello umano) in ambiti diversi, con vantaggi di rilievo per l’uomo, sollevato da compiti in cui gli automatismi eccellono per facilità, precisione ed efficienza. Possiamo persino aggiungere un pezzo alla descrizione (senza pretesa che venga comunemente accolto) e sostenere che un sistema ML opera al meglio all’interno dei propri limiti. Il ML emula le capacità umane ma non pensa.
L’informatico olandese Edsger Wybe Dijkstra, nel soffermarsi sulle capacità delle AI di riprodurre il pensiero umano ha detto: “Chiedersi se un computer possa pensare non è più interessante del chiedersi se un sottomarino possa nuotare”.
Lo scopo del Machine Learning
Il Machine learning consente alle macchine di imparare da loro stesse, ovvero dall’esperienza che accumulano senza la necessità che l’uomo fornisca istruzioni particolari.
Oggi viene impiegato in molti ambiti, a partire dalla ricerca scientifica e dalla medicina fino al rilevamento di cyber intrusioni, perimetro in cui il ML viene usato anche dal cyber crimine. Ovunque una macchina può apprendere dai dati e dall’esperienza c’è spazio per applicazioni ML, a prescindere dal settore di destinazione. Nel quotidiano, ci si interfaccia con un sistema ML quando, per esempio, si usa un social media oppure quando si dispongono operazioni bancarie online.
Guardando al mondo aziendale nel suo complesso, il Machine learning è un valido aiuto per trasformare i dati in valore ma, da solo, non ha doti taumaturgiche. Il ML necessita di flussi di lavoro efficaci, deve quindi essere inserito in una piattaforma che centralizzi le attività di Data science e che ne faccia una disciplina collaborativa.
L’obiettivo ultimo è quello di accompagnare l’uomo fornendogli indicazioni e svolgendo in sua vece una mole di lavoro con maggiore velocità e precisione.
Tipologie di Machine Learning
Ci sono diversi approcci all’apprendimento, tra questi spiccano quello supervisionato e quello non supervisionato.
L’apprendimento supervisionato è attualmente il più utilizzato e prevede che una figura umana, tipicamente un Data scientist, insegni agli algoritmi quali risultati generare, fornendo al sistema dati già etichettati imponendo una tipologia di output. Questo non cozza con quanto detto in precedenza, ovvero che un ML può imparare senza particolari indicazioni impartitegli dall’uomo, cosa afferente alla tipologia non supervisionata, mediante la quale il sistema impara a riconoscere processi e schemi anche complessi partendo da dati non etichettati – o solo in parte etichettati – e per il cui output non sono state definite norme o sono state definite solo in modo parziale.
L’apprendimento non supervisionato ha due proprie appendici, ingegnerizzate per ridurre i problemi che può comportare.
La prima è il clustering, tecnica che permette di aggregare in gruppi i dati che hanno caratteristiche simili tra loro, è ottimale per trovare relazioni tra i dati. L’altra è la riduzione della dimensionalità dei dati, ossia eliminare il rumore e combinare quelli ridondanti. Tecnica quest’ultima che comporta vantaggi e svantaggi: tra i primi c’è la riduzione del volume dei dati e quindi della complessità con cui si confronta l’algoritmo di apprendimento. Tra gli svantaggi c’è la possibilità di assistere a una degradazione delle informazioni e delle prestazioni predittive degli algoritmi.
C’è poi l’apprendimento semi-supervisionato, un modello al cui centro c’è la somministrazione di dati solo parzialmente completi affinché il sistema identifichi modelli utili al raggiungimento degli obiettivi prefissati. È una tecnica usata quando i dati a disposizione sono soltanto in parte etichettati.
Tra i modelli più diffusi c’è anche l’addestramento per rinforzo usato laddove un sistema deve interagire con l’ambiente circostante. È il metodo utilizzato per la guida autonoma e si basa su una filosofia di “premi e punizioni” a seconda del fatto che il sistema raggiunga o meno gli obiettivi prefissati. Il sistema impara dalla propria esperienza e quindi anche dai propri errori al fine di migliorare le prestazioni precedentemente erogate.
Algoritmi di Machine learning
Un algoritmo è una porzione di codice che permette di esaminare dati e trovarvi significato. Di per sé, un algoritmo è un complesso di istruzioni finite, dettagliate e chiare mediante le quali un sistema raggiunge un obiettivo che, nel caso del ML, è l’individuazione di una serie di criteri e logiche comprensibili per definire i dati o le previsioni che questi permettono di trarre.
Anche gli algoritmi hanno una forte dipendenza dai dati e vengono parametrizzati in genere con un set di informazioni contenuto, un campione del set completo. Più sono i dati (e maggiore è la loro qualità) e più un algoritmo è in grado di lavorare in modo realistico, restituendo risultati più precisi e aderenti al contesto.
Per principio, algoritmi differenti esaminano i dati in modi diversi e vengono solitamente suddivisi a seconda della tecnica di ML con le quali vengono impiegati, per esempio l’apprendimento per rinforzo o quello supervisionato.
Ogni modalità di addestramento fa leva su una platea di algoritmi. Per il ML supervisionato gli algoritmi classici sono quelli di regressione lineare e di classificazione multi-classe.
Differenza tra Machine learning e Deep learning
Machine learning e Deep learning sono entrambi sottoinsiemi dell’Intelligenza artificiale ed entrambi sono dipendenti dai dati. Tuttavia, il Deep learning è sottocategoria del Machine learning perché dipendente dall’apprendimento non supervisionato.
Dal punto di vista operativo, va evidenziato che il ML ha una storia più lunga e ha un funzionamento più lineare anche perché – almeno nell’approccio più semplice – usa dati strutturati, mentre il Deep learning non necessita di dati etichettati. Un approccio adatto ai compiti particolarmente complessi per un sistema che è in grado di individuare categorie distintive senza l’addestramento.
Ciò comporta che un sistema Deep learning – tradotto in italiano con il termine “apprendimento profondo” esige una quantità di dati superiore a quelli sufficienti per alimentare un ML e, di riflesso, richiede l’impiego di più risorse, cosa che non contribuisce alla sua diffusione nei circuiti aziendali.
L’apprendimento profondo è architettato su reti neurali, ovvero algoritmi sviluppati per emulare il funzionamento del cervello i cui neuroni, nel caso specifico, sono configurati dai dati. Ciò che si ottiene è la capacità di elaborare nuovi dati partendo da quelli disponibili.
Differenza tra Intelligenza artificiale e Deep learning
Come detto, il Deep learning è una sottocategoria del Machine learning, il quale è a sua volta sottoinsieme dell’Intelligenza artificiale.
Mentre l’Intelligenza artificiale è una dottrina scientifica utile alla creazione di “macchine intelligenti”, il Deep learning è focalizzato sull’addestramento di modelli mediante algoritmi complessi e una vasta mole di dati.
Chi si occupa di Machine learning
Di norma lo sviluppo di sistemi ML è compito di un profilo professionale chiamato Machine learning engineer o, in alternativa, dei Data scientist. Ciò che li accomuna è l’analisi dei dati e, al di là delle funzioni aziendali, non è raro che le due figure lavorino insieme.
Un Machine learning engineer è un programmatore in grado di gestire progetti e controllarne gli esiti, compiti che possono essere svolti in virtù di una preparazione che tiene conto di diversi aspetti, tra i quali:
- la conoscenza di diversi linguaggi di programmazione (su tutti Python, Java, R e C++)
- la conoscenza dei principi della Data science
- la conoscenza dei fondamentali della matematica e della statistica.
Sono solo alcune delle capacità professionali di cui deve avere maestria e possono variare di numero e di specifiche a seconda dell’azienda e della disponibilità di dipendenti dediti alla Data science.