Quali sono i modelli che potrebbero sostituire le reti neurali nel prossimo futuro?


Risposte:


4

Questo sta andando indietro, ma in qualche modo segue la logica degli argomenti.

In termini di efficienza, posso vedere alcuni problemi importanti con le reti neurali classiche.

Raccolta dati e sovraccarico di preelaborazione

Le grandi reti neurali richiedono molti dati per la formazione. L'importo può variare a seconda delle dimensioni della rete e della complessità dell'attività, ma di norma è generalmente proporzionale al numero di pesi. Per alcune attività di apprendimento supervisionato, semplicemente non ci sono abbastanza dati etichettati di alta qualità. La raccolta di grandi quantità di dati di formazione specializzata può richiedere mesi o addirittura anni e l'etichettatura può essere ingombrante e inaffidabile. Questo può essere parzialmente mitigato dall'aumento dei dati, il che significa "sintetizzare" più esempi da quelli che hai già, ma non è una panacea.

Tempo di allenamento vs. compromesso energetico

Il tasso di apprendimento è generalmente piuttosto piccolo, quindi i progressi dell'allenamento sono lenti. Un modello di grandi dimensioni che potrebbe richiedere settimane per allenarsi su una CPU desktop può essere addestrato, per esempio, a due ore utilizzando un cluster GPU che consuma diversi kW di energia. Questo è un compromesso fondamentale a causa della natura della procedura di formazione. Detto questo, le GPU stanno diventando sempre più efficienti - ad esempio, la nuova architettura GPU nVidia Volta consente 15.7 TFLOP consumando meno di 300 W.

Non trasferibilità

In questo momento, praticamente ogni diverso problema richiede una rete neurale personalizzata per essere progettata, addestrata e distribuita. Mentre la soluzione spesso funziona, è in qualche modo bloccata in quel problema. Ad esempio, AlphaGo è brillante su Go, ma sarebbe senza speranza nel guidare un'auto o fornire consigli sulla musica - non è stato progettato proprio per tali compiti. A mio avviso, questa schiacciante ridondanza rappresenta un grave svantaggio delle reti neurali ed è anche un grave ostacolo al progresso della ricerca sulle reti neurali in generale. C'è un'intera area di ricerca chiamata transfer learningche si occupa di trovare modi per applicare una rete addestrata su un'attività a un'attività diversa. Spesso ciò si riferisce al fatto che potrebbero non esserci dati sufficienti per addestrare una rete da zero sul secondo compito, quindi essere in grado di utilizzare un modello pre-addestrato con qualche ottimizzazione aggiuntiva è molto interessante.


La prima parte della domanda è più complicata. Lasciando da parte i modelli puramente statistici, non ho visto alcun approccio di spicco all'apprendimento automatico radicalmente diverso dalle reti neurali. Tuttavia, ci sono alcuni sviluppi interessanti che vale la pena menzionare perché affrontano alcune delle inefficienze di cui sopra.

Chip neuromorfi

Prima un po 'di background.

Le reti neurali spigolose hanno un potenziale enorme in termini di potenza computazionale. In effetti, è stato dimostrato che sono rigorosamente più potenti delle reti neurali classiche con attivazioni sigmoidi.

In aggiunta a ciò, le reti neurali spigolose hanno una presa intrinseca del tempo - qualcosa che è stato un grande ostacolo per le reti classiche sin dal loro inizio. Non solo, ma le reti di spiking sono guidate dagli eventi , il che significa che i neuroni funzionano solo se c'è un segnale in arrivo. Ciò è in contrasto con le reti classiche, in cui ogni neurone viene valutato indipendentemente dal suo input (di nuovo, questa è solo una conseguenza della procedura di valutazione che viene solitamente implementata come una moltiplicazione di due matrici dense). Quindi le reti a spillo utilizzano uno schema di codifica sparsa , il che significa che solo una piccola frazione dei neuroni è attiva in un dato momento.

Ora, la codifica basata su sparse spike e il funzionamento guidato da eventi sono adatti per implementazioni basate su hardware di reti di spiking chiamate chip neuromorfi . Ad esempio, il chip TrueNorth di IBM può simulare 1 milione di neuroni e 256 milioni di connessioni assorbendo in media solo circa 100 mW di potenza. Si tratta di ordini di grandezza più efficienti delle attuali GPU nVidia. I chip neuromorfi possono essere la soluzione del tempo di allenamento / compromesso energetico che ho menzionato sopra.

Inoltre, i memristor sono uno sviluppo relativamente nuovo ma molto promettente. Fondamentalmente, un memristor è un elemento circuitale fondamentale molto simile a un resistore ma con resistenza variabile proporzionale alla quantità totale di corrente che lo ha attraversato per tutta la sua vita. In sostanza, ciò significa che mantiene una "memoria" della quantità di corrente che l'ha attraversata. Una delle interessanti applicazioni potenziali dei memristor è la modellazione delle sinapsi nell'hardware in modo estremamente efficiente.

