Siamo tecnicamente in grado di realizzare, in hardware, reti neurali arbitrariamente grandi con la tecnologia attuale?


9

Se i neuroni e le sinapsi possono essere implementati usando transistor, cosa ci impedisce di creare reti neurali arbitrariamente grandi usando gli stessi metodi con cui sono realizzate le GPU?

In sostanza, abbiamo visto come funzionano straordinariamente bene le reti neurali virtuali implementate sui processori sequenziali (anche le GPU sono macchine sequenziali, ma con enormi quantità di core).

Si può immaginare che usando i principi di progettazione della GPU - che sono fondamentalmente avere migliaia di unità di elaborazione programmabili che funzionano in parallelo - potremmo rendere molto più semplici le "unità di elaborazione dei neuroni" e mettere milioni o miliardi di quelle NPU in un unico grande chip. Avrebbero avuto la propria memoria (per la memorizzazione dei pesi) e sarebbero stati collegati a poche centinaia di altri neuroni condividendo un autobus. Potrebbero avere una frequenza, ad esempio, di 20 Hz, che consentirebbe loro di condividere un bus dati con molti altri neuroni.

Ovviamente, ci sono alcune sfide di ingegneria elettrica qui, ma mi sembra che tutte le grandi aziende tecnologiche dovrebbero esplorare questo percorso ormai.

Molti ricercatori dell'IA affermano che la superintelligenza arriverà intorno all'anno 2045. Credo che il loro ragionamento sia basato sulla legge di Moore e sul numero di neuroni che siamo in grado di implementare nel software in esecuzione sui computer più veloci che abbiamo.

Ma il fatto è che oggi stiamo producendo chip di silicio con miliardi di transistor su di essi. SPARK M7 ha 10 miliardi di transistor.

Se l'implementazione di un neurone (non programmabile) e alcune centinaia di sinapsi richiedono per esempio 100000 transistor, allora possiamo creare una rete neurale nell'hardware che emula 100000 neuroni.

Se progettiamo un tale chip in modo da poterlo semplicemente ingrandire fisicamente se vogliamo più neuroni, allora mi sembra che reti neurali arbitrariamente grandi siano semplicemente una questione di budget.

Siamo tecnicamente in grado di realizzare, in hardware, reti neurali arbitrariamente grandi con la tecnologia attuale?

Ricorda: NON sto chiedendo se una tale rete sarà davvero molto intelligente. Sto semplicemente chiedendo se possiamo effettivamente realizzare reti neurali arbitrariamente grandi e altamente interconnesse, se decidiamo di pagare Intel per farlo?

L'implicazione è che il giorno in cui alcuni scienziati sono in grado di creare intelligenza generale nel software, possiamo usare le nostre capacità hardware per far crescere questa intelligenza generale a livelli umani e oltre.


I commenti non sono per una discussione estesa; questa conversazione è stata spostata in chat .
nbro

Risposte:


5

L'approccio che descrivi si chiama elaborazione neuromorfa ed è un campo piuttosto impegnato .

TrueNorth di IBM ha persino neuroni a picco.

Il problema principale con questi progetti è che nessuno sa ancora cosa farne.

Questi progetti non provano a creare chip ottimizzati per gestire una rete neurale. Ciò sarebbe certamente possibile, ma la parte costosa è la formazione e non la gestione delle reti neurali. E per l'addestramento hai bisogno di enormi moltiplicazioni di matrice, qualcosa che le GPU sono già molto brave. ( Il TPU di Google sarebbe un chip ottimizzato per eseguire NN.)

Per fare ricerche sugli algoritmi che potrebbero essere implementati nel cervello (non sappiamo quasi nulla al riguardo) hai bisogno di flessibilità, qualcosa che questi chip non hanno. Inoltre, la sfida ingegneristica sta probabilmente nel fornire molte sinapsi, basta confrontare il numero medio di sinapsi per neurone di TrueNorth, 256 e il cervello, 10.000.

Quindi, potresti creare un chip progettato dopo qualche architettura neurale e sarebbe più veloce, più efficiente, ecc ..., ma per farlo dovrai sapere quale architettura funziona per prima. Sappiamo che il deep learning funziona, quindi google utilizza hardware su misura per eseguire le proprie applicazioni e potrei certamente immaginare l'hardware di deep learning su misura in arrivo su uno smartphone vicino a te in futuro. Per creare un chip neuromorfo per un'intelligenza artificiale forte, devi prima sviluppare un'intelligenza artificiale forte.


Grazie. Credo che le enormi reti neurali nervose si comporteranno in modo molto intelligente. Quindi, se qualcuno ha un'idea (innovazione) che consente a un neurone hardware di connettersi in modo efficiente a 10000 o più neuroni - sarebbe semplicemente una domanda che abbia abbastanza silicio per creare reti neurali arbitrariamente grandi - e forse una super intelligenza. Il che implica che potrebbe accadere oggi, è già successo in qualche laboratorio di IBM - o accadrà tra 20 anni. Significa che non dobbiamo aspettare la legge di Moores.
frodeborli,

4

