Il nuovo approccio di OpenAI per l'apprendimento delle imitazioni in un'unica soluzione, uno sguardo al futuro dell'IA

Imitazione One-Shot di apprendimento Yan Duan, Marcin Andrychowicz, Bradly C. Stadie, Jonathan Ho, Jonas Schneider, Ilya Sutskever, Pieter Abbeel, Wojciech Zaremba

Il 16 maggio, i ricercatori di OpenAI hanno condiviso un video di uno dei loro progetti insieme a due documenti importanti che esplorano le soluzioni a tre principali strozzature dell'attuale sviluppo dell'IA: meta-learning, apprendimento one-shot e generazione automatica di dati. Nel mio precedente post, avevo promesso un articolo dedicato all'affascinante problema dell'apprendimento one-shot, quindi ecco qui. Puoi iniziare guardando il video che hanno pubblicato che spiega il loro fantastico lavoro:

In questo video vedi un robot fisico con un braccio che impila i cubi uno sopra l'altro. Conoscere i complessi compiti che i robot industriali sono attualmente in grado di svolgere, se il ricercatore non stesse cercando di spiegare cosa sta succedendo, per molti aspetti ciò sarebbe molto deludente. In un ambiente controllato il compito è semplice, gli approcci procedurali (codificati) hanno già risolto questi problemi, ciò che è promettente e rivoluzionario è quanto il quadro generale sottostante potrebbe scalare a comportamenti multipli, più complessi e adattivi in ​​ambienti più rumorosi.

La differenza nella mente tra l'uomo e gli animali superiori, per quanto grande, è certamente unica e non di tipo.
- Charles Darwin

Per analogia, questo articolo è una prova evidente che le differenze nei sistemi cognitivi tra l'attuale intelligenza artificiale incorporata (intelligenza artificiale dei sistemi fisici) e robot del 22 ° secolo saranno di dimensioni e non di tipo. Dalla competizione ImageNet del 2012 *, la ricerca sull'apprendimento profondo è in forte espansione, non tanto per modificare la natura del calcolo distribuito fatto da una rete neurale, ma trovando nuovi modi per strutturare le reti in modo che possano imparare un compito specifico. Per una funzione di rete neurale è la struttura, questa struttura non è codificata (non progettata a mano) ma è il risultato di unità di calcolo atomiche inizialmente collegate tra ingressi e uscite, che sono in grado di modificare la loro struttura e connessioni. È modificando la struttura generale della rete che apprende una funzione specifica.

In questo articolo hanno costruito un quadro generale in grado di formare un agente per rappresentare i compiti in modo astratto e imparare a trasferire queste conoscenze a nuovi compiti invisibili (trasferimento dell'apprendimento) dopo una sola dimostrazione del nuovo compito (apprendimento dell'imitazione a colpo singolo).

I compiti

Sebbene l'esatta implementazione architettonica differisca, prendono due compiti come esempi per mostrare le prestazioni dell'approccio generale.

Raggiungimento di particelle

Nel primo esempio il sistema riceve input di posizioni target colorate su un piano e una singola dimostrazione video dell'agente simulato che va al target specificato.

Figura 2. Il robot è un punto controllato in massa con forza bidimensionale. La famiglia di compiti è raggiungere un punto di riferimento target. L'identità del punto di riferimento differisce da un'attività all'altra e il modello deve capire quale obiettivo perseguire in base alla dimostrazione. (a sinistra) illustrazione del robot; (al centro) il compito è raggiungere la casella arancione, (a destra) il compito è raggiungere il triangolo verde.

