Cos’è il Machine Learning? Una spiegazione semplice

Cos’è il machine learning e qual è la differenza con il deep learning? Tante curiosità e qualche dettaglio spiegato semplicemente per aiutarti a comprendere meglio questa materia.

Trovi tutto in questo video, oppure nell’articolo qui sotto.

I sistemi esperti

Prima di parlarti di machine learning, vediamo cosa sono e che cosa hanno rappresentato i cosiddetti sistemi esperti.

I sistemi esperti sono un tipo di intelligenza artificiale non basato sulle reti neurali di cui ti ho parlato nella puntata precedente, bensì un approccio secondo il quale alcune persone codificano nella macchina tutte le possibili regole ed i dati per poter lavorare su un dominio molto specifico.

Sono macchine in grado di operare su settori molto verticali e in alcuni casi hanno anche portato dei risultati considerevoli.

Al loro interno è presente un software che sfrutta dei principi di statistica per funzionare. Questo approccio dell’intelligenza artificiale ebbe anche un’espansione commerciale e arrivò all’interno delle aziende.

L’R1 e Deep Blue

Ad esempio nel 1981, la Digital Equipment Corporation (DEC), acquisita poi dalla Compact, che a sua volta è stata acquisita dalla HP, utilizzava il sistema esperto R1 per generare configurazioni hardware dei propri computer.

Ma il sistema esperto probabilmente più famoso è il Deep Blue della IBM, che raggiunse il suo momento di gloria nel 1997, durante la partita a scacchi nella quale sconfisse l’allora campione del mondo kasparov.

Tuttavia anche i sistemi esperti avevano forti limiti. Ad esempio nello stesso ambito, quello della traduzione, nel quale erano stati evidenziati per le reti neurali.

Ma emergevano sempre più anche altri forti limiti, come l’incapacità di lavorare con la visione, e far riconoscere ad esempio un gatto o un cane o ancora, problemi con il riconoscimento vocale, atività che ormai sono all’ordine del giorno per le reti neurali.

Gruppi di ricerca autocensurati

Ora, abbiamo detto nella puntata precedente, che i militari avevano smesso di finanziare le ricerche sulle reti neurali e la fama di questa tecnologia non era di certo buona, visti i fallimenti e le aspettative disattese che si erano create anche con gli articoli sul NY Times.

Ma questo non ha fermato la ricerca.

Certo, chi in quegli anni credeva ancora nell’approccio basato sulle reti neurali, quello secondo il quale bisognava dare in pasto alla macchina dati grezzi affinchè potesse apprendere, ecco, chi dedicava le proprie ricerche a queste tematiche non era visto di buon grado, ma la ricerca andò comunque avanti.

Qualche testimonianza parla di ricercatori che pubblicavano articoli rimuovendo attentamente parole come “neurale” o “apprendimento”, per evitare che venissero rifiutati dalle riviste più prestigiose. Una specie di gruppo che lavorava in gran segreto a qualcosa in cui credeva, ma che non poteva esporsi troppo.

Potenza di calcolo e quantità di dati

E questa situazione andò avanti per quasi 50 anni.

50 anni nei quali magari non tutti lavorarono in gran segreto epurando le proprie pubblicazioni, ma tutti lavorarono con una teoria che non aveva la tecnologia adeguata ad essere messa in pratica.

Ci sono voluti decenni prima che si verificasse la combinazione fondamentale che ha dato il via a quella che viene oggi considerata la base della nuova rivoluzione industriale.

E la combinazione è stata quella di avere insieme potenza di calcolo e quantità di dati.

Potenza di calcolo, quindi microprocessori potenti, che fossero in grado di raggiungere una velocità di elaborazione sufficiente a dare risposte in tempo reale

Disponibilità di enormi quantità di dati (i big data) da utilizzare per addestrare le reti neurali

Ma questa combinazione ha avuto successo perchè nel frattempo i ricercatori, partendo dai lavori di Pitts e Rosenblatt, hanno sviluppato quelle idee e le hanno fatte evolvere in quello che è l’evoluzione delle prime reti neurali: il DEEP LEARNING.

Machine learning per tutti

Da generico a specifico

Prima di proseguire, voglio però fare il punto sulla relazione che hanno tra di loro i concetti di intelligenza articiale, machine learning e deep learning.