Se i neuroni e le sinapsi possono essere implementati usando transistor,

Spero che tu non stia parlando delle reti neurali che attualmente stanno vincendo tutte le competizioni nel machine learning (MLP, CNN, RNN, Deep Residual Networks, ...). Una volta venivano usati come modello per i neuroni, ma sono solo molto vagamente correlati a ciò che accade nelle cellule cerebrali reali.

Le reti di picchettamento dovrebbero essere molto più vicine ai neuroni reali. Ho sentito che il modello Hodgkin-Huxley è abbastanza realistico. Tuttavia - contrariamente ai modelli che ho citato sopra - non sembra esserci un algoritmo di addestramento efficace per le reti di spiking.

ciò che ci impedisce di creare reti neurali arbitrariamente grandi

  • Risorse computazionali : la formazione delle reti neurali richiede molto tempo. Stiamo parlando di ~ 12 giorni con un cluster GPU per alcuni modelli CNN in visione artificiale.
  • Dati di training : più variabili aggiungi al modello, più dati devi stimare. Le reti neurali non sono magiche. Hanno bisogno di qualcosa con cui possano lavorare.

Ma il fatto è che oggi stiamo producendo chip di silicio con miliardi di transistor su di essi. SPARK M7 ha 10 miliardi di transistor.

Se l'implementazione di un neurone (non programmabile) e alcune centinaia di sinapsi richiedono per esempio 100000 transistor, allora possiamo creare una rete neurale nell'hardware che emula 100000 neuroni.

Non è così semplice:

  • Asincrono : le reti neurali biologiche funzionano in modo asincrono. Ciò significa che un neurone potrebbe essere attivo mentre tutti gli altri non sono attivi.
  • Emulazione : supponi che occorra un solo ciclo per simulare un neurone biologico. Tuttavia, ha bisogno di molte migliaia di cicli. Non puoi semplicemente usare più unità computazionali, perché alcune cose non sono parallelizzabili. Ad esempio, pensa alla funzione f(x) = sin(x*x + 1). Per un essere umano, ci sono fondamentalmente tre calcoli: r1 = x*x, r2 = r1 + 1, r3 = sin(r2). Anche se hai 3 persone che lavorano per calcolare il risultato, non sarai più veloce della persona più veloce in questo gruppo. Perché? Perché hai bisogno dei risultati dell'ultimo calcolo.

I commenti non sono per una discussione estesa; questa conversazione è stata spostata in chat .
nbro

1

Mentre un singolo transistor potrebbe approssimare la funzione di base di un singolo neurone, non posso essere d'accordo sul fatto che qualsiasi elemento elettronico possa simulare le sinapsi / assoni. I transistor sono incisi su una superficie piana e potrebbero essere interconnessi solo con transistor adiacenti o vicini. Gli assoni nel cervello coprono enormi distanze (rispetto alle dimensioni del neurone stesso) e non sono limitati a una superficie bidimensionale. Anche se siamo stati in grado di avvicinarci al numero di transistor su un processore al numero di neuroni in un cervello, non siamo vicini al numero di connessioni. Si potrebbe anche sostenere che i segnali analogici nel cervello trasportano più informazioni per unità di tempo, rispetto agli impulsi binari su un chip. Inoltre, il cervello ha effettivamente plasticità, cioè le connessioni tra i neuroni possono essere indebolite / scartate o raddrizzate / create,


1
I chip di silicio sono costruiti in molti strati, consentendo molta flessibilità sull'interconnettività tra i neuroni. Inoltre, l'elettricità viaggia rapidamente, permettendoci di condividere i percorsi del segnale mediante multiplexing. Posso immaginare diversi modi per consentire un'elevata connettività tra neuroni vicini e un po 'distanti. La plasticità verrebbe emulata avendo un grado più elevato di connettività, poiché una sinapsi scartata si comporta in modo identico a una sinapsi che si moltiplica per zero.
frodeborli,

0

Puoi prendere in considerazione questo elenco :

10 importanti differenze tra cervello e computer:

  1. I cervelli sono analogici, i computer sono digitali
  2. Il cervello utilizza la memoria indirizzabile al contenuto
  3. Il cervello è una macchina massicciamente parallela; i computer sono modulari e seriali
  4. La velocità di elaborazione non è fissa nel cervello; non c'è un orologio di sistema
  5. La memoria a breve termine non è come la RAM
  6. Nessuna distinzione hardware / software può essere fatta rispetto al cervello o alla mente
  7. Le sinapsi sono molto più complesse delle porte della logica elettrica
  8. A differenza dei computer, l'elaborazione e la memoria sono eseguite dagli stessi componenti nel cervello
  9. Il cervello è un sistema auto-organizzante
  10. I cervelli hanno corpi

1
Stai formulando molte ipotesi e non sono d'accordo con molte di esse. Le reti neurali ricorrenti hanno la maggior parte delle proprietà che descrivi. Il corpo non deve esistere, dobbiamo semplicemente nutrire i neuroni sensoriali in modo che questo cervello creda di avere un corpo - supponendo che io voglia che questo cervello abbia un corpo.
frodeborli,
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.