Cos'è il Deep Learning?
Deep Learning(DL) è un sottocampo di Machine Learning (ML) che usa algoritmi in modo simile al modo in cui i neuroni sono usati nel cervello umano. Il Deep Learning crea neural network artificiali e strati basati su come funziona il cervello umano. Il Deep Learning è una tecnica di machine learning che insegna ai computer ciò che noi umani facciamo facilmente e naturalmente – imparare dagli esempi che incontriamo.
La tecnologia del deep learning può essere osservata nelle auto senza conducente, che sono in grado di distinguere un rosso da un verde, un umano da un lato del marciapiede e persino di misurare la distanza tra due auto. È la tecnologia che permette l'attivazione vocale del telefono cellulare, il riconoscimento dei volti sul televisore e le operazioni gestuali sui dispositivi personali. Il Deep Learning ha ottenuto una quantità significativa di attenzione negli ultimi anni e con ottime ragioni.
La storia del Deep Learning
Venendo alle sue origini, i deep learning è apparso per la prima volta nel 1943 quando Warren McCulloch e Walter Pitts hanno usato la matematica e gli algoritmi per creare un sistema di calcolo che replicava le neural network. Piccoli progressi sono stati fatti negli anni '50, '60, '70 e '80. La più grande evoluzione per il deep learning ha avuto luogo nel 1999, quando la velocità di elaborazione del computer e le unità di elaborazione grafica sono state sviluppate. Nei dieci anni successivi, sistemi goffi e inefficienti sono diventati 1000 volte più veloci.
È stato solo a metà degli anni 2000 che il termine deep learning ha cominciato a comparire regolarmente nelle conversazioni tecnologiche. Il termine è diventato popolare quando Geoffrey Hinton e Ruslan Salakhutdinov hanno pubblicato un documento che spiegava come una neural network composta da più strati poteva essere addestrata - uno strato alla volta. Google ha portato le cose al livello successivo nel 2012 con un algoritmo in grado di riconoscere i gatti. Conosciuto come The Cat Experiment, ha usato l'unsupervised Learning per mostrare 10.000.000 di immagini di gatti ad un sistema e addestrarlo a riconoscere i gatti. È stato un successo parziale, facendo meglio dei suoi predecessori, ma riconoscendo meno del 16% dei gatti mostrati.
Google ha poi investito nella start-up britannica DeepMind due anni dopo e, nel 2016, l'algoritmo di Google DeepMind AlphaGo ha creato la storia apprendendo il complesso gioco da tavolo Go, andando a battere un giocatore umano professionista in una competizione a Seul.
Il Deep Learning, un sottocampo del Machine Learning, è un campo che impara e migliora costantemente esaminando i propri algoritmi. Il Deep Learning basa il suo lavoro sulle neural network artificiali che sono create per imitare il pensiero umano. Fino a poco tempo fa, queste neural network avevano una potenza di calcolo limitata con conseguente complessità limitata.
Con le big data analytics che avanzano a passi da gigante, le neural network sono diventate sempre più complesse e sofisticate. Questo ha portato i computer a prendere il ritmo nell'osservare, imparare e reagire a situazioni complesse, a volte più velocemente di quanto farebbe una mente umana. I modelli continuano ad essere addestrati con grandi insiemi di dati etichettati e neural network dotate di una moltitudine di strati. Aiutato dalla classificazione delle immagini, dalle capacità di traduzione e dalla tecnologia di riconoscimento vocale, il deep learning decodifica persino il riconoscimento dei modelli senza alcun aiuto umano.