Queste tre parole, questi tre concetti, non sono sinonimi e per capire quello di cui ti parlerò dopo è importante aver ben chiaro qual è la differenza tra questi concetti.

Intelligenza artificiale e deep learning sono fondamentalmente parole che identificano concetti che vanno dal generale allo specifico.

Intelligenza articiale, machine learning e deep learning sono concetti che assomigliano ad una Matrioska

È un po come una matrioska, quel tipico insieme di bambole della tradizione russa che stanno una dentro l’altra.

Per fare un altro esempio, posso riferirmi ad una mela utilizzando il nome specifico della varietà, come ad esempio mela Stark Delicious o mela Granny Smith.

Risultati immagini per Stark Delicious
Mele Start Delicious, probabilmente quelle usate in Biancaneve

Oppure posso riferirmi in generale al frutto della pianta del melo con il termine “mela“, che comprende tutte le varietà. L’esempio può proseguire con il termine frutta e poi, in maniera ancora più generica, con il termine cibo.

Ma il punto è che il termine più generico, comprende anche il più specifico che però è solo uno dei rami che partono dal termine precedente.

Quindi frutta è un tipo di cibo, ma non è l’unico tipo di cibo.

Intelligenza artificiale e Deep Learning

Quindi se prendiamo ad esempio 3 matrioske, “frutta” è la matrioska più grande, “mela” è quella che sta in mezzo e “stark delicious” è quella più piccola, quella più specifica.

La stessa cosa vale per i nomi di cui ti ho parlato prima.

Il termine più generale di tutti, la “frutta” del nostro argomento, è “intelligenza artificiale“. Quando parlo di intelligenza artificiale, parlo di una tematica molto ampia, sotto la quale ci sono categorie diverse.

L’intelligenza artificiale è un campo dell’informatica che ha lo scopo di sviluppare software e computer che sono in grado di fare quello che fanno le persone: guidare, scrivere, leggere, muovere un braccio.

A titolo esemplificativo, sono intelligenza artificiale il riconoscimento delle immagini o della voce, l’apprendimento, la risoluzione dei problemi, la generazione del linguaggio naturale o di immagini ed anche il controllo di un braccio robotico, la guida autonoma di un’automobile o di un drone.

Eseguire in autonomia quello che può fare una persona è l’obiettivo dell’intelligenza artificiale.

Dentro all’intelligenza artificiale quindi ci sono tante specializzazioni differenti, ma a noi adesso interessa capire il percorso che va dalla più generica intelligenza artificiale al più specifico deep learning.

Ecco, il deep learning (apprendimento profondo), nel nostro caso, è la Stark Delicious, è un ramo molto specifico dell’intelligenza artificiale, di cui ti parlerò nella prossima puntata.

Rispetto al nostro esempio, ci manca però un passaggio intermedio. Qual è il concetto che sta tra la frutta/intelligenza artificiale e la Stark Delicious/Deep Learning?

Qual è la nostra mela?

Ecco cos’è il machine learning!

La mela è il MACHINE LEARNING (o apprendimento automatico), quella disciplina che si occupa di istruire i computer, che dà ai computer l’abilità di imparare qualcosa, senza essere esplicitamente programmati per farlo.

E le reti neurali? Beh, le reti neurali diciamo per adesso che fanno parte del deep learning.

Puoi avere intelligenza artificiale SENZA reti neurali, ma non puoi avere deep learning senza reti neurali

Quindi, per completare la nostra serie di matrioske, abbiamo la matrioska più grande che chiamiamo intelligenza artificiale, una intermedia che abbiamo chiamato machine learning ed infine la più piccola che è quella del deep learning di cui fanno parte anche le reti neurali.

Ma rimaniamo per un momento su quella intermedia, sull’apprendimento automatico.

Come si impara?

Così come esistono diverse varietà di mela, allo stesso modo esistono diversi tipi di machine learning.

Per far imparare qualcosa ad un computer esistono diversi approcci, diversi modelli di apprendimento, diversi algoritmi che vanno tutti sotto la categoria del machine learning.

Se non sai bene cosa è un algoritmo non preoccuparti. Se hai mai cucinato o anche solo preparato un caffè, hai già esperienza diretta di cosa sia un algoritmo. Immaginalo come una ricetta o una sequenza di operazioni.

