Remove ads
branca dell'apprendimenro automatico Da Wikipedia, l'enciclopedia libera
L'apprendimento profondo (in inglese deep learning) è quel campo di ricerca dell'apprendimento automatico (in inglese machine learning) 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.
In altre parole, per apprendimento profondo si intende un insieme di tecniche basate su reti neurali artificiali organizzate in diversi strati, dove ogni strato calcola i valori per quello successivo affinché l'informazione venga elaborata in maniera sempre più completa[1].
Tra le architetture di apprendimento profondo si annoverano le reti neurali profonde, la convoluzione di reti neurali profonde, le deep belief network, e reti neurali ricorsive, che sono state applicate nella visione artificiale, nel riconoscimento automatico del discorso, nell'elaborazione del linguaggio naturale, nel riconoscimento audio e nella bioinformatica. "Apprendimento profondo" è un'espressione oggi famosa che ridà lustro al concetto di rete neurale.
L'apprendimento profondo è definito come una classe di algoritmi di apprendimento automatico che[2]:
Ciò che queste definizioni hanno in comune sono i livelli multipli di unità non lineari e l'apprendimento (supervisionato o non supervisionato) in ogni livello della rappresentazione di caratteristiche, in cui i livelli formano una gerarchia delle caratteristiche stesse[2]. La composizione di ciascun livello di unità non lineari usata in un algoritmo di apprendimento profondo dipende dal problema che deve essere risolto. Nell'apprendimento profondo possono venire usati livelli nascosti di una rete neurale artificiale e insiemi di formule proposizionali[4].
I primi studi sulle reti neurali multistrato sono stati prodotti dallo scienziato giapponese Kunihiko Fukushima che, con il modello del cognitrone nel 1975, e del neo-cognitrone[5] poi, ha introdotto l'idea di area di connessione per i neuroni che si è sviluppata nelle reti neurali convoluzionali.
Lo studio delle reti neurali artificiali multistrato si è sviluppato già negli anni ottanta, ma solo nell'ultimo decennio si sta dimostrando la loro utilità in un'ampia gamma di settori e applicazioni. Più nel dettaglio, il recente successo dell'apprendimento profondo è dovuto al superamento di alcuni ostacoli che in passato hanno impedito il raggiungimento dei risultati attesi, come la mancanza di dati o di un'adeguata capacità computazionale. Infatti, oggi sono incrementati i dati a disposizione, sono stati sviluppati sistemi di calcolo parallelo basati su GPU e, soprattutto, sono stati ottimizzati i metodi di addestramento delle reti neurali, che oggi possono trovare soluzioni a problemi che in passato hanno impedito ai ricercatori di ottenere risultati soddisfacenti.
Oggi i sistemi di apprendimento profondo, fra altre utilità, permettono di identificare oggetti nelle immagini e nei video, trascrivere il parlato in testo, e individuare e interpretare gli interessi degli utenti online, mostrando i risultati più pertinenti per la loro ricerca.
Grazie a queste e altre soluzioni, l'apprendimento profondo sta vivendo anni di rapido progresso, arrivando anche, in molti casi, a superare le prestazioni degli esseri umani. Basta pensare all'applicazione degli algoritmi di apprendimento profondo nell’ambito dei problemi decisionali sequenziali, all’interno dell'apprendimento per rinforzo: un caso esemplare è stato lo sviluppo di AlphaGo, un software che nel 2016 ha battuto il campione mondiale di Go, diversi anni in anticipo rispetto alle previsioni degli esperti.[1]
La rete neurale convoluzionale (Convolution Neural Network, CNN) è un metodo di scelta per elaborare dati visuali e dati di tipo 2D. Una CNN è composta da uno più strati convoluzionali con strati completamente connessi verso l'alto. Usa anche pesi e strati comuni (pooling layer). In particolare il "max-pooling" è spesso usato nell'architettura convoluzionale di Fukushima. Quest'architettura permette alle CNN di avere dei vantaggi dalle strutture 2D di ingresso. Sono particolarmente efficaci nell'area delle immagini e di riconoscimento del discorso. Possono essere allenate anche con la backpropagation standard. Sono inoltre facili da allenare rispetto ad altre reti neurali profonde o feed-forward ed hanno molti meno parametri da stimare. Un programma di CNN è il DeepDream di Google[6].
Le reti neurali ricorsive (Recurrent Neural Networks, RNN) nascono con il tentativo di rendere le reti neurali Turing complete aggiungendo una componente di memoria. Le reti neurali feed-forward rispondono in modo costante agli stessi input, senza però poter fare collegamenti tra input diversi, come potrebbe essere utile nell'ambito della semantica. Le reti neurali ricorsive invece pesano ogni input in base allo stato precedente e lo stesso input potrebbe dare output diversi a seconda del contesto in cui è inserito. Nonostante questo le RNN, a meno che non vengano inseriti elementi casuali, restano reti deterministiche in quanto la stessa sequenza di input porterà sempre alla stessa sequenza di output. Lo stato di una RNN è implementato aggiungendo a un layer dei neuroni ricorsivi che avranno come valore ad ogni istante di tempo il valore all'istante precedente sommato a una variazione data dagli input dei neuroni feed-forward.
Le reti neurali di questo tipo diventano impossibili da allenare per retropropagazione dell'errore, quindi viene utilizzato come stratagemma quello di svolgere le ricorsività considerando il loro funzionamento per ogni singolo istante di tempo[poco chiaro].
Mentre nel caso di percorsi a ritroso molto brevi questo funziona, per i casi in cui bisogna percorrere diversi step a ritroso si incorre nel problema del Vanishing Gradient o dell'Exploding Gradient nel caso la funzione di costo abbia derivata sempre minore di uno (ad esempio sigmoide e tanh) o sempre maggiore di uno. Questo infatti porta a una convergenza a zero esponenziale nel primo caso e a un'esplosione esponenziale del gradiente nel secondo. In nessun caso il gradiente è più computabile anche solo dopo pochi passi. Per risolvere questo problema si fa in modo di utilizzare una funzione rettificatore.
Questa è una classe di modelli d'apprendimento profondi usando il Q-learning, una forma di apprendimento per rinforzo, del Google DeepMind. Risultati preliminari sono stati presentati nel 2014 con un articolo pubblicato su Nature nel febbraio 2015. L'applicazione a cui si fa riferimento è un gioco dell'Atari 2600.
L'hashing semantico tratta la strutturazione di valori crittografati sulla base di un imprevisto del sistema neurale iniziale e trattiene invece informazioni fondamentali sulla base semantica del vocabolario.
Nel 2018, l'azienda britannica DeepMind, il Moorfields Eye Hospital e l'University College di Londra hanno lanciato un software che promette di riconoscere l'anatomia dell'occhio, la patologia e suggerire ai medici un trattamento sanitario adeguato.[7]
L'occhio del paziente viene esaminato mediante una tomografia ottica a coerenza di fase che acquisisce immagini a colori in alta definizione, a loro volta elaborate da un algoritmo che le confronta con la base di conoscenza clinica, in modo tale da identificare la diagnosi e la soluzione terapeutica ottimale per il caso specifico.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.