Durante l'allenamento il sistema deve riprodurre lo stesso compito (raggiungere l'arancione) ma da un'altra configurazione, con diverse posizioni di partenza per il robot e gli obiettivi. Non è chiaro se durante il test l'agente viene testato su un compito su cui è stato addestrato (raggiungere l'arancione) o su un compito che non aveva mai visto prima (raggiungere il verde per esempio) o entrambi.

La politica formata viene valutata su nuovi scenari e condizionata su nuove traiettorie dimostrative non osservate durante l'allenamento.

È certo che l'agente deve dedurre l'obiettivo da una dimostrazione unica e ricominciare da un'altra configurazione. Ciò implica che l'esatta sequenza motoria non avrebbe potuto essere appresa prima del test e deve essere dedotta attraverso l'astrazione (rappresentazione strutturata di livello superiore) dell'attività e della pianificazione motoria.

Stack stacking

Nel secondo esempio l'agente deve imparare a impilare i cubi (identificati da colori diversi) nello stesso ordine di quello mostrato in una singola dimostrazione simulata. Questa dimostrazione simulata è una serie di immagini 2D generate da un motore fisico 3D in cui sono modellate le proprietà del motore e dell'apparato sensoriale dei robot.

Politica a colpo singolo. Una singola politica formata per risolvere molti compiti. Attività principale: {abc, def}, Attività inferiore: {ab, cd, ef}

In entrambi gli esempi le posizioni iniziali dei cubi nella dimostrazione e nel test reale sono diverse, ogni attività inizia da un'altra posizione iniziale. Il robot non cerca di sostituire i cubi in modo che corrispondano alla posizione iniziale della dimostrazione, ma trasferisce il compito di livello superiore di accumulare il cubo qualunque sia lo stato in cui inizia.

Formazione mediante randomizzazione del dominio

In entrambi i casi tutte le immagini utilizzate durante l'allenamento sono ottenute mediante simulazione mediante randomizzazione del dominio in cui randomizzeranno i seguenti aspetti dei campioni:

Numero e forma degli oggetti distrattori sul tavolo Posizione e trama di tutti gli oggetti sul tavolo Trame del tavolo, pavimento, skybox e robot Posizione, orientamento e campo visivo della telecamera Numero di luci nella scena Posizione, orientamento, e caratteristiche speculari delle luci Tipo e quantità di rumore casuale aggiunto alle immagini

Set di addestramento per raggiungere le particelle

Consideriamo un insieme sempre più difficile di famiglie di attività, in cui il numero di punti di riferimento aumenta da 2 a 10. Per ogni famiglia di attività, raccogliamo 10000 traiettorie per l'addestramento, in cui le posizioni dei punti di riferimento e la posizione iniziale del robot punto vengono randomizzate. Utilizziamo una politica di esperti codificata per generare in modo efficiente dimostrazioni. Aggiungiamo rumore alle traiettorie perturbando le azioni calcolate prima di applicarle all'ambiente e usiamo una semplice clonazione comportamentale per addestrare la politica della rete neurale

Set di allenamento per stack stacking

Concretamente, raccogliamo 140 attività di formazione e 43 attività di prova, ognuna con una diversa disposizione desiderata dei blocchi. Il numero di blocchi in ciascuna attività può variare tra 2 e 10. Raccogliamo 1000 traiettorie per attività per l'addestramento e manteniamo un insieme separato di traiettorie e configurazioni iniziali da utilizzare per la valutazione. Simile al compito di raggiungere le particelle, iniettiamo rumore nel processo di raccolta della traiettoria. Le traiettorie vengono raccolte utilizzando una politica codificata.

Le dimostrazioni riuscite vengono raccolte utilizzando una politica codificata

Si noti che durante l'apprendimento le traiettorie corrette sono generate da una politica procedurale "codificata", che credo si basi su tecniche classiche di identificazione e controllo del sistema. Quindi durante l'addestramento e il test l'agente ha due input: a) una dimostrazione in una configurazione A eb) una configurazione iniziale B. Durante solo l'allenamento, l'algoritmo di apprendimento ha anche accesso a una risposta ideale: una traiettoria che parte dalla configurazione B che risponde al problema e con il quale verrà confrontata la risposta dell'agente durante l'apprendimento, rendendolo un problema di apprendimento supervisionato.

Per ogni attività di formazione presupponiamo la disponibilità di una serie di dimostrazioni di successo.

Se non è chiaro, analizzerò le differenze tra i diversi tipi di paradigmi di apprendimento nella sezione successiva.

Algoritmo di ottimizzazione e funzione di perdita

L'apprendimento supervisionato si riferisce a paradigmi formativi in ​​cui ad ogni decisione la rete ha accesso alla scelta corretta che avrebbe dovuto fare, e quindi a una nozione di errore. Ad esempio in un compito di classificazione tra cani e gatti, l'etichetta delle immagini di cani e gatti durante l'allenamento è nota in anticipo e gli errori vengono immediatamente rilevati. In questo senso è diverso dall'apprendimento non supervisionato in cui in generale all'agente viene chiesto di trovare una struttura precedentemente sconosciuta negli input che riceve, e senza etichette di cani e gatti dovrebbe scoprire che ci sono due gruppi di oggetti diversi basati solo su le informazioni contenute nei dati. È anche diverso dall'apprendimento del rinforzo che spesso si applicano al sistema in tempo reale in cui la sequenza esatta di decisione che porta a un obiettivo è sconosciuta, ma solo una "ricompensa" finale deciderà se la sequenza era corretta. Usando l'apprendimento dell'imitazione trasformano un classico problema di apprendimento del rinforzo in un problema di apprendimento supervisionato, in cui l'errore viene calcolato da una distanza a una traiettoria osservata.

Come nel caso di qualsiasi configurazione di addestramento supervisionato, l'attività a portata di mano è completamente definita dalla funzione di perdita, che mira a quantificare la distanza dell'agente dal comportamento previsto. La definizione di questa funzione è spesso un passaggio critico, in quanto determina il modo in cui gli algoritmi di ottimizzazione aggiornano i parametri del modello. Tali algoritmi sono importanti in termini di tempo di calcolo e spesso richiedono alcune modifiche per poter convergere, se non del tutto. In effetti le soluzioni che minimizzeranno la funzione in dimensioni molto elevate risiedono in un guscio molto piccolo dello spazio dei parametri, con una piccola distanza di battuta tra loro, non appena ti allontani da quel piccolo dominio la distanza tra le soluzioni cresce rapidamente. C'è un sacco di lavoro molto interessante su questo argomento, fatto tra l'altro dall'incredibile Jennifer Chayes, che disegna l'argomento in un'intervista molto interessante sull'ultimo episodio di Talking Machines.

Durante l'addestramento delle reti politiche (l'intera rete, in grado di decidere dall'input quale azione intraprendere), elaborano innanzitutto la traiettoria dimostrativa riuscita. Per questa parte confronteranno due approcci, la classica clonazione comportamentale (non esattamente sicura dell'implementazione che hanno usato) e gli algoritmi DAGGER. Ciò consentirà quindi la minimizzazione iterativa della funzione di perdita attraverso l2 o perdita di entropia incrociata in base al fatto che le azioni siano continue o discrete (in base alla distribuzione degli eventi nella sequenza). In tutti gli esperimenti, hanno usato l'algoritmo Adamax per eseguire l'ottimizzazione con un tasso di apprendimento di 0,001.

La dimensione del gradino inizia in piccolo e decade in modo esponenziale.

L'algoritmo in sé non consente il trasferimento, è il modo in cui costruisci il tuo set di allenamento e la tua funzione di perdita che consentirà il trasferimento.

Esistono due tipi di trasferimento nelle attività. Il primo tipo viene definito "colmare il divario di realtà", è una generalizzazione dell'apprendimento che consente il trasferimento tra allenamento su input simulati e test su stimoli naturali. I dati di simulazione sono spesso un'approssimazione impoverita del mondo reale, troppo perfetta, priva della complessità dell'oggetto reale. Nel mondo reale la fotocamera potrebbe essere difettosa e più rumorosa, il controllo del motore sarà meno preciso, i colori cambieranno, le trame saranno più ricche ecc. Per consentire questo primo trasferimento usano un metodo che chiamano "randomizzazione del dominio" : è aggiungendo rumore agli input che la rete può apprendere la struttura comune comune che le permetterà di generalizzare in modo appropriato al mondo reale. Ad esempio, cambieranno l'angolazione della telecamera tra esempi di allenamento, cambieranno le trame o renderanno le traiettorie meno perfette. Aggiungendo rumore durante l'allenamento, aggiungiamo robustezza.

Il secondo trasferimento testato qui è la capacità di produrre una sequenza motoria rilevante in una serie mai vista prima di configurazione e obiettivo, basata su una singola dimostrazione che inizia in un'altra configurazione iniziale ma con un obiettivo finale simile. Anche in questo caso il trasferimento sarà reso possibile dal modo in cui costruiamo il set di allenamento e modelliamo la funzione di perdita. Presentando dimostrazioni durante l'allenamento che non partono dalla stessa condizione iniziale per raggiungere un obiettivo simile, si consente alla rete di imparare a incorporare una rappresentazione di livello superiore dell'obiettivo senza utilizzare posizioni assolute, nonché una rappresentazione di ordine superiore di la sequenza motoria che non è una semplice imitazione. L'ingenua architettura iniziale consente all'addestramento di modificare la struttura in modo pertinente e questa struttura addestrata implica la funzione finale.

obiettivi

Per il paradigma del block stacking avevano diversi vincoli che desideravano incontrare il loro agente di apprendimento.

Dovrebbe essere facile da applicare alle istanze di attività che hanno un numero variabile di blocchi.
Dovrebbe generalizzare naturalmente a diverse permutazioni dello stesso compito. Ad esempio, la politica dovrebbe funzionare bene sull'attività {dcba}, anche se è addestrata solo sull'attività {abcd}.
Dovrebbe contenere dimostrazioni di lunghezze variabili.

Avevano diverse domande a cui volevano rispondere per questo compito.

In che modo la formazione con la clonazione comportamentale si confronta con DAGGER, dato che è possibile raccogliere dati sufficienti offline?
In che modo il condizionamento sull'intera dimostrazione si confronta con il condizionamento sulla configurazione finale desiderata, anche quando la configurazione finale ha abbastanza informazioni per specificare completamente l'attività?
In che modo il condizionamento sull'intera dimostrazione è paragonabile al condizionamento su una "istantanea" della traiettoria, che è un piccolo sottoinsieme di frame che sono più istruttivi
Il nostro framework può generalizzare con successo a tipi di attività che non ha mai visto durante la formazione? (++)
Quali sono le attuali limitazioni del metodo?

Architettura

Raggiungimento di particelle

Per questo primo esempio hanno confrontato tre architetture tutte basate su reti neurali a memoria a breve termine (LSTM). Una descrizione di quella rete andrà in un prossimo post sulla memoria e l'attenzione, che sono materie assolutamente affascinanti sia nelle scienze cognitive che computazionali. In sostanza un LSTM alimenta le uscite di rete precedenti (nel tempo) come parte dell'input della rete in ogni nuovo punto temporale, consentendo l'informazione degli stati passati per informare il presente (da qui il loro nome di reti di memoria a breve termine). Sono alla base di molte tecnologie all'avanguardia che si occupano di serie storiche (Alexa, Siri ecc.).

Qui usano queste tre condizioni specifiche:

  1. LSTM semplice: impara a incorporare la traiettoria e lo stato corrente per alimentarlo a un percettrone multistrato che produrrà l'azione motoria
  2. LSTM con attenzione: produce una rappresentazione ponderata sui punti di riferimento della traiettoria
  3. Stato finale con attenzione: utilizzare nella formazione solo lo stato finale al fine di produrre una ponderazione rispetto ai punti di riferimento, simile alla precedente architettura

Stack stacking

Mentre, in linea di principio, una rete neurale generica potrebbe imparare la mappatura dalla dimostrazione e dall'attuale osservazione all'azione appropriata, abbiamo trovato importante utilizzare un'architettura appropriata. La nostra architettura per l'apprendimento dei blocchi impilati è uno dei principali contributi di questo documento e riteniamo che sia rappresentativa di come potrebbero apparire in futuro le architetture per l'apprendimento dell'imitazione one-shot di compiti più complessi.

Moduli di attenzione

