101 - Deep learning
Il deep learning è un campo di cui si sente parlare sempre più spesso: vediamo di cosa si tratta e come funziona, sfruttando alcuni esempi pratici.
Cos’è
Il deep learning è quel campo di ricerca dell’apprendimento automatico e dell’intelligenza artificiale che si basa su diversi livelli di rappresentazione, corrispondenti a gerarchie di caratteristiche di fattori o concetti, dove i concetti di alto livello sono definiti sulla base di quelli di basso.
Tecnica sviluppata già negli anni ’80 (grazie a persone come Geoff Hinton, Yann Lecun, Yoshua Bengio e Jürgen Schmidhuber) ispirandosi ai risultati sulla cognizione umana.
Uno degli obiettivi è ignorare la (noiosa) fase di definizione di feature ad-hoc per uno specifico problema da esaminare e lasciare alle reti neurali il compito di identificare le features più adatte; risulta particolarmente utile in scenari dove si ha a che fare con grosse moli di dati perlopiù complessi e non strutturati.
Tra i vantaggi del deep learning c’è la possibilità di condividere e riutilizzare i parametri ottenuti durante l’apprendimento per uno specifico task in altri contesti, nonché la possibilità di sviluppare un unico framework computazionale che può essere implementato ed eseguito su diverse piattaforme.
Rapporto con l’intelligenza artificiale e il machine learning
Come funziona
Invece di una singola rete con molti parametri da individuare tutti insieme, si suddividono le fasi di elaborazione in più livelli distinti a cascata. L’output di ogni rete neurale è l’input della successiva.
Tipicamente l’input iniziale è a basso livello (ad esempio, si sfruttano piccoli gruppi di pixel di un’immagine) e ogni rete genera delle rappresentazioni più ad alto livello (ad esempio il contorno viso, la bocca, gli occhi, ecc.). Le elaborazioni degli strati intermedi sono tipicamente meccanismi non supervisionati.
Funzionamento del deep learning
Esempi di utilizzo
Assistenti virtuali
Il cuore della “traduzione” del discorso e del linguaggio è basate su tecniche di deep learning. Esempi comuni di assistenti virtuali sono Cortana, Siri e Alexa.
Auto a guida autonoma
Per addestrare un’auto come questa, ad esempio una Tesla, sono necessarie un’esperienza e una competenza simili a quelle umane.
Per comprendere gli scenari del traffico per le strade, il significato dei segnali stradali, i pedoni che attraversano la strada, i limiti di velocità e molti altri fattori come questi, è chiaro come sia necessaria una grande quantità di dati.
Che se ne creda, la prima auto a guida autonoma ha utilizzato le reti neurali per rilevare le linee che delimitano le corsie stradali, segmentare il terreno e altre funzionalità: si chiamava ALVINN ed è stata creata nel 1989.
Chatbot
La continua interazione dei chatbot con gli esseri umani per fornire servizi ai clienti richiede risposte basate sul contesto, e spesso non sono facilmente interpretabili, magari per banali errori di battitura.
Per rispondere in modo utile a tutte le domande difficili e fornire una risposta appropriata, è necessario sfruttare diverse tecniche di deep learning, che permettono di fornire in input dialoghi e conversazioni in linguaggio umano che possono essere elaborate e sfruttate per costruire uno strumento di risposta automatica.
Riconoscimento facciale
Il riconoscimento facciale ha molte funzionalità, dall’utilizzo nell’ambito della sicurezza al meccanismo fino alla funzione di tagging utilizzato da Facebook ogni qualvolta si aggiunge una foto che contenga delle persone.
Questo campo di applicazione tuttavia non è semplicissimo: ad esempio, riconoscere una stessa persona con aumento o perdita di peso, dopo la crescita di una barba o senza, nuove acconciature e così via, sono tutte attività che spesso sono difficile per un essere umano, ma non sono difficili tuttavia per un algoritmo di questo tipo.
Sanità
Personalizzazione dei farmaci in base al profilo genetico e alle malattie sono compiti perfetti come applicazioni del deep learning: questo campo ha ampliato la portata di applicazioni in ambito medico e ha attirato l’attenzione delle più grandi aziende farmaceutiche.
Non solo: il deep learning è alla base di altri meccanismi, come il Deep Fake. Non ne hai mai sentito parlare? Dai un’occhiata qui!
Altri casi d’uso
Esistono molti livelli di applicazione di questa tecnica, alcuni anche molto specifici:
- POS tagging;
- Named-entity recognition;
- Clustering;
- Similarità tra documenti;
- Sentiment analysis;
- Riconoscimento di oggetti nelle immagini.