Apprendimento ed evoluzione di rinforzo

Penso che valga la pena menzionarli perché sono candidati promettenti per affrontare il problema della non trasferibilità. Questi non sono limitati alle reti neurali - essendo guidati dalla ricompensa, RL ed evoluzione sono teoricamente applicabili in un ambiente generico a qualsiasi attività in cui è possibile definire una ricompensa o un obiettivo da raggiungere per un agente. Questo non è necessariamente banale da fare, ma è molto più generico del solito approccio basato sugli errori, in cui l'agente di apprendimento cerca di minimizzare la differenza tra il suo output e una verità fondamentale. Il punto principale qui riguarda l'apprendimento del trasferimento: idealmente, applicare un agente addestrato a un compito diverso dovrebbe essere semplice come cambiare l'obiettivo o la ricompensa (non sono ancora del tutto a quel livello, però ...).


"Strettamente più potente", è ciò che scrive Maass nel suo articolo del 1996, tuttavia afferma il rigore matematico e non riesce a definire la potenza di calcolo. Inoltre, nel 1996 è stato scritto quando le funzioni di attivazione sigmoid erano popolari, cosa che non sono ora, proprio perché non convergono per una grande varietà di scenari in modo affidabile o veloce come le funzioni di attivazione più semplici. Maass menziona solo la convergenza due volte nel documento e non indica come si verifica la convergenza, sottolineando ulteriormente l'assenza della definizione di potenza di calcolo in termini di obiettivi di apprendimento automatico.
FauChristian,

La connessione tra RL ed evoluzione non è chiara. Ti riferisci a una combinazione di un algoritmo genetico e RL? In tal caso, qual è il riferimento?
FauChristian,

@FauChristian Anche se non si legge l'intero documento, la definizione di capacità computazionale è fornita in astratto (seconda frase):In particular it is shown that networks of spiking neurons are, with regard to the number of neurons that are needed, computationally more powerful than these other neural network models.
cantordust

Le attivazioni @FauChristian Sigmoid sono ancora molto vive e vegete. Ad esempio, gli LSTM usano activaitons sigmoidi per i gate, softmax (sigmoidi normalizzati) è ancora la cosa migliore che abbiamo per la classificazione multi-classe, ecc. Le attivazioni "più semplici" non sono necessariamente migliori - l'originale ReLU ( max(0, x)) è molto in pericolo di rimanere bloccati a x < 0causa di neuroni morti. Ad ogni modo, il punto riguarda la potenza computazionale delle reti a spillo e la loro implementazione hardware ultra efficiente in termini di consumo energetico.
cantordust,

