Apri il menu principale

Apprendimento profondo

branca del machine learning
(Reindirizzamento da Deep learning)

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, secondo la definizione dell'Osservatorio Artificial Intelligence del Politecnico di Milano, per deep learning 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 computer vision, nel riconoscimento automatico del discorso, nell'elaborazione del linguaggio naturale, nel riconoscimento audio e nella bioinformatica. "Deep learning" è un'espressione oggi famosa che ridà lustro al concetto di rete neurale.

IntroduzioneModifica

DefinizioniModifica

L'apprendimento profondo è definito come una classe di algoritmi di apprendimento automatico che[2]:

  • usano vari livelli di unità non lineari a cascata per svolgere compiti di estrazione di caratteristiche e di trasformazione. Ciascun livello successivo utilizza l'uscita del livello precedente come input. Gli algoritmi possono essere sia di tipo supervisionato sia non supervisionato e le applicazioni includono l'analisi di pattern (apprendimento non supervisionato) e classificazione (apprendimento supervisionato).
  • sono basati sull'apprendimento non supervisionato di livelli gerarchici multipli di caratteristiche (e di rappresentazioni) dei dati. Le caratteristiche di più alto livello vengono derivate da quelle di livello più basso per creare una rappresentazione gerarchica.
  • fanno parte della più ampia classe di algoritmi di apprendimento della rappresentazione dei dati all'interno dell'apprendimento automatico.
  • apprendono multipli livelli di rappresentazione che corrispondono a differenti livelli di astrazione; questi livelli formano una gerarchia di concetti.

Ciò che queste definizioni hanno in comune sono (1) i livelli multipli di unità non lineari e (2) 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[3].

Storia del Deep LearningModifica

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 del Deep Learning è 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 (v. Big Data), 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 Deep Learning, fra altre utilità, permettono di:

  • identificare oggetti nelle immagini e nei video;
  • trascrivere il parlato in testo;
  • individuare e interpretare gli interessi degli utenti online, mostrando i risultati più pertinenti per la loro ricerca.

Grazie a queste e altre soluzioni, il Deep Learning 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 Deep Learning 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 di anticipo rispetto alle previsioni degli esperti.[1]

ArchitettureModifica

Reti neurali profondeModifica

Reti neurali convoluzionaliModifica

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 layers). 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[4].

Reti neurali ricorsiveModifica

una rete neurale ricorsiva è una rete neurale in cui alcuni elementi ricorsive ossia si basano su loro stessi

Compressore di storia neuraleModifica

Reti deep beliefModifica

Autoencoder impilatoModifica

Rete di impilamento profondoModifica

Rete di impilamento profondo di tensoreModifica

Spike-and-slab RBMModifica

Macchine di Boltzmann profondeModifica

Macchine kernel multilivelloModifica

Strutture di memoria differenziabile LSTM correlataModifica

Reti deep-qModifica

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.

Hashing semanticoModifica

DiagnosticaModifica

Nel 2018, l'azienda britannica DeepMind, l'Ospedale Oculistico di Moorfield e l'University College di Londra hanno lanciato AlphaGo Zero, un software che promette di riconoscere l'anatomia dell'occhio, la patologia e suggerire ai medici un trattamento sanitario adeguato.[5]
L'occhio del paziente viene esaminato mediante una tomografia a coerenza ottica 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.

ApplicazioniModifica

  • Riconoscimento automatico del discorso;
  • Riconoscimento di immagini;
  • Elaborazione del linguaggio naturale;
  • Scoperta di farmaci e tossicologia;
  • Gestione delle relazioni con i clienti;
  • Sistema di raccomandazione;
  • Bioinformatica;
  • Guida autonoma;
  • Identificazione delle frodi;
  • Diagnosi mediche.

Librerie softwareModifica

NoteModifica

  1. ^ a b Osservatori Digital Innovation, Alla scoperta del Deep Learning: significato, esempi e applicazioni, su blog.osservatori.net. URL consultato il 30 maggio 2019.
  2. ^ a b (EN) L. Deng e D. Yu, Deep Learning: Methods and Applications (PDF), in Foundations and Trends in Signal Processing, vol. 7, 3-4, 2014, pp. 1-199, DOI:10.1561/2000000039.
  3. ^ (EN) Yoshua Bengio, Learning Deep Architectures for AI (PDF), in Foundations and Trends in Machine Learning, vol. 2, nº 1, 2009, pp. 1-127, DOI:10.1561/2200000006 (archiviato dall'url originale il 4 marzo 2016).
  4. ^ Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke e Andrew Rabinovich, Going Deeper with Convolutions, in Computing Research Repository, 2014, arXiv:1409.4842.
  5. ^ Marco Tonelli, L'intelligenza artificiale di DeepMind riconosce più di 50 malattie oculari, La Stampa, 3 settmebre 2018 (archiviato il 26 settembre 2019). Ospitato su archive.is.
  6. ^ deeplearning4j
  7. ^ B. C. Ooi, K.-L. Tan, S. Wang, W. Wang, G. Chen, J. Gao, Z. Luo, A.K.H. Tung, Y. Wang, Z. Xie, M. Zhang, K. Zheng. "SINGA: A Distributed Deep Learning Platform," ACM Multimedia (Open Source Software Competition). 2015.
  8. ^ W. Wang, G. Chen, T. T. A. Dinh, J. Gao, B. C. Ooi, K.-L.Tan, S. Wang. "SINGA: Putting Deep Learning in the Hands of Multimedia Users," ACM Multimedia. 2015.
  9. ^ Jeff Dean e Rajat Monga, TensorFlow: Large-scale machine learning on heterogeneous systems (PDF), su TensorFlow.org, Google Research, 9 novembre 2015. URL consultato il 10 novembre 2015.

Collegamenti esterniModifica

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica