Cos'è * una * rete neurale artificiale?


15

Mentre approfondiamo la letteratura sulle reti neurali , possiamo identificare altri metodi con topologie neuromorfe (architetture simili a "reti neurali"). E non sto parlando del teorema di approssimazione universale . Di seguito sono riportati degli esempi.

Quindi, mi chiedo: qual è la definizione di una rete neurale artificiale? La sua topologia sembra coprire tutto.


Esempi:

Una delle prime identificazioni che realizziamo è tra PCA e un Autoencoder lineare con pesi legati nell'encoder e nel decoder e attivazioni con soglia nel livello del collo di bottiglia.

Inoltre, viene eseguita un'identificazione comune tra i modelli lineari (regressione logistica in speciale) e una rete neurale senza livello nascosto e un singolo livello di output. Questa identificazione apre diverse porte.

Serie di Fourier e Taylor? ANNs . SVM ? ANN. Processo gaussiano? ANN (con singolo livello nascosto con infinite unità nascoste).

E così, altrettanto facilmente, possiamo incorporare versioni regolarizzate arbitrarie con funzioni di perdita specializzate di questi algoritmi in un framework di reti neurali.

Ma più scaviamo, più somiglianze appaiono. Mi sono appena imbattuto in Deep Neural Decision Trees , che rende l'identificazione di una specifica architettura ANN con alberi decisionali, consentendo loro di apprenderli con i metodi ANN (come la backpropagazione della discesa del gradiente). Da questo possiamo costruire foreste casuali e alberi decisionali potenziati dal gradiente solo da topologie di reti neurali.

Se tutto può essere espresso come una rete neurale artificiale, cosa definisce una rete neurale artificiale?


Quel documento su Deep Neural Decision Trees è abbastanza lontano. Normalmente le funzioni di attivazione sono funzioni a valore reale, non prodotti esterni. Quindi non stanno davvero discutendo di ANN come normalmente pensiamo a loro, ma una generalizzazione matematica che non è ampiamente usata o accettata. Per mostrare che una ANN è diversa da un albero decisionale, vorrei semplicemente sottolineare che tutte le ANN sono parametriche (hanno uno spazio di parametri finito) mentre gli alberi sono non parametrici (hanno uno spazio di parametri potenzialmente infinito).
olooney

@olooney il prodotto Kronecker non è una funzione di attivazione, è semplicemente un'operazione sugli output del livello precedente (come una convoluzione o qualsiasi altra operazione che definiamo sulle attivazioni). Il DNDT può rappresentare qualsiasi albero decisionale E ogni DNDT può essere rappresentato da un albero decisionale.
Firebug

1
@olooney seguendo la tua definizione di funzione di attivazione, Softmax non è una funzione di attivazione.
Firebug

2
Non sono del tutto sicuro di comprendere la motivazione di questa domanda. Una possibile definizione libera di una RNA è che si tratta di un modello grafico diretto, che utilizza i neuroni (cioè le funzioni di attivazione) per elaborare input / output e la maggior parte delle volte si usa la pendenza del gradiente per addestrarlo. Quando dici che "tutto può essere espresso come una ANN", stai specificatamente chiedendo se esiste una mappatura esatta tra gli altri modelli citati e le ANN? Il problema è che dovrai elaborare routine di allenamento altamente modificate per adattarle alle ottimizzazioni.
Alex R.

1
@Sycorax anche io, sia lui che Hinton hanno accennato. Voglio dare l'opportunità ai rispondenti nell'altro campo di fornire fonti credibili :)
Firebug

Risposte:


6

Jürgen Schmidhuber, " Apprendimento profondo nelle reti neurali: una panoramica " ripercorre la storia dei concetti chiave nelle reti neurali e l'apprendimento profondo. A suo avviso, le reti neurali sembrerebbero comprendere essenzialmente qualsiasi modello che può essere caratterizzato come un grafico diretto in cui ciascun nodo rappresenta qualche unità computazionale. Schmidhuber è un importante ricercatore di reti neurali e ha scritto il documento originale sulle reti LSTM con Sepp Hochreiter.

Quali componenti modificabili di un sistema di apprendimento sono responsabili del suo successo o fallimento? Quali modifiche apportate a loro migliorano le prestazioni? Questo è stato chiamato il problema fondamentale della cessione del credito (Minsky, 1963). Esistono metodi generali di assegnazione del credito per solutori di problemi universali che sono ottimali in termini di tempo in vari sensi teorici (Sez. 6.8). Il presente sondaggio, tuttavia, si concentrerà sul sottocampo più ristretto, ma ora commercialmente importante, del Deep Learning (DL) in Artificial Neural Networks (NNs).