@FauChristian Non sto disegnando parallelismi tra RL ed evoluzione. Li sto dando come esempi di approcci promettenti per affrontare un certo tipo di inefficienza, vale a dire dover creare una soluzione (sia essa una NN o qualcos'altro) per ogni singolo problema che hai a portata di mano. Idealmente, dovresti essere in grado di progettare un solutore generico che viene sintonizzato automaticamente da RL e / o evoluzione per il problema specifico basato esclusivamente su un obiettivo di alto livello.
cantordust,

1

Sostituzione delle reti neurali

Potrebbero esistere nuovi algoritmi che hanno il potenziale per sostituire le reti neurali. Tuttavia, una delle caratteristiche delle reti neurali è che impiegano elementi semplici, ognuno con basse esigenze di risorse informatiche in motivi geometrici.

I neuroni artificiali possono essere eseguiti in parallelo (senza condivisione del tempo della CPU o loop) mappando i calcoli su dispositivi DSP o altro hardware di calcolo parallelo. Che i molti neuroni siano essenzialmente uguali è quindi un grande vantaggio.

Cosa sostituiremmo?

Quando consideriamo le sostituzioni algoritmiche alle reti neurali, intendiamo che un progetto di rete neurale è un algoritmo. Non è.

Una rete neurale è un approccio alla convergenza su un circuito in tempo reale per eseguire una trasformazione non lineare di input in output basata su una formulazione di ciò che è ottimale. Tale formulazione può essere la minimizzazione di una misura di errore o disparità da un ideale definito. Può essere una misura di benessere che deve essere massimizzata.

La fonte della determinazione della forma fisica per ogni dato comportamento di rete può essere interna. Noi chiamiamo questo apprendimento incustodito. Può essere esterno, che chiamiamo supervisionato quando le informazioni sull'idoneità esterna sono associate a vettori di input sotto forma di valori di output desiderati, che chiamiamo etichette.

La forma fisica può anche originare esternamente come uno scalare o un vettore non accoppiato con i dati di input ma piuttosto in tempo reale, che chiamiamo rinforzo. Ciò richiede algoritmi di apprendimento rientranti. L'idoneità comportamentale netta può in alternativa essere valutata da altre reti all'interno del sistema, nel caso di reti sovrapposte o di altre configurazioni come le gerarchie lapponiche.

La selezione degli algoritmi ha poco a che fare con l'intelligenza comparata una volta selezionati i progetti matematici e di processo. Il design dell'algoritmo è più direttamente correlato alla riduzione al minimo delle richieste di risorse informatiche e alla riduzione dei tempi. Questa minimizzazione dipende anche dall'hardware e dal sistema operativo.

Viene indicata una sostituzione?

Sicuro. Sarebbe meglio se le reti fossero più simili ai neuroni dei mammiferi.

  • Sofisticazione dell'attivazione
  • Eterogeneità dei modelli di connessione
  • Plasticità del design, a supporto del meta-adattamento
  • Governato da molte dimensioni della segnalazione regionale

Per segnalazione regionale si intendono i molti segnali chimici oltre la trasmissione del segnale attraverso le sinapsi.

Possiamo anche considerare di andare oltre la neurologia dei mammiferi.

  • Combinazione di apprendimento parametrico e basato su ipotesi
  • Apprendimento della forma impiegata quando i microbi passano il DNA

Neural Net Efficiency

L'efficienza non può essere quantificata in una scala universale in quanto la temperatura può essere quantificata in gradi Kelvin. L'efficienza può essere quantificata solo come quoziente di un valore misurato su un ideale teorico. Si noti che è un ideale, non un massimo, nel denominatore. Nei motori termodinamici, l'ideale è il tasso di input di energia, che non può mai essere trasferito completamente all'output.

Allo stesso modo, le reti neurali non possono mai imparare in zero tempo. Nemmeno una rete neurale può raggiungere zero errori per un tempo arbitrariamente lungo in produzione. Pertanto, l'informazione è in qualche modo come l'energia, un concetto studiato da Claude Shannon dei Bell Labs durante l'alba dell'automazione digitale e il rapporto tra entropia dell'informazione ed entropia termodinamica è ora una parte importante della fisica teorica.

Non ci può essere una cattiva efficienza di apprendimento o una buona efficienza di apprendimento. Non ci possono essere né cattive prestazioni né buone prestazioni, se vogliamo pensare in termini logici e scientifici - solo un miglioramento relativo di una configurazione di sistema rispetto ad altre configurazioni di sistema per una serie molto specifica di scenari di prestazioni.

Pertanto, senza una specifica inequivocabile delle due configurazioni hardware, sistema operativo e software e una suite di test completamente definita utilizzata per la valutazione relativa, l'efficienza non ha senso.


1

Abbiamo qualche speranza in agguato in quel fronte. A partire da ora abbiamo reti di capsule di J.Hinton che usano una diversa attivazione non lineare chiamata funzione 'squash'.

  1. Hinton definisce il max-pooling nella CNN come un "grande errore", poiché la CNN cerca solo gli oggetti presenza in un'immagine piuttosto che l'orientamento relativo tra loro. Quindi perdono le informazioni spaziali mentre cercano di ottenere l'invarianza della traduzione.
  2. Le reti neurali hanno connessioni fisse, mentre una capsula in una rete di capsule "decide" a quale altra capsula deve passare la sua attivazione durante ogni epoca. Questo si chiama "routing".
  3. L'attivazione di ogni neurone nelle reti neurali è uno scalare. Mentre l'attivazione della capsula è un vettore che cattura la posa e l'orientamento di un oggetto in un'immagine.
  4. La CNN è considerata una cattiva rappresentazione del sistema visivo umano. Per sistema visivo umano intendo occhi e cervello / cognizione insieme. Potremmo identificare la Statua della Libertà da qualsiasi posa, anche se l'abbiamo vista da una posa. La CNN nella maggior parte dei casi non è in grado di rilevare lo stesso oggetto in diverse pose e orientamenti.

Le reti di capsule stesse presentano alcune carenze. Quindi c'è stato un lavoro nella direzione di guardare oltre le reti neurali. Puoi leggere questo blog per una buona comprensione prima di leggere l'articolo di J.Hinton.


0

Le reti neurali richiedono molti dati e formazione. Per la maggior parte dei set di dati in formato tabulare è molto meglio utilizzare modelli basati su alberi decisionali. Il più delle volte, sono sufficienti modelli semplici per garantire una buona precisione. Tuttavia le reti neurali hanno avuto la loro prova del tempo. Sono passati solo 5-6 anni da quando è iniziata la rivoluzione del deep learning, quindi non conosciamo ancora la vera potenza del deep learning.

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.