L'articolo rimane di livello relativamente elevato nel descrivere la struttura delle reti utilizzate per apprendere l'attività. Un ingrediente chiave dell'architettura è il loro modulo di attenzione, ma credo che questo argomento abbia bisogno di un post specifico per approfondire il suo ruolo essenziale. Per analogia con il concetto di scienza cognitiva dell'attenzione sostenuta, i moduli di attenzione sono usati per mantenere e focalizzare le informazioni rilevanti contenute in diversi intervalli di spazio e tempo. Produce un output di dimensioni fisse che contiene un incorporamento di un contenuto informativo che è stato allungato nel tempo e nello spazio. Per analogia con la topologia, una branca della matematica che credo informerà notevolmente il modo in cui comprendiamo le rappresentazioni distribuite in futuro, una rete di attenzione esegue un isomorfismo topologico di informazioni, stessa curvatura, forma diversa. Si noti che queste reti non svolgono un ruolo di rilevatore di salienza in grado di concentrarsi su eventi imprevisti o rari, che è una funzione associata alla nozione di attenzione nelle neuroscienze.

Qui usano due tipi di rete di attenzione: a) una rete di attenzione temporale che produce una somma ponderata sul contenuto (vettori di query, contesto e memoria) memorizzati nella memoria eb) una rete di attenzione del vicinato in grado di recuperare informazioni relative al blocco posizioni in base alla query corrente dell'agente.

Rete di attenzione temporale, con c: vettore di contesto, m: vettore di memoria, q: vettore di query, v: peso del vettore appreso. L'output ha le stesse dimensioni del vettore di memoria. È una combinazione lineare di quei vettori che consente ad alcuni vettori di memoria di avere un impatto maggiore sull'output in base al contesto e ai vettori delle query.La stessa idea qui, la competizione tra informazioni spaziali è mantenuta dinamicamente dal sistema di attenzione.

La rete politica

La rete completa è composta da tre diverse sottoreti: la rete dimostrativa, la rete di contesto e la rete di manipolazione.

La rete dimostrativa riceve una traiettoria dimostrativa come input e produce un incorporamento della dimostrazione che verrà utilizzata dalla politica. La dimensione di questo incorporamento cresce linearmente in funzione della lunghezza della dimostrazione e del numero di blocchi nell'ambiente.

Come mostrato qui, la rete dimostrativa è in grado di incorporare dimostrazioni di varia complessità e dimensione in un formato comune che verrà utilizzato dalla rete di contesto per rappresentare l'attività. Probabilmente è già a questo livello che si verifica la generalizzazione, l'incorporamento della dimostrazione dovrebbe tralasciare informazioni sulla traiettoria esatta e sulle posizioni assolute del cubo viste durante le dimostrazioni.

Osservando la struttura della rete di contesto, sebbene da un livello molto elevato, vediamo l'interfaccia con la rete di dimostrazione che alimenta un incorporamento della dimostrazione nei moduli di attenzione temporale centrale. Vediamo anche che le azioni precedenti (LSTM) e lo stato corrente sono alimentati come input concatenato con l'incorporamento della dimostrazione per produrre un incorporamento del contesto globale inviato alla rete del motore.

La loro descrizione della funzione di reti è a mio avviso la parte più importante del documento:

La rete di contesto inizia calcolando un vettore di query in funzione dello stato corrente, che viene quindi utilizzato per partecipare alle diverse fasi temporali nell'incorporamento della dimostrazione. I pesi dell'attenzione su blocchi diversi nello stesso intervallo di tempo vengono sommati insieme, per produrre un singolo peso per intervallo di tempo. Il risultato di questa attenzione temporale è un vettore la cui dimensione è proporzionale al numero di blocchi nell'ambiente. Quindi applichiamo l'attenzione del vicinato per propagare le informazioni attraverso le decorazioni di ciascun blocco. Questo processo viene ripetuto più volte, in cui lo stato viene avanzato utilizzando una cella LSTM con pesi sciolti.
La precedente sequenza di operazioni produce un incorporamento le cui dimensioni sono indipendenti dalla lunghezza della dimostrazione, ma dipendono ancora dal numero di blocchi. Quindi applichiamo un'attenzione morbida standard per produrre vettori a dimensione fissa, in cui il contenuto della memoria è costituito solo da posizioni di ciascun blocco, che, insieme allo stato del robot, forma l'ingresso passato alla rete di manipolazione.
Intuitivamente, sebbene il numero di oggetti nell'ambiente possa variare, in ogni fase dell'operazione di manipolazione, il numero di oggetti rilevanti è piccolo e solitamente fisso. In particolare per l'ambiente di stack stacking, il robot dovrebbe solo prestare attenzione alla posizione del blocco che sta tentando di raccogliere (il blocco sorgente), nonché alla posizione del blocco che sta cercando di posizionare sopra ( il blocco target). Pertanto, una rete adeguatamente addestrata può imparare a far corrispondere lo stato corrente con lo stadio corrispondente nella dimostrazione e inferire le identità dei blocchi sorgente e target espressi come pesi di attenzione morbida su blocchi diversi, che vengono quindi utilizzati per estrarre le posizioni corrispondenti in essere passato alla rete di manipolazione.

Il modo in cui completano la loro descrizione è un perfetto esempio dell'attuale deriva della ricerca sull'intelligenza artificiale da un approccio di sistema esperto a un approccio di sistema di apprendimento, e suggerisce anche la discussione su come il cervello si è evoluto di seguito.

Sebbene non applichiamo questa interpretazione durante la formazione, la nostra analisi dell'esperimento supporta questa interpretazione di come la politica appresa funzioni internamente.