Cosa aiuta ad ottenere il Deep Learning?
Il Deep Learning fa parte della nostra vita quotidiana. Per esempio, quando si caricano delle fotografie su Facebook, il deep learning aiuta taggando automaticamente i vostri amici. Se usate assistenti digitali come Siri, Cortana o Alexa, l'elaborazione del linguaggio naturale e il riconoscimento vocale è ciò che li aiuta a servire gli utentii. Quando incontri i tuoi clienti internazionali su Skype, ascolti le traduzioni in tempo reale. Il tuo provider di servizi e-mail riconosce lo spam in modo automatico. La lista continua.
Un gigante come Google sfrutta il deep learning da anni e ora sta lavorando per fornire soluzioni all'avanguardia Sono stati in grado di generare un discorso che imita la voce umana e suona più naturale possibile con i suoi sistemi vocali. Google Translate impiega il deep learning e il riconoscimento delle immagini per lavorare sulla traduzione vocale e il riconoscimento delle lingue scritte. PlaNet di Google può dirti dove qualsiasi foto è stata scattata e il loro TensorFlow ha prodotto una serie di applicazioni di intelligenza artificiale (AI).
Ci sono una serie di settori che ora hanno il deep learning al centro del loro funzionamento:
Aerospaziale e Difesa
Il deep learning è utilizzato ampiamente per aiutare i satelliti a individuare specifici oggetti o aree di interesse e classificarli come sicuri o non sicuri per i soldati.
Ricerca medica
Il campo della ricerca medica utilizza ampiamente il deep learning. Per esempio, nell'attuale ricerca sui tumori, il deep learning viene utilizzato per rilevare automaticamente la presenza di cellule tumorali. Gli scienziati dell'UCLA hanno realizzato un microscopico avanzato che utilizza dati di alto livello per insegnare a un'applicazione di deep learning come individuare le cellule tumorali con precisione. La portata del deep learning permetterà infine alla ricerca medica di creare medicine personalizzate che sono fatte su misura per la struttura del genoma di una persona.
Automazione industriale
Il settore dei macchinari pesanti è uno di quelli che richiede un gran numero di misure di sicurezza. Il deep learning aiuta a migliorare la sicurezza dei lavoratori in questi ambienti, rilevando qualsiasi persona o oggetto che si trova nel raggio di sicurezza di una macchina pesante.
Chatbot e bot di servizio
Il deep learning guida tutti i chatbot e i bot di servizio che interagiscono con i clienti e consente loro di fornire risposte intelligenti a query sempre più complesse basate sulla voce e sul testo. Questo è in continua evoluzione.
Colorazione dell'immagine
Quello che una volta era un compito svolto manualmente e che impiegava un lungo periodo di tempo, ora può essere affidato ai computer. Le immagini in bianco e nero possono essere colorate utilizzando algoritmi di deep learning che sono in grado di collocare i contenuti dell'immagine nel contesto e ricrearli accuratamente con i giusti colori.
Riconoscimento facciale
Questa funzionalità che utilizza il deep learning viene utilizzata non solo per una serie di scopi di sicurezza, ma presto permetterà gli acquisti nei negozi. Il riconoscimento facciale è già ampiamente utilizzato negli aeroporti per consentire il check-in agevole e senza l'uso di carta. Il deep learning farà un ulteriore passo avanti consentendo al riconoscimento facciale di rappresentare un mezzo per effettuare pagamenti anche in situazioni in cui la persona ha avuto un cambio di acconciatura o dove l'illuminazione non è ottimale.
Come funziona il deep learning?
Per capire come i computer usano il deep learning, si avvalgono di un processo simile a quello di un bambino che cerca di imparare a identificare un cane. Un bambino impara prima ad associare un'immagine con la parola cane detta da un adulto. Il bambino passa ad associare il suono dell'abbaiare ad un cane. Il bambino inizia poi a dire la parola con diverse variazioni di pronuncia fino a quando non la pronuncia in maniera giusta.
Allo stesso modo, i programmi informatici possiedono una gerarchia e l'algoritmo in ogni livello applica un livello di trasformazione all'input (che è l'apprendimento che realizza) e crea un modello statistico come riferimento per l'output. Varie iterazioni (proprio come il bambino che impara a riconoscere il cane) vengono prese in considerazione fino a raggiungere il livello di precisione necessario. I diversi strati o set di caratteristiche che i dati devono superare per essere in grado di raggiungere il livello finale è ciò che ha portato la tecnologia ad essere chiamata "deep" learning.
Nel caso di un bambino e del machine learning supervisionato, ogni livello deve essere supervisionato e le istruzioni devono essere specifiche. Per un bambino dipende dal genitore, per il ML, si basa sulle competenze del programmatore o data scientist che definisce il set di dati che identifica un cane. Nel caso del deep learning, il programma costruisce da solo i set di caratteristiche senza supervisione, più velocemente e accuratamente.
Un bambino impiegherà mesi per essere in grado di compiere la giusta associazione con un cane. Per un programma di computer basato su algoritmi di deep learning, questo può essere raggiunto in pochi minuti, poiché scansiona accuratamente decine di immagini e sceglie i cani in esse. Per raggiungere e mantenere costantemente questi livelli di precisione, i programmi di deep learning hanno bisogno di enormi quantità di dati per l'addestramento e di potenza di elaborazione. Nessuno dei due era facilmente accessibile ai programmatori fino all'arrivo del cloud computing e dei big data.
Con abbastanza dati ora disponibili, i programmi di deep learning hanno acquisito la capacità di creare complessi modelli gerarchici con il proprio output guidato dall'iterazione. Sono in grado di creare modelli predittivi estremamente precisi da enormi quantità di dati grezzi non strutturati. In futuro, questo giocherà un ruolo importante nell'abilitare l'Internet of Things (IoT) poiché la maggior parte dei dati prodotti dagli uomini e dalle macchine non è strutturata e quindi è meglio gestita dal deep learning piuttosto che dagli esseri umani.
Creare metodi solidi di deep learning
Ci sono diversi approcci per creare modelli DL solidi.
Decadimento del tasso di apprendimento
Questo è un iper-parametro che potrebbe essere chiave per il deep learning. Determina quanto il modello si modifica come risposta alla quantità stimata di errore, ogni volta che c'è un cambiamento di fattori. Quando il tasso di apprendimento è alto, il sistema diventa troppo instabile per i processi di formazione. Se è troppo basso, le possibilità che l'addestramento richieda più tempo del necessario sono alte. Configurare accuratamente il decadimento del tasso di apprendimento indica che il tasso di apprendimento si adatta per continuare ad aumentare le capacità di prestazione riducendo il tempo di addestramento impiegato.
Apprendimento di transfer
Questo processo consiste nel far eseguire a un modello un'analisi su un compito correlato a uno che già conosce. La rete esistente viene alimentata con nuovi dati che non sono classificati. Quando sono messe in atto le regolazioni, qualsiasi nuovo compito intrapreso sarà eseguito con migliori capacità di categorizzazione. Con questo approccio, la quantità di dati necessari è ridotta, riducendo così anche il tempo di calcolo.
Formazione partendo da zero
In questo approccio, lo sviluppatore aggregherà grandi quantità di dati etichettati. L'architettura di rete sarà poi configurata in modo che possa apprendere le caratteristiche e il modello. Questo approccio è l'ideale per la creazione di nuove applicazioni così come per quelle che possono richiedere diversi output. Tuttavia, rimane uno degli approcci meno utilizzati a causa dell'enorme quantità di dati necessari, che si aggiunge al tempo impiegato per l'addestramento.
Approccio di dropout
Questo metodo risolve il problema dell'over-fitting nelle reti considerando il gran numero di parametri. L'over-fitting si verifica quando gli algoritmi sviluppati sui dati di formazione non si adattano ai dati reali. L'approccio di dropout possiede una comprovata esperienza nel migliorare le prestazioni delle neural network per quanto riguarda il supervised learning, in particolare nei settori del riconoscimento vocale e della classificazione dei documenti, nonché della biologia computazionale.
Il deep learning ha dato al campo dell'IA e della ML una spinta enorme. La capacità del deep learning di sezionare i compiti in modo tale da rendere più facile l'assistenza a qualsiasi macchina e rendere possibili compiti precedentemente riservati all'uomo è il suo punto di forza. L'IA è il futuro e, con l'aiuto del deep learning, le cose che si vedono nei film potrebbero diventare realtà in questa vita.