Negli ultimi anni abbiamo assistito a una serie sorprendente di successi nel campo dell'Intelligenza Artificiale e, in particolare, nel campo del Machine Learning, che è una delle aree principali della IA oltre che, come noto, il tema dell'Hackathon organizzato da HTML.IT.
Il Machine Learning è alla base di tantissimi prodotti che usiamo quotidianamente: dal riconoscimento del viso per sbloccare il nuovo iPhone X ai suggerimenti per gli acquisti su Amazon o a cosa Netflix ci consiglia di guardare, sulla base delle nostre preferenza. E nei prossimi anni avrà un ruolo sempre maggiore.
Basti pensare ai famosi veicoli a guida autonoma che sono ormai maturi a livello tecnologico: gli ostacoli alla loro diffusione adesso sono prettamente legali in quanto bisogna capire, ad esempio, di chi sarà la responsabilità in caso di incidenti - del proprietario o del costruttore?
Deep Learning
Gran parte di questi prodotti funzionano grazie a tecniche di Deep Learning, una sottoarea del Machine Learning, in cui si usa una rete neurale "profonda", ovvero composta da tanti livelli di neuroni.
Il Machine Learning in questi anni si è imposto, come osserva Etham Alpaydin, autore del testo "Machine Learning - The new AI", grazie a due fattori principali: la grande disponibilità di dati e una grande potenza di calcolo. In effetti, gran parte delle idee del Machine Learning in generale e del Deep Learning in particolare risalgono agli anni ‘70 e ‘80.
Il vantaggio del Machine Learning rispetto alla programmazione tradizionale è che non richiede al programmatore di scrivere codice e, quindi, di progettare un algoritmo. Quello che serve è solo un insieme di dati di esempio, da cui il programma può "apprendere".
Se questo approccio non vi sembra rivoluzionario, fermatevi due minuti a pensare a come potreste progettare un algoritmo per risolvere il seguente problema: vi viene data una foto e il vostro programma deve dire se si tratti della foto di un cane oppure di un gatto; la foto può essere di un dettaglio, ad esempio solo la testa dell'animale, oppure può rappresentarlo a figura intera. Usando il Deep Learning, basta avere a disposizione tante foto di cani e di gatti, divise nei due gruppi, per addestrare una rete neurale a risolvere il problema.
Se ancora non siete convinti, citiamo un altro esempio: il recente risultato di DeepMind (una società di Google), pubblicato su Nature. In questo lavoro, usando un innovativo approccio di Deep Learning, i ricercatori di DeepMind sono riusciti a creare un’intelligenza artificiale che ha imparato da sola a giocare ai videogiochi della vecchia e classica console Atari 2600. Questa IA, chiamata Deep Q-Network, ha come input la schermata del videogioco e come output può controllare i movimenti (e il pulsante di fuoco) del joystick, come un giocatore normale.
La cosa più importante è che, per ogni videogioco, la IA non abbia idea delle regole dello stesso: l'unica informazione di cui dispone è la porzione di schermo in cui viene riportato, nel videogioco, il punteggio; l'obiettivo della IA è di massimizzare il punteggio. Sareste in grado di scrivere un programma per giocare a un videogioco che non conoscete?
Qui potete vedere un video su YouTube di Deep Q-Network che impara a giocare a Breakout.
Altre storie di successo del Deep Learning le racconterò nella giornata di sabato dell'Hackathon; sono sicuro che nei prossimi anni vedremo un numero sempre maggiore di prodotti basati sul Deep Learning, grazie anche alla sempre crescente disponibilità di dati e di potenza di calcolo. Ci sarà, tra questi, qualcosa che vedremo nascere proprio nell'Hackathon di HTML.it?