Non sanno come funziona! Costruiscono una struttura in grado di eseguire determinati calcoli e memorizzare alcune informazioni che riteniamo utili a priori, e le forniscono un set di formazione sperando che l'intera struttura apprenda! C'è una sorta di voodoo di ricerca sull'intelligenza artificiale in aumento, un'arte, un modo per dirigere la ricerca euristica nella giusta direzione. E sembra che molti di questi maghi stiano lavorando per openAI.

In parole povere la rete di manipolazione è la struttura più semplice, dal contesto incorporato alimentato al percettrone multistrato, viene prodotta un'azione motoria.

risultati

I risultati sono spesso una parte per la quale ho poco interesse, soprattutto per quel tipo di documenti tecnici sorprendentemente brillanti. Andrò veloce, la linea di fondo è che questo approccio funziona, si comporta con un'accuratezza simile alle politiche degli esperti hardcoded e, contrariamente a quello specifico approccio procedurale, è generalizzabile a una vasta gamma di compiti.

Raggiungimento di particelle

Stack Stacking

In questi esperimenti hanno anche testato diverse condizioni. Usando DAGGER hanno confrontato tre diverse condizioni di input effettuando il downsampling della traiettoria dimostrata: traiettorie complete, istantanea della traiettoria o usando solo lo stato finale. Hanno anche confrontato l'algoritmo di clonazione comportamentale con la traiettoria completa della dimostrazione.

Una forte evidenza della capacità del sistema di generalizzare sull'identità del cubo

Discussione

Leggendo i rapidi progressi fatti da OpenAI negli ultimi mesi, sento un bisogno crescente di parlare del loro lavoro e condividere i miei pensieri su ciò in cui credo il loro lavoro, e i progressi del campo dell'IA nel suo insieme, informare la nostra comprensione di come il cervello biologico funziona. In particolare questa crescente idea secondo cui le funzioni cognitive apparentemente condivise tra gli esseri umani non sono tanto dovute a una struttura condivisa che sa innanzi tutto come svolgere un compito, ma è invece il risultato di strutture ingenui relativamente simili che, di fronte allo stesso ambiente, imparare a svolgere compiti simili. La funzione è il risultato di una struttura senza funzioni che è in grado di apprendere un compito specifico solo a causa di un ambiente specifico piuttosto che una struttura che è in grado di svolgere il compito in modo nativo, semplicemente modificando un paio di parametri per adattarsi all'ambiente.

Compiti contro configurazioni: una definizione apparentemente arbitraria

Devo ammettere che non capisco perché abbiano scelto di parlare di diversi compiti come hanno fatto. Nell'esperimento di impilamento di blocchi viene definita un'attività come un insieme di stringhe che rappresentano la posizione dei blocchi l'una rispetto all'altra, il numero di elementi nell'insieme definisce il numero di pile e il numero di caratteri il numero di blocco che deve essere organizzato . Un'attività è quindi una disposizione di blocchi in pile indipendentemente dalla posizione assoluta della pila.

Alcuni blocchi potrebbero essere sul tavolo ma non fanno parte dell'attività

La loro scelta di definire la posizione relativa e il numero di pile come criteri per compiti separati sembra arbitraria. In effetti, potrebbe anche avere senso parlare di diversi compiti in base alle posizioni di partenza assolute dei blocchi (ciò che chiamano configurazione). Credo che la natura comune del problema sia evidente per loro, ma per motivi di chiarezza preferiscono non entrare nei dettagli. Ha più senso inquadrare l'apprendimento delle politiche come due tipi di generalizzazioni, come in seguito:

Si noti che la generalizzazione viene valutata a più livelli: la politica appresa non deve solo generalizzare a nuove configurazioni e nuove dimostrazioni di attività già viste, ma deve anche generalizzare a nuove attività.

Sostituisci semplicemente "attività" con "ordini in pila". Apprendere correttamente l'attività significa che l'agente impara un incorporamento in grado di astrarre la posizione dei cubi (configurazione), ma anche la loro identità (attività), il numero di stack (attività) e la traiettoria della dimostrazione (introdotta brevemente in la citazione) per produrre una risposta motoria rilevante.

Queste generalizzazioni sembrano contraddittorie, come può la stessa rete astrarre la configurazione iniziale del cubo o la sua identità e tuttavia recuperare la loro posizione assoluta per la risposta motoria?

Ciò spiega la necessità di diverse sottoreti cooperative durante l'apprendimento, che ricevono input diversi e spiega che nella rete di contesto una rappresentazione astratta dell'attività viene alimentata da informazioni di ordine inferiore, come i cubi posizioni assolute, prima del comando discendente.

Potresti pensare che commentare questa distinzione di compito e configurazione sia sciocco, ma è essenziale capire che si tratta essenzialmente dello stesso processo di astrazione in gioco su oggetti diversi (e questo si apre per la sezione seguente).

Non c'è apprendimento senza invarianza