Una rete neurale standard (NN) è costituita da molti processori semplici e connessi chiamati neuroni, ognuno dei quali produce una sequenza di attivazioni a valore reale. I neuroni di input vengono attivati ​​attraverso sensori che percepiscono l'ambiente, altri neuroni vengono attivati ​​attraverso connessioni ponderate da neuroni precedentemente attivi (dettagli nel Sez. 2). Alcuni neuroni possono influenzare l'ambiente innescando azioni. L'apprendimento o l'attribuzione del credito riguardano la ricerca di pesi che inducano la NN a mostrare il comportamento desiderato, come guidare un'auto. A seconda del problema e del modo in cui i neuroni sono collegati, tale comportamento può richiedere lunghe catene causali di stadi computazionali (Sez. 3), in cui ogni stadio trasforma (spesso in modo non lineare) l'attivazione aggregata della rete. Il Deep Learning consiste nell'assegnare con precisione credito in molte di queste fasi.

Modelli poco profondi simili a NN con pochi di questi stadi sono in circolazione da molti decenni se non secoli (Sez. 5.1). I modelli con diversi strati successivi non lineari di neuroni risalgono almeno agli anni '60 (Sez. 5.3) e agli anni '70 (Sez. 5.5). Un metodo efficiente di discesa gradiente per l'apprendimento supervisionato (SL) basato sugli insegnanti in reti discrete e differenziabili di profondità arbitraria chiamato backpropagation (BP) è stato sviluppato negli anni '60 e '70 e applicato alle NN nel 1981 (sec. 5.5). L'addestramento basato su BP di NN profonde con molti strati, tuttavia, era stato trovato in pratica difficile alla fine degli anni '80 (Sez. 5.6), ed era diventato un argomento di ricerca esplicito all'inizio degli anni '90 (Sez. 5.9). DL è diventato praticamente fattibile in una certa misura grazie all'aiuto di Unsupervised Learning (UL), ad es. Sez. 5.10 (1991), Sez. 5.15 (2006). Gli anni '90 e 2000 hanno visto anche molti miglioramenti del DL puramente supervisionato (Sez. 5). Nel nuovo millennio, le NN profonde hanno finalmente attirato l'attenzione diffusa, soprattutto sovraperformando i metodi alternativi di apprendimento automatico come le macchine kernel (Vapnik, 1995; Scholkopf et al., 1998) in numerose importanti applicazioni. In effetti, dal 2009, le NN profonde supervisionate hanno vinto molte competizioni ufficiali internazionali per il riconoscimento di modelli (ad es. Sez. 5.17, 5.19, 5.21, 5.22), ottenendo il primo riconoscimento sovrumano di modelli visivi in ​​domini limitati (Sez. 5.19, 2011). Le NN profonde sono anche diventate rilevanti per il campo più generale dell'apprendimento per rinforzo (RL) in cui non esiste un insegnante supervisore (Sez. 6). soprattutto sovraperformando metodi alternativi di apprendimento automatico come le macchine kernel (Vapnik, 1995; Scholkopf et al., 1998) in numerose importanti applicazioni. In effetti, dal 2009, le NN profonde supervisionate hanno vinto molte competizioni ufficiali internazionali per il riconoscimento di modelli (ad es. Sez. 5.17, 5.19, 5.21, 5.22), ottenendo il primo riconoscimento sovrumano di modelli visivi in ​​domini limitati (Sez. 5.19, 2011). Le NN profonde sono anche diventate rilevanti per il campo più generale dell'apprendimento per rinforzo (RL) in cui non esiste un insegnante supervisore (Sez. 6). soprattutto sovraperformando metodi alternativi di apprendimento automatico come le macchine kernel (Vapnik, 1995; Scholkopf et al., 1998) in numerose importanti applicazioni. In effetti, dal 2009, le NN profonde supervisionate hanno vinto molte competizioni ufficiali internazionali per il riconoscimento di modelli (ad es. Sez. 5.17, 5.19, 5.21, 5.22), ottenendo il primo riconoscimento sovrumano di modelli visivi in ​​domini limitati (Sez. 5.19, 2011). Le NN profonde sono anche diventate rilevanti per il campo più generale dell'apprendimento per rinforzo (RL) in cui non esiste un insegnante supervisore (Sez. 6). il raggiungimento del primo riconoscimento sovrumano di pattern visivi porta a domini limitati (Sez. 5.19, 2011). Le NN profonde sono anche diventate rilevanti per il campo più generale dell'apprendimento per rinforzo (RL) in cui non esiste un insegnante supervisore (Sez. 6). il raggiungimento del primo riconoscimento sovrumano di pattern visivi porta a domini limitati (Sez. 5.19, 2011). Le NN profonde sono anche diventate rilevanti per il campo più generale dell'apprendimento per rinforzo (RL) in cui non esiste un insegnante supervisore (Sez. 6).