Apri la moka, versa l’acqua fino alla valvola, riempi il filtro di caffè e così via. Possiamo dire che questo è l’algoritmo per preparare il caffè con la moka.

Ora, gli algoritmi di machine learning funzionano in maniera un po’ diversa. Passami il termine, seguono un approccio più creativo.

Come fa un artista ad imparare a fare l’artista? Nessuno ha spiegato a Picasso come essere Picasso o ad Axl Rose come essere Axl Rose…

Axl Rose

Diciamo che entrambi hanno osservato, provato, sbagliato e riprovato e nel tempo sono migliorati sempre di più fino a diventare quello che sono diventati.

Ecco, gli algoritmi di machine learning non ti danno le istruzioni passo passo per suonare la chitarra, ma vedila più come un programma di studi intensivo dove ti viene mostrato come suonare la chitarra, più e più volte, con stili diversi e con maestri diversi.

Un algoritmo di machine learning è caratterizzato dal metodo di studio, dalla qualità e quantità degli esempi che ti vengono mostrati e dal come ti vengono mostrati (li guardi, li leggi, li ascolti, ti dà un link e poi te li vai a prendere tu) e così via.

Osservare centinaia di ore di video in cui dei musicisti suonano la chitarra e progressivamente provare a farlo è qualcosa che assomiglia ad un algoritmo di machine learning.

Adesso posso anche spiegarti come ha fatto il perceptron di Rosenblatt (argomento dell’articolo precedente) a riconoscere i quadrati allineati a destra e sinistra e, allo stesso modo, come fanno oggi alcuni sistemi a distinguere un’immagine di un gatto da quella di un cane, individuandone anche la razza.

Tipi di apprendimento

Apprendimento supervisionato

Come insegnamo ai bambini qual è la destra e la sinistra?

Si procede per tentativi, toccandogli ad esempio la gamba e dicendo loro “questa è la destra”, oppure ripetendo più volte un balletto sulle note di una canzone.

Poi loro provano e noi confermiamo o correggiamo la loro risposta.

Ecco, questo si chiama apprendimento supervisionato. Al perceptron di Rosenblatt non vennero date semplicemente una sequenza di immagini da visualizzare, ma era prevista anche la supervisione di un operatore (ecco perchè si chiama apprendimento supervisionato).

In sostanza, al primo tentativo si è mostrata una tessera, che poteva avere il quadrato a destra o a sinistra, non importa e la macchina dava una risposta. Se la risposta era giusta si proseguiva (e le prime volte sarebbe stata corretta con il 50% delle probabilità), ma se la risposta era sbagliata l’operatore segnalava l’errore alla macchina.

Ecco che progressivamente, tentativo dopo tentativo, gli interventi dell’operatore diminuiscono sempre di più perchè la macchina migliora e ad un certo punto inizia a rispondere sempre correttamente perchè ha imparato qual è la destra e qual è la sinistra.

Lo ha fatto perchè i valori che controllano ogni singolo neurone del Perceptron si sono stabilizzati in modo da generare la risposta corretta per ognuna delle due immagini proposte.

Certo, dal nostro punto di vista, il Perceptron era una macchina molto semplice, ma all’epoca era qualcosa di fantascientifico.

Allo stesso modo, ma ad un livello molto più complesso internamente, le macchine di oggi sono in grado di distinguere un cane da un gatto e di riconoscerne anche la razza.

Per farlo hanno bisogno di centinaia di migliaia di fotografie di esempio e non possiamo pensare ad un operatore che fisicamente supervisioni l’operazione di apprendimento.

Nella realtà si hanno a disposizione degli archivi digitali con tutte queste fotografie (centinaia di migliaia appunto o anche più) dove ad ogni fotografia sono associate tutte le informazioni che si vogliono insegnare al computer, come ad esempio la razza.

Da nessuna parte codifico le regole per insegnare alla macchina a distinguere un cane da un gatto (di fatto è impossibile, vista la varietà delle razze), semplicemente mostro tantissimi esempi fornendo, per ogni esempio, la risposta che vorrei ottenere.

Oggi moltissimi utilizzano tutti i giorni una soluzione di questo tipo. Quando andiamo su Google Immagini e digitiamo Gatto Siberiano, stiamo accedendo al risultato di una elaborazione di questo tipo.

I filtri anti-spam della nostra posta elettronica funzionano così.