L'apprendimento del trasferimento è forse il concetto più affascinante di cognizione, sia in silico che in vivo, è un argomento molto caldo sia per i ricercatori dell'IA che per i neuroscienziati, e capita di essere oggetto della mia tesi di dottorato. Si noti che i concetti strettamente correlati sono stati esplorati in molti campi prima dell'apprendimento automatico, e questo concetto astratto e sempre parzialmente definito ha molti nomi. Filosofi, antropologi e sociologi potrebbero riferirsi ad esso come (Post) strutturalismo (Claude Levi-Strauss, Michel Foucault), il linguista parlerà delle strutture di Syntagma e degli alberi nidificati (Noam Chomsky), i matematici probabilmente penseranno all'omeomorfismo o agli invarianti e all'istruzione ricercatori o neuroscienziati possono riferirsi ad esso come apprendimento strutturale. Potresti anche vedere concetti correlati nel campo dell'apprendimento automatico come l'apprendimento della rappresentazione e il meta-apprendimento, che a seconda dell'autore potrebbero riferirsi all'apprendimento del trasferimento o al paradigma dell'apprendimento utilizzato per eseguire l'apprendimento del trasferimento. Quando si parla di reti neurali profonde queste differenze sono sfumate, poiché in sostanza una rete neurale sta imparando a incorporare un certo problema (apprendimento della rappresentazione) modificando la sua struttura (meta-apprendimento) di solito in un ambiente rumoroso che implica una forma di apprendimento di trasferimento.