D'altra parte, non sono sicuro che sia necessariamente redditizio cercare di costruire una tassonomia di secchi reciprocamente esclusivi per le strategie di apprendimento automatico. Penso che possiamo dire che ci sono prospettive da cui i modelli possono essere visti come reti neurali. Non penso che la prospettiva sia necessariamente la migliore o utile in tutti i contesti. Ad esempio, sto ancora pianificando di riferirsi a foreste casuali e alberi a gradiente potenziato come "insiemi di alberi" invece di sottrarre le loro distinzioni e chiamarle "alberi della rete neurale". Inoltre, Schmidhuber distingue le NN dalle macchine del kernel - anche se le macchine del kernel hanno alcune connessioni con le NN - quando scrive "Nel nuovo millennio, le NN profonde hanno finalmente attirato l'attenzione diffusa, soprattutto sovraperformando metodi alternativi di apprendimento automatico come le macchine del kernel ... in numerose importanti applicazioni. "


Quindi praticamente ogni modello ed euristico conosciuto oggi in Machine Learning and Statistics sarebbe considerato un ANN da Schmidhuber, con la nomenclatura distintiva semplicemente data dalla strategia di ottimizzazione (compresi i modelli senza ottimizzazione qui)?
Firebug

1
Lo capisco, da un punto di vista pratico, ma non cambia il fatto che praticamente ogni modello è, a rigor di termini, un ANN (non riesco a pensare a nessun singolo modello che non lo sia).
Firebug

2
@Firebug In che modo riformattare i problemi di regressione o di clustering (k-semplici e altri), che vengono addestrati o inseriti in un "ambiente di apprendimento", in modo tale che siano uguali a questa definizione di ANN?
Sesto Empirico

1
@Firebug Non vedo come il fatto che la PCA possa essere dimostrata equivalente a un particolare codificatore automatico rende la PCA "una rete neurale". Nella PCA standard non stiamo nemmeno usando la discesa gradiente.
ameba dice di reintegrare Monica il

1
@Firebug Se definisci "NN" come "nodi computazionali connessi", suppongo che qualsiasi calcolo sia un NN. Non sono sicuro che sia utile ma va bene.
ameba dice di reintegrare Monica il

7

Se si desidera una definizione di base di un ANN, si potrebbe dire che si tratta di un modello grafico diretto, in cui input e output vengono elaborati su ciascun nodo tramite una funzione di attivazione e la maggior parte della discesa del gradiente temporale viene utilizzata per addestrarlo. Quindi la domanda diventa davvero: quali modelli là fuori possono essere espressi come modelli grafici?

Non sono un esperto, ma credo che in teoria alcune ANN possano essere Turing complete, il che significa che dovrebbero essere in grado di fare qualsiasi possibile set di calcoli (con un possibile numero infinito di risorse, sia chiaro).

Interpreterò anche la tua domanda nel modo seguente:

Per un determinato modello, posso dare uno schiaffo a un modello ANN per emulare quel modello, il più vicino possibile e in un ragionevole lasso di tempo?

Una rete neurale alla vaniglia può emulare un albero decisionale, utilizzando le attivazioni a gradini di heaviside. Il problema è che tali attivazioni di unità hanno un gradiente zero, quindi la normale discesa del gradiente non funzionerà. Si potrebbe dire "nessun problema, basta usare una forma modificata di discesa gradiente". Tuttavia, non è ancora abbastanza. Per un esempio migliore, prendi qualcosa come XGBOOST, che non è solo foreste a gradiente. C'è un sacco di lavoro extra che va nella scelta dei punti di splittaggio, della potatura, dell'ottimizzazione per la velocità, ecc. Forse dopo un numero sufficiente di modifiche è possibile effettuare una ANN simile, ma non è affatto chiaro che tale ANN possa eseguire almeno bene, né se è ottimizzato per fare il lavoro.

f(X)=eX


2
Grazie per la risposta! Per quanto riguarda la domanda - "For any given model, can I slap together an ANN model to emulate that model, as close as possible, and in a reasonable amount of time?"- Temo di dire che non è questo il punto. Il punto è che la topologia di ANN è così generale che sembra coprire tutto e la strategia di ottimizzazione non sembra essere in grado di determinare cosa sia e cosa non sia una ANN. Quindi la domanda, cosa definisce un ANN? Perché altrimenti tutto è, in un certo senso, un ANN espresso in altri termini.
Firebug