Gmail ad esempio analizza il testo del messaggio ed osserva il comportamento dell’utente su quel testo… Dopo decine di milioni di tentativi il computer è in grado di capire in anticipo se quel testo è spam o meno.

Questo non è l’unico modo di insegnare ad un computer.

Altre tipologie di apprendimento

Esistono ad esempio tecniche di apprendimento non-supervisionato (dove è il computer che estrare delle informazioni generali) e tecniche di apprendimento per rinforzo (di cui parlerò eventualmente in un articolo successivo).

Ma per sistemi complessi, come può essere una macchina a guida autonoma, le cose sono molto più complicate e si hanno diversi algoritmi che funzionano contemporaneamente per risolvere diversi problemi più piccoli.

In altre parole, possono entrare in gioco diverse tipologie di algoritmi di machine learning contemporaneamente.

Ora, tutti gli algoritmi di machine learning (deep learning incluso) hanno in comune il fatto di imparare a risolvere dei problemi o a capire gli esempi che gli vengono forniti.

Non a caso si chiama apprendimento.

Il ruolo dell’uomo in questo caso non è più quello di scrivere i programmi, ma bensì quello di definire come il programma dovrà apprendere.


CAPITOLI

CAPITOLO 4: Reti neurali, Sistemi esperti e Deep Learning
Alla tastiera del Deep Blue che sconfisse Kasparov c’era un uomo. E l’Alaskan Malamute è diverso dal Siberian Husky d il computer lo sa!
CAPITOLO 5: Machine Learning (lo spiegone!)
Che poi in realtà ti parlo di bambole russe e roba da mangiare… Di Picasso, Axl Rose, cani e gatti. Come si fa a far stare tutta questa roba in un capitolo? Adesso te lo mostro 🙂

PLAYLIST SPOTIFY

PLAYLIST DI EPISODIO
(trovi le canzoni delle cinque puntate sull’intelligenza artificiale)
http://tiny.cc/5fke6y

PLAYLIST STAGIONE 1
(trovi le canzoni di tutte le puntate della prima stagione, aggiornata ogni giovedì)
http://tiny.cc/ut9f4y

PLAYLIST YOUTUBE

PLAYLIST DI EPISODIO
(trovi le canzoni delle cinque puntate sull’intelligenza artificiale)
https://goo.gl/9nGPb9

PLAYLIST STAGIONE 1
(trovi le canzoni di tutte le puntate della prima stagione, aggiornata ogni giovedì)
http://tiny.cc/eoke6y

MUSICA

♫ Golden Years – 2014 – Grenouer: http://tiny.cc/gncj6y
♫ The Warrior (Full Guitar Solo): 2011 – Yossi Sassi: http://tiny.cc/rncj6y
♫ You Are My Light – 2010 – Elizabeth: http://tiny.cc/7ncj6y

VIDEO

★ Garry Kasparov VS Deep Blue 1997 6th Match (rare footage): http://tiny.cc/pocj6y
★ How computers learn to recognize objects instantly | Joseph Redmon: http://tiny.cc/iqcj6y
★ Dobot Robotic Arm with simulation of assembling production line: http://tiny.cc/crcj6y
★ Teach English: Left and Right ESL Song: http://tiny.cc/3rcj6y
★ The Audi and Nvidia self-driving car: http://tiny.cc/pscj6y

APPROFONDIMENTI

♦ I limiti del perceptron: il problema della xor: http://tiny.cc/snhj6y
♦ Deep Learning: http://tiny.cc/4nhj6y
♦ Il Machine Learning spiegato ad una giraffa: http://tiny.cc/6nhj6y
♦ SISTEMI ESPERTI: http://tiny.cc/mohj6y
♦ Perchè il deep learning fa paura: http://tiny.cc/dphj6y
♦ Google interpreta al 94% il contenuto delle immagini: http://tiny.cc/qphj6y

LIBRI

♦ Homo pluralis. Essere umani nell’era tecnologica: http://tiny.cc/16ke6y
♦ Homo deus. Breve storia del futuro: http://tiny.cc/5ble6y
♦ Artificial Intelligence: Guide for Absolute Beginner: http://tiny.cc/4hle6y
♦ Deep Learning for Beginners: Concepts, Techniques and Tools: http://tiny.cc/3kle6y