I ricercatori dell'intelligenza artificiale e lo scienziato cognitivo hanno spesso una definizione molto concreta dell'apprendimento di trasferimento, è il processo che consente a un sistema di utilizzare le conoscenze acquisite in un determinato compito per svolgere un altro compito condividendo una struttura compositiva comune (come descritto nell'articolo). La scienza cognitiva ha questa nozione di trasferimento vicino e lontano, a seconda di come i due compiti sembrano differire. Ma da una prospettiva più astratta, in un ambiente rumoroso e complesso, tutto l'apprendimento è una forma di trasferimento dell'apprendimento e la differenza tra il trasferimento molto vicino e molto lontano è solo una questione di informazioni condivise - di nuovo una questione di scala non di natura.

In un ambiente controllato, vengono preventivamente fatti sforzi per costruire una discretizzazione codificata della realtà, ma in realtà questa discretizzazione riproduce proceduralmente ciò che l'apprendimento di trasferimento fa, unisce un insieme infinito di stati trovati nella realtà sotto una struttura comune chiusa. In sostanza, Transfer Learning si riferisce direttamente o per estensione al processo attraverso il quale gli agenti dell'apprendimento usano gli invarianti per costruire modelli del mondo. È un processo che utilizza somiglianze, ripetizioni e variazioni delle stesse, per formare una rappresentazione sempre più astratta e composta che strutturerà insiemi sull'intervallo di varianza dall'input. In senso generale, consente di creare le operazioni di base attraverso le quali manipoliamo gruppi di informazioni, proprio come in matematica consente l'unione e le intersezioni. Permette le identità, spiega la nostra capacità di classificare gli oggetti. Josh Tenembaum fa un esempio che mi ha davvero parlato: immagina di insegnare a un bambino di due anni a riconoscere un cavallo per la prima volta, gli mostri un paio di foto di cavalli diversi e poi gli mostri l'immagine di un altro cavallo e l'immagine di una casa e chiedigli di dirti quale è il cavallo. Un bambino svolgerà questo compito abbastanza facilmente, ma è ancora qualcosa che un computer non può fare bene con così pochi input (apprendimento one-shot).

Come ha fatto il bambino?

Il riconoscimento degli animali è stato studiato nei bambini e si riferisce alla nostra capacità di decostruire gli oggetti in parti pertinenti, la gamma di colori della pelliccia, la dimensione del collo, la forma generale ecc. Questa capacità è anche ciò che ti consente di aprire una porta non hai mai visto prima, hai imparato una sequenza motoria che si generalizza a qualsiasi situazione (generalizzazione del dominio). È anche quello che usi per costruire modelli esplicativi che semplificano il mondo, potresti davvero essere sorpreso inizialmente dall'improvvisa apparizione di un cuculo in un famoso orologio svizzero, ma dopo la seconda apparizione te lo aspetti. Trovare l'invarianza è come apprende una rete neurale e quei modelli sono costruiti inconsciamente. Un esempio è come apprendiamo in modo intuitivo sulla fisica ancor prima di aver sentito parlare di matematica e numeri.

Ci si potrebbe chiedere ad esempio quanto velocemente un bambino nato in microgravità si adatterà alla gravità terrestre e apprenderà intuitivamente che gli oggetti cadranno a terra quando lasciati cadere?

Potremmo ipotizzare che i bambini e la maggior parte degli animali rivedano inconsciamente il loro modello, proprio come quando si mettono calzini sulle zampe di un cane e ci vuole del tempo per adattarsi alle nuove informazioni.

Ma per un bambino avrà luogo un interrogatorio consapevole e una revisione del suo modello intuitivo, dalla curiosità, attraverso il linguaggio, i simboli e le credenze. La nostra capacità di interrogare e cambiare consapevolmente i nostri modelli è affascinante e, come sidenote, gli esseri umani possono essere le uniche specie in grado di verbalizzare il processo, ma altre specie possono eseguire revisioni coscienti simili.

L'invarianza è una proprietà obbligatoria del tempo, se tutto fosse sempre nuovo e in alcun modo prevedibile, rimarrebbe comunque questo invariante unico che tutto è sempre nuovo e imprevedibile. È impossibile immaginare un mondo senza invarianza, dal momento che non potrebbe esserci un mondo a cui fare riferimento, senza invarianza la vita sarebbe impossibile e il nostro cervello inutile. La vita è una macchina che funziona solo con la prevedibile ripetizione di eventi, ripetizione di cause ed effetti, della reintroduzione ciclica di energia nell'organismo. E nella ricerca di Life per migliorare l'uso di quei cicli necessari, il nostro cervello è lo strumento perfetto. È una macchina di predizione, un organo adattivo in grado di trovare la ripetizione in modo dinamico e usarla per interagire meglio con il mondo.

Questo metodo scelto dalla vita è estremamente robusto per lievi cambiamenti nella struttura. Ciò che rimane uguale è il mondo, le proprietà statistiche dell'ambiente, ma la struttura neurale che lo incontra può variare fintanto che può incorporare le informazioni pertinenti che si è evoluto per trattare. Questo spiega perché il nostro cervello può essere così diverso da individuo a individuo, persino cortecce primarie, e tuttavia condividere le stesse funzioni.

I sistemi nervosi sono adattivi, non hanno bisogno di evoluzione e rallentano le mutazioni genetiche per alterare il comportamento in modi pertinenti. Un semplice sistema nervoso, come quelli che si trovano in C. Elegans, funge da innato coordinatore interno e sensore esterno: percepisce il cibo e si sposta verso di esso, fugge dal dolore, si riproduce. Quei sistemi semplici erano inizialmente rigidi ed eseguivano un'estrema approssimazione del nostro mondo altamente rumoroso per discretizzarlo in una piccola serie di possibili stati (cibo a sinistra, calore sotto ecc.). Le nostre capacità motorie e sensoriali si sono evolute di pari passo con le nostre capacità predittive del sistema nervoso. Man mano che i nostri sensori diventavano più precisi, il sistema nervoso divenne lentamente in grado di modificare la sua struttura per memorizzare informazioni e imparare dall'esperienza. Inizialmente divenne in grado di imparare a riconoscere determinate categorie di input, come tipi di odori o schemi di luce, e divenne anche in grado di imparare attraverso prove ed errori per controllare il suo sistema motorio sempre più complesso. Si noti che il mondo è così complesso che il nostro cervello si è naturalmente evoluto verso un paradigma dell'apprendimento piuttosto che un approccio procedurale innato. Computazionalmente questo ha perfettamente senso, un semplice gioco di Go ha uno spazio-stato molto più grande (2.10¹⁷⁰) rispetto al numero di atomi nell'universo (10⁸⁰), e man mano che gli organismi diventano più complessi cercando di codificare le possibili approssimazioni di tutto il possibile afferma che potrebbe essere rapidamente diventa intrattabile a causa dell'esplosione combinatoria.

Alcune persone potrebbero credere che il nostro cervello sia costruito in modo tale da rappresentare in modo innato lo spazio in cui si evolverà, che nel DNA da qualche parte c'è un gene per ciò che costituisce una faccia, o l'organizzazione temporale delle onde sonore che fanno parole. Potrebbero credere che questa conoscenza innata sia codificata alla nascita da qualche parte. Altri potrebbero credere, come il mio insegnante di filosofia quando ero al liceo, che l'esistenza precede l'essenza e che il nostro cervello è completamente e unicamente definito dall'incontro dell'organismo e del mondo. La realtà è ovviamente più complessa e per la maggior parte dei sistemi telencefalici che sono stati studiati finora, il cervello non codifica in modo innato la funzione che svolgerà, ma la imparerà in base alle informazioni contenute nei suoi input. Se l'input è troppo scarso nelle informazioni pertinenti, la capacità di apprendere in quella struttura potrebbe avere una data di scadenza (ad es. Ambliopia). Ma se la struttura innata non codifica la funzione finale, il cervello ha una struttura specifica. Questa struttura è preservata tra gli individui e gli individui della stessa specie condividono funzioni e pulsioni comuni. Il DNA crea una certa struttura in atto, una struttura non in grado di svolgere la loro funzione finale in modo innato, ma una struttura in grado di apprendere la complessità di compiti specifici basati sull'esperienza individuale. Non sorprende che l'evoluzione abbia portato all'apparizione di una barriera emato-encefalica altamente efficace che isola il cervello dal resto del corpo, nonché le meningi e il guscio osseo duro proteggendolo dal mondo esterno, perché a differenza di altri organi in cui la struttura è codificata nel genoma, la struttura di un cervello allenato non può essere rigenerata da un modello conservato in modo innato. Ciò che è affascinante è che vediamo gli stessi meccanismi di apprendimento derivanti dall'analogia attraverso lo sviluppo di reti profonde sempre più complesse che svolgono compiti sempre più complessi.

Le strutture compositive sono difficili da vedere ma ovunque

Come sidenote è strano che anche gli autori non riconoscano che il loro primo compito di raggiungere un obiettivo ha una struttura compositiva.

I compiti che raggiungono le particelle dimostrano bene le sfide della generalizzazione in uno scenario semplicistico. Tuttavia, i compiti non condividono una struttura compositiva, rendendo difficile la valutazione della generalizzazione a nuovi compiti.

Sebbene la struttura sia effettivamente di livello inferiore rispetto al blocco di blocchi, e non facilmente accessibile alla manipolazione sperimentale, l'attività è effettivamente composta da una struttura condivisa. Approssimando il mondo a un piano, una struttura compositiva è che l'identità del cubo (colore) viene preservata con la traslazione e che va dal blocco A -o una posizione iniziale casuale- alla posizione (Xa1, Ya1) al blocco B nella posizione (Xb1, Yb2 ) fa parte della stessa struttura compositiva di ordine superiore rispetto al passaggio dal blocco A in posizione (Xa2, Ya2) al blocco B in posizione (Xb2, Yb2).

Interfacce tra reti

L'agencement di reti neurali in grado di trattare input a diversi livelli di astrazione avrà bisogno di interfacce, un dominio che a mio avviso presenta molto da scoprire. Quelle interfacce possono essere di natura numerosa. Ad esempio, possono essere visti come un linguaggio comune tra due reti, come dimostrato nell'articolo, una rete di livello inferiore armata di un sistema di attenzione (rete di dimostrazione) può tradurre una dimostrazione in una rappresentazione che un'altra rete (la rete di contesto) può usare per dirigere l'azione indipendentemente dalla lunghezza o dalla configurazione iniziale della dimostrazione.

La superficie di questo linguaggio è qui un piano, di dimensioni fisse, ma si possono immaginare possibili alterazioni che potrebbero migliorare le comunicazioni tra la rete. Ad esempio, la dimensione della superficie potrebbe essere impostata per crescere o ridursi dinamicamente mentre le reti interagiscono durante l'apprendimento, comprimendo o estendendo la complessità del linguaggio. Potremmo anche immaginare interazioni più dinamiche, ad esempio tramite feedback. Potremmo immaginare l'esistenza di reti di facilitatori che imparerebbero a facilitare la comunicazione tra reti, esistenti come una rete parallela che impara a modulare l'input della prima rete in base all'input e all'output della seconda rete. Potremmo immaginare reti di contesto complesse che fungono da afflusso tonico (che varia lentamente) a più reti più specializzate ... Affascinante area di ricerca futura!

I casi di errore suggeriscono i possibili ruoli che potrebbero avere i nuovi moduli

Vale la pena notare che gli errori sono spesso dovuti a errori motori e che il numero di errori aumenta con la complessità del compito.

La funzione motoria non dovrebbe essere deteriorata solo aumentando il numero di obiettivi, questa è una prova evidente che il modo in cui la rete di riproduzione impara a parlare con la rete motoria è troppo astratto. È strano perché dicono che il loro test dimostra che l'interfaccia tra la rete di contesto e la rete del motore è relativamente concreta (posizione del robot, posizione del bersaglio).

Una possibile soluzione potrebbe essere, poiché si tratta di un'architettura modulare, di utilizzare diverse funzioni di perdita o funzioni di perdita modulari che rappresentano ciascuna un aspetto specifico dell'attività. Sarebbe anche aiutato da un equivalente delle aree pre-motorie del cervello per assicurare che la rete dimostrativa e contestuale possa rimanere astratta senza deteriorare il comando motorio. Le regioni premotorie sono necessarie per localizzare meglio gli oggetti in base all'obiettivo (dalle reti astratte) e agli input sensoriali, al fine di selezionare il miglior comando motorio. Sembra che la rete di contesto stia entrambi cercando di trasferire la dimostrazione a un livello superiore di incorporamento e di preparare allo stesso tempo un'azione motoria in un contesto attuale. Il ruolo di una rete pre-motoria sarebbe quello di imparare a comunicare con il sistema motorio in modo orientato agli obiettivi e adattivo, combinando sia le funzioni del premotore che il cervelletto per l'apprendimento motorio e l'adattamento rapido.

Esiste una teoria interessante, il paradosso di Moravec, che prevede che non sarà una cognizione di livello superiore a gravare dal punto di vista computazionale, ma il trattamento degli input sensoriali e degli output dei sistemi motori. Ciò potrebbe effettivamente spiegare la grande quantità di neuroni presenti nel nostro cervelletto (più che nel resto del nostro cervello) per controllare in modo adattativo l'azione motoria. Questo paradosso è stato formulato in un'epoca (gli anni '80) in cui credevamo ancora di poter incorporare le nostre conoscenze in una macchina per svolgere compiti complessi in ambienti rumorosi incontrollati. Ovviamente questo paradosso ha senso se in qualche modo la macchina sia in grado di rappresentare il mondo in un insieme discreto di stati, costruire una funzione di livello superiore su di esso sarebbe più facile. Ma credo che entrambi si dimostreranno estremamente faticosi e la rappresentazione interna utilizzata nell'interfaccia tra le reti sarà lontana da qualsiasi cosa che assomigli alle nostre rappresentazioni coscienti.

Conclusione

Combinando reti neurali diverse ciascuna responsabile di uno specifico trattamento del problema, questo articolo mostra che creando un'attività che ha intrinsecamente bisogno di generalizzazione e costruendo un ambiente di apprendimento appropriato attraverso la randomizzazione del dominio, una rete neurale con accesso a una memoria e un il sistema di attenzione può imparare a generalizzare oltre la semplice riproduzione. Può imparare a scoprire un obiettivo di ordine superiore che è stato dimostrato solo una volta in un flusso visivo di informazioni ed eseguire calcoli in uno spazio generalizzato per recuperare le azioni appropriate in grado di riprodurre tale obiettivo in un contesto diverso.

In futuro vedremo una crescente complessità di strutture costruite su quei blocchi atomici in grado di imparare a generalizzare compiti complessi ma, soprattutto, eseguire molti di questi compiti, in nuovi ambienti, con meno affidamento su metodi codificati come la preelaborazione degli input o memoria L'archiviazione della memoria sarà sostituita da rappresentazioni distribuite attraverso una rete di memoria, i sistemi di attenzione saranno sostituiti dall'attività ciclica in reti di attenzione in tempo reale. Resta da chiedersi come saremo in grado di adattare una forte tecnologia seriale (macchine di Turing) alla nostra maggiore dipendenza dal calcolo distribuito nel sistema incorporato.