I Neuroni Sognano Pecore Elettriche? Il Creatore Delle Prime Reti Neurali Ha Parlato Della Loro Evoluzione E Del Futuro - Visualizzazione Alternativa

Sommario:

I Neuroni Sognano Pecore Elettriche? Il Creatore Delle Prime Reti Neurali Ha Parlato Della Loro Evoluzione E Del Futuro - Visualizzazione Alternativa
I Neuroni Sognano Pecore Elettriche? Il Creatore Delle Prime Reti Neurali Ha Parlato Della Loro Evoluzione E Del Futuro - Visualizzazione Alternativa

Video: I Neuroni Sognano Pecore Elettriche? Il Creatore Delle Prime Reti Neurali Ha Parlato Della Loro Evoluzione E Del Futuro - Visualizzazione Alternativa

Video: I Neuroni Sognano Pecore Elettriche? Il Creatore Delle Prime Reti Neurali Ha Parlato Della Loro Evoluzione E Del Futuro - Visualizzazione Alternativa
Video: La Bibbia racconta storie vere? 2024, Potrebbe
Anonim

Jeffrey Hinton è un co-creatore del concetto di deep learning, un vincitore del Turing Award 2019 e un ingegnere di Google. La scorsa settimana, durante una conferenza per sviluppatori di I / O, Wired lo ha intervistato e ha discusso del suo fascino per il cervello e della sua capacità di modellare un computer basato sulla struttura neurale del cervello. Per molto tempo queste idee sono state considerate stravaganti. Una conversazione interessante e divertente sulla coscienza, i piani futuri di Hinton e se si può insegnare ai computer a sognare.

Cosa accadrà alle reti neurali?

Cominciamo dai giorni in cui hai scritto i tuoi primi articoli molto influenti. Tutti dicevano: "È un'idea intelligente, ma non possiamo davvero progettare computer in questo modo". Spiega perché hai insistito per conto tuo e perché eri così sicuro di aver trovato qualcosa di importante.

Image
Image

Mi sembrava che il cervello non potesse funzionare in nessun altro modo. Deve lavorare studiando la forza delle connessioni. E se vuoi far fare qualcosa di intelligente a un dispositivo, hai due opzioni: o lo programmi o impara. E nessuno ha programmato le persone, quindi abbiamo dovuto studiare. Questo metodo doveva essere corretto.

Spiega cosa sono le reti neurali. Spiega il concetto originale

Prendi elementi di elaborazione relativamente semplici che assomigliano molto vagamente ai neuroni. Hanno connessioni in entrata, ogni connessione ha un peso e questo peso può cambiare durante l'allenamento. Quello che fa il neurone è eseguire le azioni sulle connessioni moltiplicate per i pesi, sommarle e poi decidere se inviare i dati. Se la somma è digitata abbastanza grande, produce un output. Se l'importo è negativo, non invia nulla. È tutto. Tutto quello che devi fare è collegare una nuvola di questi neuroni ai pesi e capire come cambiare quei pesi, e poi faranno qualunque cosa. L'unica domanda è come cambierai i pesi.

Video promozionale:

Quando hai capito che questa è una rappresentazione approssimativa di come funziona il cervello?

Oh, sì, tutto era originariamente previsto. Progettato per assomigliare al cervello al lavoro.

Quindi, a un certo punto della tua carriera, hai iniziato a capire come funziona il cervello. Forse avevi dodici anni, forse venticinque. Quando hai deciso di provare a modellare i computer come i cervelli?

Sì subito. Questo era il punto. L'intera idea era quella di creare un dispositivo di apprendimento che impara come il cervello, secondo le idee delle persone su come il cervello apprende, cambiando la forza delle connessioni. E non era una mia idea, Turing aveva la stessa idea. Sebbene Turing abbia inventato gran parte delle basi dell'informatica standard, credeva che il cervello fosse un dispositivo disorganizzato con pesi casuali e utilizzava l'apprendimento per rinforzo per cambiare le connessioni, in modo da poter imparare qualsiasi cosa. E credeva che questa fosse la strada migliore per l'intelligenza.

