Negli ultimi anni avrai sicuramente sentito parlare almeno una volta di Machine Learning, a meno che tu non viva su di una montagna isolato dal mondo, ma in tal caso non staresti neanche leggendo questo articolo adesso.

Abbiamo già detto in questo articolo che lo scopo finale dell’Intelligenza Artificiale è creare macchine che sono in grado di riflettere e agire come l’essere umano e cosa rappresenta l’essere umano meglio della sua capacità di imparare ?

Questo è proprio quello che il machine learning vuole fare, fornire alla macchina la capacità di apprendere direttamente dall’esperienza, senza essere esplicitamente programmata per farlo.

Il machine learning è il settore più in crescita dell’intelligenza artificiale, i suoi progressi stanno trascinando così tanto l’AI che ormai i due sembrano essere diventati termini equivalenti.

Ma come siamo arrivati a questo punto e perché il machine learning è così importante ?

Dagli Algoritmi al Machine Learning

C’era una volta l’algoritmo, un insieme di istruzioni sequenziali che indicano come risolvere un determinato problema.

Abbiamo utilizzato gli algoritmi per risolvere innumerevoli problemi fin da prima dell’avvento dell’informatica, per diversi tipi di problemi esistono diversi tipi di algoritmi, ma ci sono alcune tipologie di problemi che non possono essere affrontati in questo modo.

Ti faccio un esempio.

Immagina di dover creare un algoritmo in grado di riconoscere i gatti nelle foto, alcune istruzioni potrebbero essere quelle di valutare la forma degli occhi, le orecchie, il naso ed i baffi, magari con alcune dozzine di regole si potrebbero ottenere risultati discreti.

Ma se gli mostrassimo una tigre ? Il nostro algoritmo potrebbe confondersi.

E se decidessimo di voler distinguere anche i cani ? Servirebbe tutto un altro set di regole.

Facciamo un altro esempio, metti caso di dover scrivere un algoritmo per far sì che la tua auto si guidi da sola, in questo caso non sapremmo neanche da dove partire dato l’incredibile numero di variabili che entrano in gioco in un problema del genere.

Come vedi il problema della complessità è uno dei più grandi limiti degli algoritmi, problemi troppo complessi richiedono un numero eccessivo di istruzioni, impossibili da gestire per i nostri piccoli cervelli biologici.

Bene, in tutti questi casi la soluzione è il Machine Learning.

Il machine learning utilizza un approccio totalmente differente rispetto alla programmazione classica, piuttosto che partire dall’input (punto di partenza), scrivere l’algoritmo e ottenere un output (punto di arrivo), il machine learning parte dall’input e dall’output, lascia che sia la macchina a comprendere le relazioni tra questi e infine darà come risultato l’algoritmo.

In questo caso si parla di apprendimento supervisionato.

In altri casi invece utilizza addirittura solamente l’input, inducendo l’output dalla struttura dell’input, in questo secondo caso si parla di apprendimento non supervisionato.

Tutto questo avviene in due fasi: apprendimento e predizione.

Machine Learning: un esempio

Facciamo un esempio focalizzandoci sull’apprendimento supervisionato.

Durante la fase di apprendimento la macchina studia coppie di input e output in cerca di relazioni, nel nostro esempio l’input è l’immagine e l’output è un label che indica se questa rappresenta o meno un gatto.

Una volta che la macchina ha creato una sua rappresentazione interna di gatto sarà possibile mostrargli delle nuove immagini e questa userà l’algoritmo che ha appreso per dire se sono raffigurati o meno dei gatti.

Immaginando di poter rappresentare gatti e cani utilizzando due caratteristiche quantitative, il machine learning ci permette di trovare la retta che li separa (P.S si, i gatti sono esseri malvagi)

Come hai capito, in un certo senso il machine learning da alla macchina la capacità di programmarsi da sola accumulando esperienza, questo potrebbe sembrare fantascientifico (e anche un pò terrificante) ma la verità è che il machine learning è già tra di noi più di quanto pensiamo, sta alla base delle auto che si guidano da sole, riconosce le mail di spam nella nostra inbox, è utilizzato per riconoscere i nostri gusti e consigliarci prodotti da acquistare e cose da fare, aiuta negozi e supermercati a capire come disporre la merce per massimizzare le vendite, potrei continuare per ore.

Perchè oggi ? Big Data e Supercomputer

Nel machine learning i dati rivestono un ruolo importantissimo, certe volte ancora più importante della tecnologia stessa, perché essi sono la reale fonte di conoscenza che la macchina utilizza per apprendere, questo è uno dei motivi per il quale il machine learning si è diffuso solo nell’ultimo decennio, sebbene le metodologie alla base abbiamo mezzo secolo.

Infatti la quantità di dati generati dall’uomo è cresciuta in maniera esponenziale dopo l’inizio del nuovo millennio grazie alla nascita del web 2.0 e la crescente diffusione dei social media.

Un altro fattore che ha inciso sulla diffusione del machine learning è la maggiore potenza di calcolo oggi disponibile, basta pensare che uno smartphone odierno di fascia media è milioni di volte più potente di un computer della NASA degli anni 60.

Questi due fattori uniti agli sforzi congiunti delle maggiori compagnie tecnologiche, che hanno già avviato da tempo la loro corsa verso l’intelligenza, stanno facendo avanzare il machine learning, e quindi l’intelligenza artificiale, come niente mai prima in tutta la storia del genere umano.


Sei interessato al machine learning ? Dai uno sguardo al nostro corso pratico sul Machine Learning con Python su Udemy e impara anche tu ad addestrare il tuo computer a conquistare il mondo riconoscere i gattini

About Giuseppe Gullo

Cresciuto a pane e bit, ho cominciato a programmare a 13 anni, durante un periodo di convalescenza forzata dovuta ad un brutto incidente.

Durante la mia adolescenza ho utilizzato un mio approccio hacker all'apprendimento per passare da un argomento all'altro senza sosta, sviluppo web, programmazione software, sviluppo mobile per android ed iOS, sviluppo di videogame 2d e 3d con Unity.

Poco più che ventenne mi sono avvicinato all'intelligenza artificiale, ed è stato amore a prima vista.

Ho lavorato come sviluppatore indipendente e freelancer, creando diverse dozzine di servizi che hanno raggiunto centinaia di migliaia di persone in tutto il mondo.

Il mio life goal è riuscire a sfruttare le enormi potenzialità dell'AI per migliorare le condizioni di vita degli esseri umani.