1
"A vanilla neural network can emulate a decision tree, by using heaviside step-activations. The problem is that such unit activations have zero gradient, so normal gradient descent won't work. You might say, "no problem, just use a modified form of gradient descent." However, that's still not enough. [...]"- Come potremmo affermare, l'ottimizzazione non è un fattore determinante per la definizione di ciò che costituisce una RNA. Se puoi scrivere ogni albero decisionale come una rete neurale (e possiamo farlo), allora possiamo tranquillamente dire che i DT sono (un tipo di) NN, mentre il contrario non è vero.
Firebug

"If you want a basic definition of an ANN, you might say that it's a directed-graphical-model, where inputs and outputs are processed at each node via an activation function, and most of the time gradient descent is used to train it. So the question really becomes: what models out there can be expressed as graphical models?"- Sono d'accordo con questo. Quindi, "Rete neurale" può essere interpretata come la classe più generale di modelli, forse solo meno generale di "Modelli di grafici", che è un superset di modelli di grafici non indirizzati e diretti. Forse potresti approfondire di più su questo;)
Firebug

2

Forse, un nome più accurato per ANNs è "reti differenziabili", ovvero funzioni parametrizzate complesse che possono essere ottimizzate usando la discesa del gradiente o la sua variante. Questa è una definizione molto generale che enfatizza la differenziabilità, ma non dice nulla sulle idee principali, sui compiti per cui è adatta, sulla struttura matematica sottostante, ecc.

Si noti che la differenziazione è un tratto, non necessario il principale. Ad esempio, SVM può essere addestrato usando la discesa gradiente e quindi presenta le proprietà di una rete neurale / differenziabile, ma l'idea principale è la separazione dei dati mediante iperpiani. L'encoder automatico variazionale utilizza MLP per encoder e decoder, ma la funzione che ottimizzi viene dalle statistiche bayesiane e così via.

Ci sono anche alcuni modelli che vengono spesso definiti reti neurali ma che non utilizzano GD per l'apprendimento. Un buon esempio è RBM. La mia ipotesi è che l'etichetta "rete neurale" sia stata attaccata principalmente per motivi storici - alla fine, il creatore di RBM è Geoffrey Hinton, e Hinton è un ragazzo della rete neurale, giusto? Tuttavia, se analizzi il modello vedrai che la struttura di RBM è una rete di Markov, la funzione di costo basata sull'energia proviene dalla fisica statistica dell'inizio del 20 ° centenario e il campionamento MCMC / Gibbs si è sviluppato in parallelo e in modo totalmente indipendente dalle reti neurali .


2
L'apprendimento basato sul gradiente ha sicuramente avuto un ruolo nel successo delle RNA. Ma non vedo la differenziazione come essenziale per la definizione, perché alcune ANN non sono differenziabili. Ad esempio, il primissimo ANN (modello McCulloch-Pitts) utilizzava unità di soglia binarie. Un argomento di ricerca attuale è come eseguire l'apprendimento in ANN non differenziabili come le reti a punta. Oppure, supponiamo di iniziare con una ANN tipica e differenziabile, ma poi dichiariamo che vogliamo minimizzare una funzione di perdita non differenziabile. Non è più una ANN?
user20160

Questo è esattamente il motivo per cui ho proposto una definizione alternativa che copre reti feed-foward, ricorrenti, ricorsive, convoluzionali, autoencoder, VAE, GAN, attenzione e molti altri modelli che normalmente chiamiamo "reti neurali", ma esclude ad esempio gli approcci basati sulla simulazione del cervello umano o ampio campionamento su PGM. A partire dal 2018, questi approcci sono davvero diversi, usano diversi metodi di ottimizzazione, diverse librerie, ecc. (Anche se non riesco a pensare a un nome migliore di "rete neurale" per le reti a punta poiché, a differenza delle CNN o delle RNN, simulano effettivamente umani cervello).
amico

1

Potrei provare a postulare alcune cose che aiutano a definire una rete neurale.

  • Un grafico di calcolo con parametri regolabili.
  • Detti parametri possono essere regolati per conformarsi ai dati (reali o simulati).
  • Una funzione obiettiva da ottimizzare è implicitamente o esplicitamente. Può essere globale o locale sui parametri.

Sono abbastanza sicuro che questo copre tutte le reti neurali di uso comune oggi e anche alcune reti esoteriche.

È indipendente dall'ottimizzazione (se imponessimo l'ottimizzazione basata sul gradiente, le reti evolute non sarebbero reti neurali).

Non menziona neuroni / nodi o strati (alcune reti neurali oggi sono appena descritte da questi termini), ma credo che potremmo incorporarlo ed essere un po 'più restrittivi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.