E hai seguito l'idea di Turing secondo cui il modo migliore per costruire una macchina è progettarla come il cervello umano. È così che funziona il cervello umano, quindi creiamo una macchina simile

Sì, non solo Turing lo pensava. Molti lo pensavano.

Quando sono arrivati i tempi bui? Quando è successo che altre persone che ci stavano lavorando e che credevano che l'idea di Turing fosse corretta hanno iniziato a fare marcia indietro e tu hai continuato a piegare la tua linea?

C'è sempre stata una manciata di persone che hanno creduto qualunque cosa, specialmente nel campo della psicologia. Ma tra gli informatici, immagino negli anni '90, è successo che i set di dati fossero piuttosto piccoli e che i computer non fossero così veloci. E con set di dati di piccole dimensioni, altri metodi come le macchine a vettore di supporto hanno funzionato leggermente meglio. Non erano tanto imbarazzati dal rumore. Quindi è stato tutto triste perché negli anni '80 abbiamo sviluppato un metodo di propagazione posteriore, che è molto importante per le reti neurali. Abbiamo pensato che avrebbe risolto tutto. Ed erano perplessi che non avesse deciso nulla. La domanda era davvero su larga scala, ma poi non lo sapevamo.

Image
Image

Perché pensavi che non funzionasse?

Abbiamo pensato che non funzionasse perché non avevamo algoritmi del tutto corretti e funzioni obiettivo non del tutto corrette. Ho pensato a lungo che ciò fosse dovuto al fatto che stavamo cercando di eseguire l'apprendimento supervisionato quando si etichettano i dati e abbiamo dovuto fare l'apprendimento senza supervisione quando si impara da dati senza tag. Si è scoperto che la domanda era per lo più su scala.

È interessante. Quindi il problema era che non avevi dati sufficienti. Pensavi di avere la giusta quantità di dati, ma l'hai etichettata in modo errato. Quindi hai appena diagnosticato male il problema?

Ho pensato che l'errore fosse che stiamo usando le etichette. La maggior parte del tuo addestramento avviene senza l'utilizzo di etichette, stai solo cercando di modellare una struttura nei dati. In realtà lo penso ancora. Penso che poiché i computer diventano più veloci, se il computer è abbastanza veloce, quindi per qualsiasi set di dati di una determinata dimensione, è meglio allenarsi senza supervisione. E una volta completato l'apprendimento senza supervisione, puoi imparare con meno tag.

Quindi negli anni '90 continui la tua ricerca, sei nel mondo accademico, stai ancora pubblicando, ma non stai risolvendo grandi problemi. Hai mai avuto un momento in cui hai detto: “Sai cosa, è abbastanza. Cercherò di fare qualcos'altro”? O hai semplicemente detto a te stesso che avresti continuato a praticare il deep learning [ovvero il concetto di deep learning, deep learning delle reti neurali

Sì. Qualcosa di simile dovrebbe funzionare. Voglio dire, le connessioni nel cervello imparano in qualche modo, dobbiamo solo capire come. E ci sono probabilmente molti modi diversi per rafforzare le connessioni nel processo di apprendimento; il cervello ne usa uno. Potrebbero esserci altri modi. Ma hai sicuramente bisogno di qualcosa che possa rafforzare queste connessioni durante l'apprendimento. Non ne ho mai dubitato.

Non ne hai mai dubitato. Quando sembrava che funzionasse?

Una delle più grandi delusioni degli anni '80 era che se avessimo creato reti con molti livelli nascosti, non avremmo potuto addestrarle. Questo non è del tutto vero, perché puoi addestrare processi relativamente semplici come la scrittura a mano. Ma non sapevamo come addestrare la maggior parte delle reti neurali profonde. E intorno al 2005 ho escogitato un modo per addestrare reti profonde senza supervisione. Si immettono dati, ad esempio pixel, e si addestrano diversi rilevatori di dettagli, il che spiega bene perché i pixel erano come sono. Quindi fornite i dati a questi rilevatori di parti e addestrate un diverso set di rilevatori di parti in modo che possiamo spiegare perché i rilevatori di parti specifici hanno correlazioni specifiche. Continui ad allenarti strato dopo strato. Ma la cosa più interessante è statache potrebbe essere scomposto matematicamente e dimostrare che ogni volta che si allena un nuovo livello, non si migliorerà necessariamente il modello di dati, ma si avrà a che fare con una gamma di quanto è buono il proprio modello. E quella gamma è migliorata con ogni strato aggiunto.

Cosa intendi per gamma di qualità del tuo modello?

Una volta ottenuto il modello, potresti porre la domanda: "Quanto è insolito questo modello per trovare questi dati?" Le mostri i dati e fai la domanda: "Trovi tutto come previsto o è insolito?" E questo potrebbe essere misurato. E volevo ottenere un modello, un buon modello che esaminasse i dati e dicesse: "Sì, sì. Lo sapevo. Questo non è sorprendente ". È sempre molto difficile calcolare esattamente quanto insolito un modello troverà i dati. Ma puoi calcolare l'intervallo di questo. Possiamo dire che il modello troverà questi dati meno insoliti di questo. E si potrebbe dimostrare che man mano che vengono aggiunti più livelli ai rilevatori di dettagli, il modello viene formato e con ogni livello aggiunto man mano che trova i dati, la gamma di comprensione di quanto insoliti trovi i dati diventa migliore.

Quindi, intorno al 2005, hai fatto questa svolta matematica. Quando hai iniziato a ottenere le risposte giuste? Con quali dati hai lavorato? La tua prima svolta è stata con i dati vocali, giusto?

Erano solo numeri scritti a mano. Molto semplice. E nello stesso periodo iniziò lo sviluppo delle GPU (Graphics Processing Units). E le persone che facevano reti neurali hanno iniziato a utilizzare le GPU nel 2007. Ho avuto uno studente molto bravo che ha iniziato a utilizzare le GPU per trovare strade nelle fotografie aeree. Ha scritto il codice, che è stato poi adottato da altri studenti utilizzando la GPU per riconoscere i fonemi nel parlato. Hanno usato questa idea di pre-formazione. E quando il pre-allenamento è stato completato, hanno semplicemente appeso le etichette sopra e hanno utilizzato la propagazione posteriore. Si è scoperto che è possibile creare una rete molto profonda precedentemente addestrata in questo modo. E poi potrebbe essere applicata la backpropagation e ha funzionato davvero. Nel riconoscimento vocale, ha funzionato alla grande. All'inizio, tuttavia,non era molto meglio.

Era meglio del riconoscimento vocale disponibile in commercio? Ignorato dai migliori articoli scientifici sul riconoscimento vocale?

Su un set di dati relativamente piccolo chiamato TIMIT, era leggermente migliore del miglior lavoro accademico. Anche IBM ha svolto molto lavoro.

Le persone si sono subito rese conto che tutto questo, dal momento che aggira i modelli standard in sviluppo da 30 anni, avrebbe funzionato bene se sviluppato un po '. I miei laureati sono andati a Microsoft, IBM e Google, e Google ha creato molto rapidamente un riconoscimento vocale funzionante. Nel 2012, questo lavoro, che era stato fatto nel 2009, era arrivato su Android. Android è improvvisamente molto più bravo nel riconoscimento vocale.

Raccontami di un momento in cui tu, che conservi queste idee per 40 anni, pubblichi su questo argomento da 20 anni, improvvisamente aggiri i tuoi colleghi. Com'è questa sensazione?

Bene, a quel tempo avevo conservato queste idee solo per 30 anni!

Giusto giusto

C'era una grande sensazione che tutto questo si fosse finalmente trasformato in un vero problema.

Ti ricordi quando hai ricevuto per la prima volta i dati che lo indicano?

Non.

Va bene. Quindi hai l'idea che funzioni con il riconoscimento vocale. Quando hai iniziato ad applicare le reti neurali ad altri problemi?

All'inizio, abbiamo iniziato ad applicarli a tutti i tipi di altri problemi. George Dahl, con cui inizialmente abbiamo lavorato sul riconoscimento vocale, li ha usati per prevedere se una molecola poteva legarsi a qualcosa e diventare una buona medicina. E c'era una competizione. Ha semplicemente applicato la nostra tecnologia standard, costruita per il riconoscimento vocale, per prevedere l'attività dei farmaci e ha vinto la competizione. È stato un segno che stiamo facendo qualcosa di molto versatile. Poi è apparso uno studente che ha detto: “Sai, Jeff, questa cosa funzionerà con il riconoscimento delle immagini, e Fei-Fei Li ha creato un set di dati adatto per questo. C'è un concorso pubblico, facciamo qualcosa.

Abbiamo ottenuto risultati che hanno superato di gran lunga la visione artificiale standard. Era il 2012.

Cioè, in queste tre aree hai eccelso: modellare sostanze chimiche, linguaggio, voce. Dove hai fallito?

Capisci che le battute d'arresto sono temporanee?

Ebbene, cosa separa le aree in cui tutto funziona più velocemente e le aree in cui impiega più tempo? Sembra che l'elaborazione visiva, il riconoscimento vocale e qualcosa di simile alle cose umane di base che facciamo con la percezione sensoriale siano considerate le prime barriere da superare, giusto?

Sì e no, perché ci sono altre cose che facciamo bene: le stesse capacità motorie. Siamo molto bravi nel controllo del motore. I nostri cervelli sono decisamente attrezzati per questo. E solo ora le reti neurali stanno iniziando a competere con le migliori altre tecnologie per questo. Alla fine vinceranno, ma ora stanno appena iniziando a vincere.

Penso che il pensiero astratto sia l'ultima cosa che impariamo. Penso che saranno tra le ultime cose che queste reti neurali impareranno a fare.

E così continui a dire che le reti neurali alla fine prevarranno ovunque

Bene, siamo reti neurali. Tutto quello che possiamo, loro possono.

È vero, ma il cervello umano è ben lungi dall'essere la macchina informatica più efficiente mai costruita

Assolutamente no.

Sicuramente non il mio cervello umano! Esiste un modo per modellare macchine molto più efficienti del cervello umano?

Image
Image

Filosoficamente, non ho obiezioni all'idea che potrebbe esserci un modo completamente diverso di fare tutto questo. Forse se inizi con la logica, provi ad automatizzare la logica, inventare qualche simpatico dimostratore di teoremi, ragionare e poi decidere che è attraverso il ragionamento che arrivi alla percezione visiva, è possibile che questo approccio vincerà. Ma non ancora. Non ho obiezioni filosofiche a una simile vittoria. Sappiamo solo che il cervello ne è capace.

Ma ci sono anche cose che il nostro cervello non può fare bene. Questo significa che anche le reti neurali non saranno in grado di farle bene?

Probabilmente sì.

E c'è un problema separato, ovvero che non comprendiamo appieno come funzionano le reti neurali, giusto?

Sì, non capiamo davvero come funzionano.

Non capiamo come funzionano le reti neurali top-down. Questo è un elemento fondamentale del funzionamento delle reti neurali che non comprendiamo. Spiega questo e poi lasciami fare la domanda successiva: se sappiamo come funziona, come funziona allora?

Quando si considerano i moderni sistemi di visione artificiale, la maggior parte di essi è per lo più lungimirante; non usano connessioni di feedback. E poi c'è qualcos'altro nei moderni sistemi di visione artificiale che sono molto inclini agli errori del contraddittorio. Puoi cambiare leggermente alcuni pixel e quella che era un'immagine di un panda e ti sembra ancora esattamente come un panda diventerà improvvisamente uno struzzo nella tua comprensione di una rete neurale. Ovviamente, il metodo di sostituzione dei pixel è pensato in modo tale da indurre la rete neurale a pensare a uno struzzo. Ma il punto è che per te è ancora un panda.

All'inizio pensavamo che funzionasse tutto alla grande. Ma poi, di fronte al fatto che stavano guardando un panda ed erano sicuri che fosse uno struzzo, ci siamo preoccupati. E penso che parte del problema sia che non stanno cercando di ricostruire da visioni di alto livello. Tentano di apprendere in isolamento, dove solo gli strati dei rilevatori di dettagli stanno imparando, e l'intero obiettivo è cambiare i pesi per migliorare nel trovare la risposta giusta. Recentemente abbiamo scoperto, o Nick Frost ha scoperto, a Toronto, che l'aggiunta della ricostruzione aumenta la resistenza antagonista. Penso che nella visione umana la ricostruzione sia usata per l'apprendimento. E poiché impariamo così tanto durante la ricostruzione, siamo molto più resistenti agli attacchi del contraddittorio.

Credi che la comunicazione a valle in una rete neurale ti permetta di testare come viene ricostruito qualcosa. Controllalo e assicurati che sia un panda, non uno struzzo

Penso che questo sia importante, sì.

Ma gli scienziati del cervello non sono del tutto d'accordo con questo?

Gli scienziati del cervello non sostengono che se hai due regioni della corteccia nel percorso della percezione, ci saranno sempre connessioni inverse. Discutono su cosa serva. Può essere necessario per l'attenzione, per l'apprendimento o per la ricostruzione. O per tutti e tre.

E quindi non sappiamo cosa sia il feedback. Stai costruendo le tue nuove reti neurali, partendo dal presupposto che … no, nemmeno così - stai costruendo feedback, perché è necessario per la ricostruzione nelle tue reti neurali, anche se non capisci nemmeno come funziona il cervello?

Sì.

Non è un espediente? Beh, cioè, se stai cercando di fare qualcosa come un cervello, ma non sei sicuro che sia il cervello?

Non proprio. Non sono nelle neuroscienze computazionali. Non sto cercando di modellare come funziona il cervello. Guardo il cervello e dico: "Funziona, e se vogliamo fare qualcos'altro che funzioni, dobbiamo guardarlo e lasciarci ispirare". Siamo ispirati dai neuroni, non dalla costruzione di un modello neurale. Pertanto, l'intero modello di neuroni che utilizziamo è ispirato dal fatto che i neuroni hanno molte connessioni e cambiano peso.

È interessante. Se fossi uno scienziato informatico che lavora su reti neurali e volessi aggirare Jeff Hinton, un'opzione sarebbe costruire una comunicazione verso il basso e basarla su altri modelli di scienza del cervello. Basato sulla formazione, non sulla ricostruzione

Se ci fossero stati modelli migliori, avresti vinto. Sì.

È molto, molto interessante. Tocchiamo un argomento più generale. Quindi, le reti neurali possono risolvere tutti i possibili problemi. Ci sono enigmi nel cervello umano che le reti neurali non possono o non vogliono coprire? Ad esempio, emozioni

Non.

Quindi l'amore può essere ricostruito con una rete neurale? La coscienza può essere ricostruita?

Assolutamente. Una volta capito cosa significano queste cose. Siamo reti neurali, giusto? La coscienza è un argomento particolarmente interessante per me. Ma … le persone non sanno davvero cosa intendono con questa parola. Esistono molte definizioni diverse. E penso che sia un termine piuttosto scientifico. Quindi, se 100 anni fa chiedessi alle persone: cos'è la vita? Risponderebbero: “Ebbene, gli esseri viventi hanno forza vitale, e quando muoiono, la forza vitale li lascia. Questa è la differenza tra i vivi ei morti, o hai la vitalità o no. Ora non abbiamo forza vitale, pensiamo che questo concetto sia venuto prima della scienza. E una volta che inizi a capire un po 'di biochimica e biologia molecolare, non hai più bisogno della forza vitale, capirai come funziona effettivamente tutto. E la stessa cosa, penso, accadrà con la coscienza. Penso,che la coscienza è un tentativo di spiegare i fenomeni mentali usando un'entità. E questa essenza, non è necessaria. Una volta che puoi spiegarlo, puoi spiegare come facciamo tutto ciò che rende le persone esseri coscienti, spiegare i diversi significati della coscienza senza coinvolgere entità speciali.

Si scopre che non ci sono emozioni che non si possano creare? Non c'è pensiero che non si possa creare? Non c'è niente di cui la mente umana è capace che teoricamente non possa essere ricreata da una rete neurale pienamente funzionante una volta che abbiamo effettivamente capito come funziona il cervello?

John Lennon ha cantato qualcosa di simile in una delle sue canzoni.

Ne sei sicuro al 100%?

No, sono bayesiano, quindi sono sicuro al 99,9%.

Ok, qual è allora lo 0,01%?

Bene, potremmo, ad esempio, far parte di una simulazione più ampia.

Giusto. Quindi cosa impariamo sul cervello dal nostro lavoro sui computer?

Bene, penso che da quello che abbiamo imparato negli ultimi 10 anni, è interessante che se prendi un sistema con miliardi di parametri e una funzione obiettivo, ad esempio per colmare una lacuna in una riga di parole, funziona meglio di quanto dovrebbe. Funzionerà molto meglio di quanto potresti aspettarti. Potresti pensare, e molte persone nella ricerca tradizionale sull'IA penserebbero che puoi prendere un sistema con un miliardo di parametri, eseguirlo con valori casuali, misurare il gradiente della funzione obiettivo e quindi modificarlo per migliorare la funzione obiettivo. Potresti pensare che un algoritmo senza speranza rimarrebbe inevitabilmente bloccato. Ma no, risulta che questo è davvero un buon algoritmo. E più grande è la scala, meglio funziona. E questa scoperta è stata essenzialmente empirica. C'era una teoria dietro a tutto, ovviamente, ma la scoperta era empirica. E adesso,da quando l'abbiamo trovato, sembra più probabile che il cervello stia calcolando il gradiente di qualche funzione oggettiva e aggiornando i pesi e la forza della connessione sinaptica per stare al passo con questo gradiente. Dobbiamo solo scoprire cos'è questa funzione target e come peggiora.

Ma non abbiamo capito questo con l'esempio del cervello? Non capisci l'aggiornamento del saldo?

Era teoria. Molto tempo fa la gente pensava che fosse possibile. Ma sullo sfondo c'erano sempre degli informatici che dicevano: "Sì, ma l'idea che tutto sia casuale e l'apprendimento sia dovuto alla discesa del gradiente non funzionerà con un miliardo di parametri, devi collegare molte conoscenze". Ora sappiamo che non è così. Puoi semplicemente inserire parametri casuali e imparare tutto.

Immergiamoci un po 'più a fondo. Man mano che impariamo sempre di più, presumibilmente continueremo a imparare sempre di più su come funziona il cervello umano mentre conduciamo test massicci di modelli basati sulla nostra comprensione della funzione cerebrale. Una volta che avremo compreso meglio tutto questo, ci sarà un punto in cui ricableremo essenzialmente il nostro cervello per diventare macchine molto più efficienti?

Se capiamo davvero cosa sta succedendo, possiamo migliorare alcune cose come l'istruzione. E penso che miglioreremo. Sarebbe molto strano capire finalmente cosa sta succedendo nel tuo cervello, come impara e non adattarsi per imparare meglio.

Come pensi che, tra un paio d'anni, useremo ciò che abbiamo imparato sul cervello e su come funziona il deep learning per trasformare l'istruzione? Come cambiereste le classi?

Non sono sicuro che impareremo molto in un paio d'anni. Penso che ci vorrà più tempo per cambiare l'istruzione. Ma a proposito di questo, gli assistenti [digitali] stanno diventando piuttosto intelligenti. E quando gli assistenti possono capire le conversazioni, possono parlare e istruire i bambini.

E in teoria, se comprendiamo meglio il cervello, possiamo programmare gli aiutanti per parlare meglio ai bambini in base a ciò che hanno già imparato

Sì, ma non ci ho pensato molto. Sto facendo qualcos'altro. Ma tutto questo sembra abbastanza simile alla verità.

Riusciamo a capire come funzionano i sogni?

Sì, sono molto interessato ai sogni. Sono così interessato che ho almeno quattro diverse teorie sui sogni.

Parlaci di loro - del primo, secondo, terzo, quarto

Molto tempo fa esisteva questo genere di cose chiamate reti di Hopfield e studiavano i ricordi come attrattori locali. Hopfield ha scoperto che se cerchi di mettere troppi ricordi, si incasinano. Prenderanno due attrattori locali e li combineranno in un attrattore da qualche parte a metà tra di loro.

Poi Francis Crick e Graham Mitchison vennero e dissero che possiamo sbarazzarci di questi falsi minimi imparando (cioè dimenticando ciò che abbiamo imparato). Disattiviamo l'input dei dati, mettiamo la rete neurale in uno stato casuale, lasciamo che si calmi, diciamo che è cattivo, cambiamo le connessioni in modo che non cada in questo stato, e quindi possiamo costringere la rete a memorizzare più ricordi.

Poi Terry Seinowski ed io siamo entrati e abbiamo detto: "Guarda, se abbiamo non solo i neuroni che immagazzinano i ricordi, ma un mucchio di altri neuroni, possiamo trovare un algoritmo che usa tutti questi altri neuroni per aiutare a ricordare i ricordi?" … Di conseguenza, abbiamo creato un algoritmo di apprendimento automatico Boltzmann. E l'algoritmo di apprendimento automatico di Boltzmann aveva una proprietà estremamente interessante: mostro i dati e in un certo senso passa attraverso il resto delle unità fino a quando non entra in uno stato molto felice, dopodiché aumenta la forza di tutte le connessioni, in base al fatto che due unità sono attive allo stesso tempo.

Inoltre, dovresti avere una fase in cui disattivi l'input, lasci che l'algoritmo "frusci" e lo metta in uno stato in cui è felice, in modo che fantastichi, e non appena ha una fantasia, dici: "Prendi tutte le coppie di neuroni che sono attivi e riducono la forza delle connessioni ".

Ti spiego l'algoritmo come procedura. Ma in realtà, questo algoritmo è il prodotto della matematica e la domanda: "Come è necessario modificare queste catene di connessioni in modo che questa rete neurale con tutte queste unità di dati nascoste non sembri sorprendente?" E dovrebbe esserci anche un'altra fase, che chiamiamo fase negativa, quando la rete funziona senza input di dati e disimpara, indipendentemente dallo stato in cui la metti.

Sogniamo per molte ore ogni notte. E se ti svegli improvvisamente, puoi dire che hai appena sognato, perché il sogno è memorizzato nella memoria a breve termine. Sappiamo che vediamo sogni per molte ore, ma al mattino, dopo esserci svegliati, possiamo ricordare solo l'ultimo sogno, e non ricordiamo gli altri, che ha molto successo, perché si potrebbe scambiarli per realtà. Allora perché non ricordiamo affatto i nostri sogni? Secondo Crick, questo è il significato dei sogni: disimparare queste cose. In un certo senso impari il contrario.

Terry Seinovski e io abbiamo dimostrato che questa è in realtà la procedura di apprendimento con la massima probabilità per le macchine Boltzmann. Questa è la prima teoria sui sogni.

Image
Image

Voglio passare alle tue altre teorie. Ma la mia domanda è: sei stato in grado di addestrare qualcuno dei tuoi algoritmi di apprendimento profondo per sognare davvero?

Alcuni dei primi algoritmi che potevano imparare a lavorare con unità nascoste erano le macchine Boltzmann. Erano estremamente inefficaci. Ma in seguito ho trovato un modo per lavorare con le approssimazioni, che si sono rivelate efficienti. E questo in realtà è servito da impulso per la ripresa del lavoro con il deep learning. Queste erano cose che addestravano uno strato di rilevatori di funzionalità alla volta. E quella era una forma efficace della macchina restrittiva di Boltzmann. E così ha fatto questo tipo di apprendimento inverso. Ma invece di addormentarsi, poteva semplicemente fantasticare un po 'dopo ogni segno di dati.

Ok, quindi gli androidi stanno davvero sognando pecore elettriche. Passiamo alle teorie due, tre e quattro

La teoria due era chiamata Wake Sleep Algorithm. Devi addestrare un modello generativo. E hai un'idea per creare un modello in grado di generare dati, avere livelli di rilevatori di funzionalità e attivare i livelli superiore e inferiore, e così via, fino all'attivazione dei pixel, creando un'immagine, essenzialmente. Ma vorresti insegnarle qualcos'altro. Desideri che riconosca i dati.

E quindi devi creare un algoritmo con due fasi. Nella fase del risveglio, i dati arrivano, cerca di riconoscerli e invece di studiare le connessioni che usa per il riconoscimento, studia le connessioni generative. I dati arrivano, attivo le unità nascoste. E poi cerco di insegnare a queste unità nascoste a recuperare questi dati. Impara a ricostruire in ogni strato. Ma la domanda è: come imparare le connessioni dirette? Quindi l'idea è che se conoscessi le connessioni dirette, potresti imparare le connessioni inverse, perché potresti imparare a decodificare.

Ora risulta anche che se usi i join inversi, puoi anche imparare i join diretti, perché puoi semplicemente iniziare dall'alto e generare alcuni dati. E poiché stai generando dati, conosci gli stati di tutti i livelli nascosti e puoi studiare le connessioni dirette per ripristinare quegli stati. Ed ecco cosa succede: se inizi con connessioni casuali e provi a utilizzare entrambe le fasi alternativamente, avrai successo. Affinché funzioni bene, devi provare diverse opzioni, ma funzionerà.

Ok, quindi per quanto riguarda le altre due teorie? Ci restano solo otto minuti, penso che non avrò tempo per chiedere tutto

Dammi un'altra ora e ti racconterò delle altre due.

Parliamo di cosa c'è dopo. Dov'è diretta la tua ricerca? Quali problemi stai cercando di risolvere adesso?

Alla fine, dovrai lavorare su qualcosa che il lavoro non è ancora finito. Penso che potrei benissimo lavorare su qualcosa che non finirò mai - chiamate capsule, una teoria su come viene eseguita la percezione visiva usando la ricostruzione e su come le informazioni vengono dirette ai posti giusti. I due principali fattori motivanti erano che nelle reti neurali standard, le informazioni e l'attività nel livello vengono semplicemente inviate automaticamente da qualche parte e non si decide dove inviarle. L'idea alla base delle capsule era di prendere decisioni su dove inviare le informazioni.

Ora che ho iniziato a lavorare sulle capsule, persone molto intelligenti di Google hanno inventato trasformatori che fanno lo stesso. Decidono dove inviare le informazioni e questa è una grande vittoria.

Torneremo l'anno prossimo per parlare delle teorie sui sogni numero tre e numero quattro.

Ilya Khel

Raccomandato: