A nova abordagem da OpenAI para o aprendizado de imitação one-shot, uma espiada no futuro da IA

Aprendizagem por imitação de uma só vez Yan Duan, Marcin Andrychowicz, Bradly C. Stadie, Jonathan Ho, Jonas Schneider, Ilya Sutskever, Pieter Abbeel, Wojciech Zaremba

Em 16 de maio, os pesquisadores da OpenAI compartilharam um vídeo de um de seus projetos, juntamente com dois documentos importantes, explorando soluções para os três principais gargalos do desenvolvimento atual da IA: meta-aprendizado, aprendizado único e geração automatizada de dados. No meu post anterior, prometi um artigo dedicado ao fascinante problema do aprendizado de uma só vez, então aqui vai. Você pode começar dando uma olhada no vídeo lançado, o que explica seu trabalho incrível:

Neste vídeo, você vê um robô físico de um braço empilhando cubos uns sobre os outros. Conhecer as tarefas complexas que os robôs industriais atualmente são capazes de executar, se o pesquisador não estivesse tentando explicar o que está acontecendo, em muitos casos isso seria muito decepcionante. Em um ambiente controlado, a tarefa é simples, as abordagens processuais (codificadas) já solucionaram esses problemas, o que é promissor e revolucionário é o quanto a estrutura geral abaixo poderia escalar para comportamentos múltiplos, mais complexos e adaptativos em ambientes mais ruidosos.

A diferença de mente entre o homem e os animais superiores, por maior que seja, certamente é de grau e não de espécie.
- Charles Darwin

Por analogia, este artigo é uma forte evidência de que as diferenças nos sistemas cognitivos entre a IA incorporada atual (inteligência artificial de sistemas físicos) e os robôs do século 22 serão de escala e não de tipo. Desde a competição ImageNet * em 2012, a pesquisa de aprendizado profundo vem crescendo, não tanto para modificar a natureza da computação distribuída feita por uma rede neural, mas para encontrar novas maneiras de estruturar redes para que elas aprendam uma tarefa específica. Como uma função de rede neural é estrutura, essa estrutura não é codificada (não projetada manualmente), mas são os resultados de unidades computacionais atômicas inicialmente conectadas entre entradas e saídas, capazes de modificar sua estrutura e conexões. É modificando a estrutura geral da rede que ela aprende uma função específica.

Neste artigo, eles construíram uma estrutura geral capaz de treinar um agente para representar tarefas de maneira abstrata e aprender a transferir esse conhecimento para novas tarefas invisíveis (transferir aprendizado) após apenas uma demonstração da nova tarefa (uma imitação de aprendizado).

As tarefas

Embora a implementação arquitetural exata seja diferente, elas tomam duas tarefas como exemplos para mostrar o desempenho da abordagem geral.

Alcance de partículas

No primeiro exemplo, o sistema recebe entradas de posições de alvo coloridas em um plano e uma única demonstração em vídeo do agente simulado indo para o alvo especificado.

Figura 2. O robô é um ponto de massa controlado com força bidimensional. A família de tarefas é alcançar um marco de destino. A identidade do marco difere de tarefa para tarefa, e o modelo precisa descobrir qual alvo buscar com base na demonstração. ilustração (esquerda) do robô; (meio) a tarefa é alcançar a caixa laranja; (direita) a tarefa é alcançar o triângulo verde.

Durante o treinamento, o sistema deve reproduzir a mesma tarefa (chegar a laranja), mas a partir de outra configuração, com diferentes posições iniciais para o robô e os alvos. Não está claro se, durante o teste, o agente é testado na tarefa em que ele foi treinado (alcance laranja) ou na tarefa que ele nunca havia visto antes (alcance verde por exemplo) ou em ambos.

A política treinada é avaliada em novos cenários e condicionada a novas trajetórias de demonstração não vistas durante o treinamento.

É certo que o agente deve inferir o destino da meta a partir de uma demonstração exclusiva e iniciar novamente a partir de outra configuração. Isso implica que a sequência motora exata não poderia ter sido aprendida antes do teste e deve ser inferida através da abstração (representação estruturada de nível superior) da tarefa e do planejamento motor.

Empilhamento de blocos

No segundo exemplo, o agente precisa aprender a empilhar cubos (identificados por cores diferentes) na mesma ordem que o mostrado em uma única demonstração simulada. Esta demonstração simulada é uma série de imagens 2D geradas por um mecanismo de física 3D, no qual as propriedades do motor e do aparelho sensorial dos robôs são modeladas.

Política de um tiro. Uma única política treinada para resolver muitas tarefas. Tarefa principal: {abc, def}, Tarefa inferior: {ab, cd, ef}

Nos dois exemplos, as posições iniciais dos cubos na demonstração e no teste real são diferentes, cada tarefa começa em outra posição inicial. O robô não tenta substituir os cubos para corresponder à posição inicial da demonstração, transfere a tarefa de nível superior de empilhar o cubo, seja qual for o estado em que ele começa.

Treinamento usando randomização de domínio

Em ambos os casos, todas as imagens usadas durante o treinamento são obtidas por simulação, usando a randomização de domínio, na qual serão randomizados os seguintes aspectos das amostras:

Número e forma dos objetos distratores na mesa Posição e textura de todos os objetos na mesa Texturas da mesa, piso, skybox e robô Posição, orientação e campo de visão da câmera Número de luzes na cena Posição, orientação, características especulares das luzes Tipo e quantidade de ruído aleatório adicionado às imagens

Conjunto de treinamento para alcançar partículas

Consideramos um conjunto cada vez mais difícil de famílias de tarefas, em que o número de pontos de referência aumenta de 2 para 10. Para cada família de tarefas, coletamos 10.000 trajetórias de treinamento, onde as posições dos pontos de referência e a posição inicial do robô do ponto são aleatórias. Usamos uma política especializada codificada para gerar demonstrações com eficiência. Adicionamos ruído às trajetórias perturbando as ações computadas antes de aplicá-las ao ambiente e usamos a clonagem comportamental simples para treinar a política de rede neural

Conjunto de treinamento para empilhamento de blocos

Concretamente, coletamos 140 tarefas de treinamento e 43 tarefas de teste, cada uma com um layout desejado diferente dos blocos. O número de blocos em cada tarefa pode variar entre 2 e 10. Coletamos 1000 trajetórias por tarefa para treinamento e mantemos um conjunto separado de trajetórias e configurações iniciais a serem usadas para avaliação. Semelhante à tarefa de alcançar partículas, injetamos ruído no processo de coleta de trajetória. As trajetórias são coletadas usando uma política codificada.

As demonstrações bem-sucedidas são coletadas usando uma política codificada

Observe que, durante o aprendizado, as trajetórias corretas são geradas por uma política processual "codificada", que acredito que se baseia em técnicas clássicas de identificação e controle de sistemas. Portanto, durante o treinamento e o teste, o agente possui duas entradas: a) uma demonstração em uma configuração A eb) uma configuração inicial B. Durante apenas o treinamento, o algoritmo de aprendizado também tem acesso a uma resposta ideal: uma trajetória iniciada na configuração B que responde ao problema e com o qual a resposta do agente será comparada durante o aprendizado - tornando-o um problema de aprendizado supervisionado.

Para cada tarefa de treinamento, assumimos a disponibilidade de um conjunto de demonstrações bem-sucedidas.

Se não estiver claro, examinarei as diferenças entre os diferentes tipos de paradigmas de aprendizado na próxima seção.

Algoritmo de otimização e função de perda

O aprendizado supervisionado refere-se a paradigmas de treinamento nos quais a cada decisão a rede tem acesso à escolha correta que deveria ter feito e, portanto, a uma noção de erro. Por exemplo, em uma tarefa de classificação entre cães e gatos, o rótulo das imagens de cães e gatos durante o treinamento é conhecido antecipadamente e os erros são imediatamente detectados. Nesse sentido, é diferente do aprendizado não supervisionado, no qual, em geral, o agente é solicitado a encontrar uma estrutura anteriormente desconhecida nos insumos que recebe e, sem rótulos de gatos e cães, teria que descobrir que existem dois grupos de objetos diferentes baseados apenas em as informações contidas nos dados. Também é diferente do Aprendizado por Reforço, que geralmente se aplica ao sistema em tempo real no qual a sequência exata de decisão que leva a um objetivo é desconhecida, mas apenas uma "recompensa" final decide se a sequência está correta ou não. Usando o aprendizado por imitação, eles transformam um problema clássico de aprendizado por reforço em um problema de aprendizado supervisionado, no qual o erro é calculado à distância até uma trajetória observada.

Como é o caso de qualquer configuração de treinamento supervisionado, a tarefa em questão é completamente definida pela função de perda, que visa quantificar a que distância o agente estava do comportamento pretendido. Definir essa função geralmente é a etapa crítica, pois determina como os algoritmos de otimização atualizam os parâmetros do modelo. Esses algoritmos são importantes em termos de tempo de computação e geralmente requerem alguns ajustes para serem capazes de convergir, se é que existem. De fato, as soluções que minimizarão a função em uma dimensão muito alta residem em uma concha muito pequena do espaço de parâmetros, com uma pequena distância entre elas, assim que você se afasta desse pequeno domínio, a distância entre as soluções cresce rapidamente. Há muito trabalho muito interessante sobre esse assunto, feito entre outros pela incrível Jennifer Chayes, ela explica o assunto em uma entrevista muito interessante sobre o último episódio de Talking Machines.

Durante o treinamento das redes de políticas (toda a rede, capaz de decidir a partir de quais ações tomar), elas primeiro processam a trajetória de demonstração bem-sucedida. Nesta parte, eles estarão comparando duas abordagens, a clonagem comportamental clássica (não exatamente certa da implementação que eles usaram) e os algoritmos DAGGER. Isso permitirá a minimização iterativa da função de perda através da perda de l2 ou de entropia cruzada, com base no fato de as ações serem contínuas ou discretas (com base nas distribuições de eventos na sequência). Em todas as experiências, eles usaram o algoritmo Adamax para realizar a otimização com uma taxa de aprendizado de 0,001.

O tamanho da etapa começa pequeno e decai exponencialmente.

O algoritmo em si não permite transferência; é como você constrói seu conjunto de treinamento e sua função de perda que permitirá a transferência.

Existem dois tipos de transferência nas tarefas. O primeiro tipo é chamado de "colmatar a lacuna da realidade", é uma generalização no aprendizado, permitindo a transferência entre o treinamento em entradas simuladas e os testes em estímulos naturais. Os dados da simulação costumam ser uma aproximação empobrecida do mundo real, perfeita demais, sem a complexidade do objeto real. No mundo real, a câmera pode estar com defeito e mais barulhenta, o controle do motor será menos preciso, as cores mudarão, as texturas serão mais ricas etc. Para permitir essa primeira transferência, eles usam um método a que se referem como "randomização de domínio" : é adicionando ruído às entradas que a rede pode aprender a estrutura relevante comum que permitirá generalizar adequadamente para o mundo real. Por exemplo, eles alteram o ângulo da câmera entre exemplos de treinamento, alteram as texturas ou tornam as trajetórias menos perfeitas. Ao adicionar ruído durante o treinamento, adicionamos robustez.

A segunda transferência testada aqui é a capacidade de produzir uma sequência motora relevante em um conjunto de configuração e objetivo nunca antes visto, com base em uma única demonstração iniciada em outra configuração inicial, mas com um objetivo final semelhante. Novamente aqui, a transferência será possível pela forma como construímos o conjunto de treinamento e modelamos a função de perda. Apresentando demonstrações durante o treinamento que não partem da mesma condição inicial para atingir uma meta semelhante, você permite que a rede aprenda a incorporar uma representação de nível superior da meta sem usar posições absolutas, bem como uma representação de ordem superior de a sequência motora que não é uma simples imitação. A arquitetura inicial ingênua permite que o treinamento modifique a estrutura de maneira relevante, e essa estrutura treinada implica a função final.

Objetivos

Para o paradigma de empilhamento de blocos, eles tinham várias restrições que queriam que seu agente de aprendizado cumprisse.

Deve ser fácil aplicar-se a instâncias de tarefas com número variável de blocos.
Naturalmente, deve generalizar para diferentes permutações da mesma tarefa. Por exemplo, a política deve ter bom desempenho na tarefa {dcba}, mesmo se for treinada apenas na tarefa {abcd}.
Deve acomodar demonstrações de comprimentos variáveis.

Eles tinham várias perguntas que queriam responder para esta tarefa.

Como o treinamento com clonagem comportamental se compara ao DAGGER, considerando que dados suficientes podem ser coletados offline?
Como o condicionamento em toda a demonstração se compara ao condicionamento na configuração final desejada, mesmo quando a configuração final possui informações suficientes para especificar completamente a tarefa?
Como o condicionamento em toda a demonstração se compara ao condicionamento em um "instantâneo" da trajetória, que é um pequeno subconjunto de quadros mais informativos
Nossa estrutura pode generalizar com êxito para tipos de tarefas que nunca foram vistas durante o treinamento? (++)
Quais são as limitações atuais do método?

Arquitetura

Alcance de partículas

Para este primeiro exemplo, eles compararam três arquiteturas, todas baseadas em redes neurais de memória de longo prazo (LSTM). Uma descrição dessas redes será publicada em um post futuro sobre memória e atenção, assuntos absolutamente fascinantes nas ciências cognitivas e computacionais. Em essência, um LSTM alimenta saídas de rede anteriores (no tempo) como parte da entrada da rede a cada novo ponto no tempo, permitindo que informações de estados passados ​​informem o presente (daí o nome de redes de memória de curto prazo). Eles estão na raiz de muitas tecnologias de ponta que lidam com séries temporais (Alexa, Siri etc.).

Aqui eles usam essas três condições específicas:

  1. LSTM simples: aprende a incorporar a trajetória e o estado atual para alimentá-lo com um perceptron multicamada que produzirá a ação motora
  2. LSTM com atenção: produza uma representação ponderada sobre os pontos de referência da trajetória
  3. Estado final com atenção: use no treinamento apenas o estado final para produzir uma ponderação sobre pontos de referência, semelhante à arquitetura anterior

Empilhamento de blocos

Embora, em princípio, uma rede neural genérica possa aprender o mapeamento da demonstração e observação atual para a ação apropriada, achamos importante usar uma arquitetura apropriada. Nossa arquitetura para o aprendizado do empilhamento de blocos é uma das principais contribuições deste artigo e acreditamos que é representativo de como as arquiteturas para o aprendizado instantâneo de imitações de tarefas mais complexas podem parecer no futuro.

Módulos de atenção

O artigo permanece relativamente alto ao descrever a estrutura das redes usadas para aprender a tarefa. Um ingrediente-chave da arquitetura é seu módulo de atenção, mas acredito que esse assunto precisa de um post específico para aprofundar seu papel essencial. Por analogia ao conceito da ciência cognitiva de atenção sustentada, os módulos de atenção são usados ​​para manter e focar em informações relevantes contidas em diferentes extensões de espaço e tempo. Produz uma saída de tamanho fixo que contém uma incorporação de um conteúdo de informação que foi estendido no tempo e no espaço. Por analogia à topologia, um ramo da matemática que acredito que informará muito como entendemos as representações distribuídas no futuro, uma rede de atenção realiza um isomorfismo topológico da informação, mesma curvatura, forma diferente. Observe que essas redes não desempenham um papel de detector de saliência capaz de focar em eventos inesperados ou raros, que é uma função associada à noção de atenção em neurociência.

Aqui eles usam dois tipos de rede de atenção: a) uma rede de atenção temporal que produz uma soma ponderada sobre o conteúdo (consulta, vetores de contexto e memória) armazenados na memória eb) uma rede de atenção vizinhança que é capaz de recuperar informações relativas ao bloco posições, dependendo da consulta atual do agente.

Rede de atenção temporal, com c: vetor de contexto, m: vetor de memória, q: vetor de consulta, v: peso do vetor aprendido. A saída é do mesmo tamanho que o vetor de memória. É uma combinação linear desses vetores que permite que alguns vetores de memória tenham mais impacto na saída com base nos vetores de contexto e de consulta.A mesma idéia aqui, a competição entre informações espaciais é mantida dinamicamente pelo sistema de atenção.

A rede de políticas

A rede completa é composta por três sub-redes diferentes: a rede de demonstração, a rede de contexto e a rede de manipulação.

A rede de demonstração recebe uma trajetória de demonstração como entrada e produz uma incorporação da demonstração a ser usada pela política. O tamanho dessa incorporação cresce linearmente em função da duração da demonstração e do número de blocos no ambiente.

Como mostrado aqui, a rede de demonstração é capaz de incorporar demonstrações de complexidade e tamanho variados em um formato comum que será usado pela rede de contexto para representar a tarefa. Provavelmente já é nesse nível que a generalização ocorre, a incorporação da demonstração deve deixar de fora informações sobre a trajetória exata e as posições absolutas do cubo vistas durante as demonstrações.

Observando a estrutura da rede de contexto, embora de um nível muito alto, vemos a interface com a rede de demonstração alimentando a incorporação da demonstração nos módulos centrais de atenção temporal. Também vemos que as ações anteriores (LSTM) e o estado atual são alimentados como entrada concatenada com a incorporação de demonstração para produzir uma incorporação de contexto global enviada à rede de motores.

Sua descrição da função de redes é, na minha opinião, a parte mais importante do artigo:

A rede de contexto começa computando um vetor de consulta em função do estado atual, que é usado para atender as diferentes etapas de tempo na incorporação de demonstração. Os pesos de atenção sobre diferentes blocos no mesmo intervalo de tempo são somados, para produzir um único peso por intervalo de tempo. O resultado dessa atenção temporal é um vetor cujo tamanho é proporcional ao número de blocos no ambiente. Em seguida, aplicamos a atenção da vizinhança para propagar as informações entre os embeddings de cada bloco. Esse processo é repetido várias vezes, em que o estado é avançado usando uma célula LSTM com pesos desatados.
A sequência anterior de operações produz uma incorporação cujo tamanho é independente da duração da demonstração, mas ainda depende do número de blocos. Em seguida, aplicamos atenção padrão para produzir vetores de dimensões fixas, onde o conteúdo da memória consiste apenas em posições de cada bloco, que, juntamente com o estado do robô, formam a entrada passada para a rede de manipulação.
Intuitivamente, embora o número de objetos no ambiente possa variar, em cada estágio da operação de manipulação, o número de objetos relevantes é pequeno e geralmente fixo. Para o ambiente de empilhamento de blocos especificamente, o robô deve prestar atenção apenas à posição do bloco que está tentando pegar (o bloco de origem), bem como à posição do bloco que está tentando colocar em cima de ( o bloco alvo). Portanto, uma rede adequadamente treinada pode aprender a combinar o estado atual com o estágio correspondente na demonstração e inferir as identidades dos blocos de origem e de destino expressos como pesos de atenção moderada sobre blocos diferentes, que são usados ​​para extrair as posições correspondentes para ser passado para a rede de manipulação.

A maneira como eles terminam sua descrição é um exemplo perfeito da tendência atual da pesquisa em IA, de uma abordagem de sistema especialista para uma abordagem de sistema de aprendizagem, e também sugere a discussão sobre como o cérebro evoluiu abaixo.

Embora não imponhamos essa interpretação no treinamento, nossa análise de experimentos apóia essa interpretação de como a política aprendida funciona internamente.

Eles não sabem como isso funciona! Eles constroem uma estrutura capaz de executar certos cálculos e armazenar certas informações que julgamos úteis a priori, e alimentam um conjunto de treinamento esperando que toda a estrutura aprenda! Existe um tipo de vodu de pesquisa em Inteligência Artificial em ascensão, uma arte, uma maneira de direcionar a pesquisa heurística na direção certa. E parece que muitos desses mágicos estão trabalhando para a openAI.

Em suas próprias palavras, a rede de manipulação é a estrutura mais simples; desde a incorporação de contexto alimentada ao perceptron de várias camadas, uma ação motora é produzida.

Resultados

Os resultados costumam ser uma parte da qual tenho pouco interesse, especialmente para esse tipo de trabalho técnico incrivelmente brilhante. Eu irei rápido, considerando que essa abordagem funciona, ela executa com uma precisão semelhante às políticas de especialistas codificadas e, ao contrário da abordagem processual específica, é generalizável para uma grande variedade de tarefas.

Alcance de partículas

Empilhamento de blocos

Nessas experiências, eles também testaram diferentes condições. Usando o DAGGER, eles compararam três condições de entrada diferentes ao reduzir a amostragem da trajetória demonstrada: trajetórias completas, instantâneo da trajetória ou apenas usando o estado final. Eles também compararam o algoritmo de Clonagem Comportamental com a trajetória completa da demonstração.

Uma forte evidência da capacidade do sistema de generalizar sobre a identidade do cubo

Discussão

Lendo os rápidos avanços feitos pela OpenAI nos últimos meses, sinto um desejo crescente de falar sobre o trabalho deles e compartilhar meus pensamentos sobre o que acredito no trabalho deles, e os avanços do campo da IA ​​como um todo, informam nossa compreensão de como cérebros biológicos funcionam. Em particular, essa crescente idéia de que as funções cognitivas aparentemente compartilhadas entre os seres humanos não se deve tanto a uma estrutura compartilhada que sabe como executar uma tarefa, mas, em vez disso, é o resultado de estruturas ingênuas relativamente semelhantes que, confrontadas com o mesmo ambiente, Aprenda a executar tarefas semelhantes. A função é o resultado de uma estrutura sem função que só é capaz de aprender uma tarefa específica por causa de um ambiente específico, e não de uma estrutura capaz de executar a tarefa nativamente, simplesmente ajustando alguns parâmetros para se adaptar ao ambiente.

Tarefas versus configurações: uma definição aparentemente arbitrária

Devo admitir que não entendo por que eles escolheram falar sobre tarefas diferentes da maneira que faziam. Uma tarefa é definida no experimento de empilhamento de blocos como um conjunto de cadeias que representam a posição dos blocos entre si, o número de elementos no conjunto define o número de pilhas e o número de caracteres o número de blocos que precisa ser organizado . Uma tarefa, então, é um arranjo de blocos nas pilhas, independentemente da posição absoluta da pilha.

Alguns blocos podem estar na mesa, mas não fazem parte da tarefa

Sua escolha de definir a posição relativa e o número de pilhas como critérios para tarefas separadas parece arbitrária. De fato, também poderia fazer sentido falar sobre tarefas diferentes com base nas posições iniciais absolutas dos blocos (o que eles chamam de configuração). Acredito que a natureza comum do problema é evidente para eles, mas, para fins de clareza, eles preferem não entrar em detalhes. Faz mais sentido enquadrar o aprendizado de políticas como dois tipos de generalizações, da maneira que eles fazem mais tarde:

Observe que a generalização é avaliada em vários níveis: a política aprendida não apenas precisa generalizar para novas configurações e novas demonstrações de tarefas já vistas, mas também para generalizar para novas tarefas.

Apenas substitua "tarefas" por "ordenação de pilhas". Aprender corretamente a tarefa significa que o agente aprende uma incorporação capaz de abstrair a posição dos cubos (configuração), mas também sua identidade (tarefa), o número de pilhas (tarefa) e a trajetória da demonstração (introduzida brevemente em a citação) para produzir uma resposta motora relevante.

Essas generalizações parecem contraditórias, como a mesma rede pode abstrair a configuração inicial do cubo ou sua identidade e, ainda assim, recuperar sua posição absoluta para a resposta motora?

Isso explica a necessidade de diferentes sub-redes cooperativas durante o aprendizado, recebendo entradas diferentes, e explica que na rede de contexto uma representação abstrata da tarefa é alimentada com informações de ordem inferior, como posições absolutas de cubos, antes do comando descendente.

Você pode pensar que comentar sobre essa distinção de tarefa e configuração é tolo, mas é essencial entender que é essencialmente o mesmo processo de abstração em jogo em objetos diferentes (e isso abre para a seção a seguir).

Não há aprendizado sem invariância

A transferência de aprendizado é talvez o conceito mais fascinante de cognição, seja in silico ou in vivo, é um tópico muito quente tanto para pesquisadores de IA quanto para neurocientistas, e é o assunto de minha tese de doutorado. Observe que conceitos intimamente relacionados foram explorados em muitos campos antes do aprendizado de máquina, e esse conceito abstrato e sempre parcialmente definido tem muitos nomes. Filósofos, antropólogos e sociólogos podem se referir a ele como (pós-) estruturalismo (Claude Levi-Strauss, Michel Foucault), o linguista falará sobre estruturas de sintagma e árvores aninhadas (Noam Chomsky), os matemáticos provavelmente pensarão em homeomorfismo ou invariantes e educação pesquisadores ou neurocientistas podem se referir a ele como Aprendizado Estrutural. Você também pode ver conceitos relacionados no campo de aprendizado de máquina, como aprendizado de representação e meta-aprendizado, que, dependendo do autor, podem se referir ao aprendizado de transferência ou ao paradigma de aprendizado usado para realizar o aprendizado de transferência. Quando se fala em Redes Neurais Profundas, essas diferenças são embaçadas, pois, em essência, uma rede Neural está aprendendo a incorporar um certo problema (aprendizado de representação) modificando sua estrutura (meta-aprendizado) geralmente em um ambiente barulhento que implica uma forma de transferência de aprendizado.

Pesquisadores de IA e Cognitive Scientist geralmente têm uma definição muito concreta de aprendizado de transferência; é o processo que permite que um sistema use o conhecimento adquirido em uma determinada tarefa para executar outra tarefa compartilhando uma estrutura composicional comum (conforme descrito no artigo). A ciência cognitiva tem essa noção de transferência próxima e distante, dependendo de como as duas tarefas parecem diferir. Mas, de uma perspectiva mais abstrata, em um ambiente barulhento e complexo, todo aprendizado é uma forma de aprendizado de transferência e a diferença entre transferências muito próximas e muito distantes é apenas uma questão de informações compartilhadas - novamente uma questão de escala e não da natureza.

Em um ambiente controlado, esforços são feitos antecipadamente para construir uma discretização codificada da realidade, mas na verdade essa discretização reproduz processualmente o que a transferência de aprendizado faz, une um conjunto infinito de estados encontrados na realidade sob uma estrutura comum. Em essência, o Transfer Learning refere-se diretamente ou por extensão ao processo pelo qual os agentes de aprendizado usam invariantes para construir modelos do mundo. É um processo que utiliza semelhanças, repetições e variações dos mesmos, para formar uma representação cada vez mais abstrata e composta que estruturará os conjuntos ao longo do intervalo de variação da entrada. Em um sentido geral, permite criar as operações básicas através das quais manipulamos grupos de informações, assim como na matemática, permite união e interseções. Permite identidades, explica nossa capacidade de categorizar objetos. Josh Tenembaum dá um exemplo que realmente me falou: imagine que você está ensinando uma criança de dois anos a reconhecer um cavalo pela primeira vez, você mostra a ele duas fotos de cavalos diferentes e depois mostra a foto de outro cavalo e a foto de uma casa e peça que ele lhe diga qual é o cavalo. Uma criança fará essa tarefa com bastante facilidade, mas ainda é algo que um computador não pode fazer bem com tão poucas entradas (aprendizado único).

Como a criança fez isso?

O reconhecimento de animais foi estudado em crianças e se relaciona com a nossa capacidade de desconstruir objetos em partes relevantes, a faixa de cores do pêlo, o tamanho do pescoço, a forma geral, etc. Essa capacidade também é o que permite abrir uma porta. nunca visto antes, você aprendeu uma sequência motora que generaliza para qualquer situação (generalização de domínio). Também é o que você usa para criar modelos explicativos que simplificam o mundo. Você pode realmente se surpreender inicialmente pela aparição repentina de um cuco em um famoso relógio suíço, mas após a segunda aparição, você o espera. Encontrar invariância é como uma rede neural aprende e esses modelos são construídos inconscientemente. Um exemplo é como aprendemos intuitivamente sobre física antes mesmo de ouvir falar de matemática e números.

Pode-se perguntar, por exemplo, com que rapidez uma criança nascida em microgravidade se adaptaria à gravidade da Terra e aprenderia intuitivamente que os objetos cairão no chão quando forem jogados?

Podemos supor que bebês e a maioria dos animais revisem seu modelo inconscientemente, como quando você coloca meias nas patas de um cachorro e leva algum tempo para se adaptar às novas informações.

Mas para uma criança pequena, um interrogatório consciente e uma revisão de seu modelo intuitivo ocorrerão, a partir da curiosidade, através da linguagem, símbolos e crenças. Nossa capacidade de interrogar e mudar conscientemente nossos modelos é fascinante e, como nota de rodapé, os seres humanos podem ser as únicas espécies capazes de verbalizar o processo, mas outras espécies podem executar revisões conscientes semelhantes.

A invariância é uma propriedade obrigatória do tempo, se tudo fosse sempre novo e de maneira alguma previsível, ainda assim permaneceria essa invariância única de que tudo é sempre novo e imprevisível. É impossível imaginar um mundo sem invariância, uma vez que não poderia haver um mundo a que se referir, sem invariância a vida seria impossível e nosso cérebro inútil. A vida é uma máquina que funciona apenas pela repetição previsível de eventos, repetição de causas e efeitos, da reintrodução cíclica de energia no organismo. E na busca da Life para melhorar o uso desses ciclos necessários, nosso cérebro é a ferramenta definitiva. É uma máquina de previsão, um órgão adaptativo capaz de encontrar repetições dinamicamente e usá-las para interagir melhor com o mundo.

Esse método escolhido pela vida é extremamente robusto para pequenas mudanças na estrutura. O que permanece o mesmo é o mundo, as propriedades estatísticas do ambiente, mas a estrutura neural que o encontra pode variar desde que possa incorporar as informações relevantes que evoluiu para tratar. Isso explica por que nossos cérebros podem ser tão diferentes de indivíduo para indivíduo, até córtices primários, e ainda assim compartilhar as mesmas funções.

Os sistemas nervosos são adaptativos, não precisam de evolução e retardam mutações genéticas para alterar o comportamento de maneiras relevantes. Um sistema nervoso simples, como o encontrado em C. Elegans, serve como coordenador interno inato e sensor externo: sinta a comida e vá em direção a ela, fuja da dor, se reproduza. Esses sistemas simples eram inicialmente rígidos e realizavam uma aproximação extrema do nosso mundo altamente barulhento, a fim de discretizá-lo em um pequeno conjunto de estados possíveis (comida à esquerda, calor abaixo etc.). Nossas habilidades motoras e sensoriais evoluíram de mãos dadas com nossas capacidades preditivas do sistema nervoso. À medida que nossos sensores se tornaram mais precisos, o sistema nervoso se tornou lentamente capaz de modificar sua estrutura para armazenar informações e aprender com a experiência. Inicialmente, tornou-se capaz de aprender a reconhecer certas categorias de entradas, como tipos de cheiros ou padrões de luz, e também aprendeu, por tentativa e erro, a controlar seu sistema motor cada vez mais complexo. Observe que o mundo é tão complexo que nosso cérebro evoluiu naturalmente em direção a um paradigma de aprendizado, em vez de uma abordagem processual inata. Computacionalmente, isso faz todo sentido, um jogo simples de Go tem um espaço de estados muito maior (2,10¹⁷⁰) que o número de átomos no universo (10⁸⁰), e à medida que os organismos se tornam mais complexos, tentando codificar aproximações de todo o possível afirma que poderia estar rapidamente se torna intratável devido à explosão combinatória.

Algumas pessoas podem acreditar que nosso cérebro é construído de tal maneira que representa inicamente o espaço em que ele evoluirá, que no DNA em algum lugar existe um gene para o que constitui um rosto, ou a organização temporal das ondas sonoras que produzem palavras. Eles podem acreditar que esse conhecimento inato é codificado no nascimento em algum lugar. Outros podem acreditar, como meu professor de filosofia, quando eu estava no ensino médio, que a existência precede a essência e que nosso cérebro é total e exclusivamente definido pelo encontro do organismo e do mundo. A realidade é, obviamente, mais complexa e, para a maioria dos sistemas telencefálicos estudados até agora, o cérebro não codifica de forma inata a função que desempenhará, mas a aprenderá, dependendo das informações contidas em suas entradas. Se a entrada é muito pobre em informações relevantes, a capacidade de aprender nessas estruturas pode ter uma data de validade (por exemplo, Ambliopia). Mas se a estrutura inata não codifica a função final, o cérebro tem uma estrutura específica. Essa estrutura é preservada entre os indivíduos, e indivíduos da mesma espécie compartilham funções e impulsos comuns. O DNA cria uma certa estrutura, uma estrutura que não é capaz de desempenhar sua função final de forma inata, mas uma estrutura capaz de aprender a complexidade de tarefas específicas com base na experiência individual. Não é de surpreender que a evolução tenha levado à aparição de uma barreira hematoencefálica altamente eficaz que isola o cérebro do resto do corpo, bem como das meninges e da concha óssea que o protege do mundo exterior, porque, diferentemente de outros órgãos em que Como a estrutura é codificada no genoma, a estrutura de um cérebro treinado não pode ser regenerada a partir de um modelo armazenado inatamente. O que é fascinante é que vemos os mesmos mecanismos de aprendizado surgindo por analogia através do desenvolvimento de redes profundas cada vez mais complexas, executando tarefas cada vez mais complexas.

Estruturas composicionais são difíceis de ver, mas em todos os lugares

Como nota de rodapé, é estranho que mesmo os autores não reconheçam que sua primeira tarefa de atingir metas tem uma estrutura composicional.

As tarefas de alcance de partículas demonstram bem os desafios da generalização em um cenário simplista. No entanto, as tarefas não compartilham uma estrutura composicional, tornando desafiadora a avaliação da generalização para novas tarefas.

Embora a estrutura seja de fato um nível mais baixo do que o empilhamento de blocos e não seja facilmente acessível para manipulação experimental, a tarefa é de fato composta de estrutura compartilhada. Aproximando o mundo a um plano, uma estrutura composicional é que a identidade do cubo (cor) é preservada com translação e vai do bloco A - ou uma posição inicial aleatória - na posição (Xa1, Ya1) ao bloco B na posição (Xb1, Yb2 ) faz parte da mesma estrutura composicional de ordem superior do que ir do bloco A na posição (Xa2, Ya2) para o bloco B na posição (Xb2, Yb2).

Interfaces entre redes

A criação de redes neurais capazes de tratar entradas em diferentes níveis de abstração precisará de interfaces, um domínio que acredito que ainda resta muito a descobrir. Essas interfaces podem ser de natureza numerosa. Eles podem ser vistos, por exemplo, como um idioma comum entre duas redes, como demonstrado no artigo, uma rede de nível inferior armada com um sistema de atenção (rede de demonstração) pode traduzir uma demonstração em uma representação que outra rede (a rede de contexto) pode usar direcionar a ação, independentemente da duração ou configuração inicial da demonstração.

A superfície dessa linguagem é aqui um plano, de tamanho fixo, mas podemos imaginar possíveis alterações que poderiam melhorar as comunicações entre a rede. Por exemplo, o tamanho da superfície pode ser definido para aumentar ou diminuir dinamicamente à medida que as redes interagem durante o aprendizado, comprimindo ou estendendo a complexidade do idioma. Também poderíamos imaginar interações mais dinâmicas, por meio de feedback, por exemplo. Poderíamos imaginar a existência de redes facilitadoras que aprenderiam a suavizar a comunicação entre redes, existindo como uma rede paralela que aprendesse a modular a entrada da primeira rede com base na entrada e na saída da segunda rede. Poderíamos imaginar redes de contexto complexas que atuam como influxo tônico (variação lenta) para várias redes mais especializadas ... Fascinante área futura de pesquisa!

Os casos de falhas sugerem os possíveis papéis que os novos módulos podem ter

É importante notar que os erros geralmente são devidos a erros motores e que o número de erros aumenta com a complexidade da tarefa.

A função motora não deve ser deteriorada apenas pelo aumento do número de alvos, é uma forte evidência de que a maneira como a rede de reprodução aprende a conversar com a rede de motores é muito abstrata. É estranho, porque eles dizem que o teste mostra que a interface entre a rede de contexto e a rede de motores é relativamente concreta (posição do robô, posição do alvo).

A solução possível poderia ser, já que essa é uma arquitetura modular, usar diferentes funções de perda ou funções de perda modular que representam cada um dos aspectos específicos da tarefa. Também seria ajudado por um equivalente das áreas pré-motoras do cérebro para garantir que a demonstração e a rede de contexto permaneçam abstratas sem deteriorar o comando motor. As regiões pré-motoras são necessárias para melhor localizar objetos com base no objetivo (das redes abstratas) e nas entradas sensoriais, a fim de selecionar o melhor comando motor. Parece que a rede de contexto está tentando transferir a demonstração para um nível mais alto de incorporação e preparar a ação motora ao mesmo tempo em um contexto atual. O papel de uma rede pré-motora seria aprender a se comunicar com o sistema motor de maneira adaptativa e orientada a objetivos, combinando as funções do pré-motor e do cerebelo para aprendizado motor e adaptação rápida.

Existe uma teoria interessante, o paradoxo de Moravec, que prevê que não haverá uma cognição de nível superior que tributará computacionalmente, mas o tratamento de entradas sensoriais e saídas de sistemas motores. De fato, isso poderia explicar a grande quantidade de neurônios presentes no cerebelo (mais do que no restante do cérebro) para controlar adaptativamente a ação motora. Esse paradoxo foi formulado em uma época (anos 80) em que ainda acreditávamos que poderíamos incorporar nosso próprio conhecimento em uma máquina para executar tarefas complexas em ambientes ruidosos e descontrolados. É claro que esse paradoxo faz sentido se, de alguma forma, a máquina for capaz de representar o mundo em um conjunto discreto de estados, criar uma função de nível superior seria mais fácil. Mas acredito que ambos serão extremamente exigentes, e a representação interna usada na interface entre redes estará longe de qualquer coisa que se pareça com nossas próprias representações conscientes.

Conclusão

Ao combinar redes neurais diferentes, cada uma responsável por um tratamento específico do problema, este artigo mostra que, ao criar uma tarefa que precisa inerentemente de generalização e construir um ambiente de aprendizado apropriado por meio da randomização de domínio, uma rede neural com acesso a uma memória e um sistema de atenção pode aprender a generalizar além da simples reprodução. Ele pode aprender a descobrir um objetivo de ordem superior que foi demonstrado apenas uma vez em um fluxo visual de informações e executa a computação em um espaço generalizado para recuperar as ações apropriadas capazes de reproduzir esse objetivo em um contexto diferente.

No futuro, veremos uma complexidade crescente de estruturas construídas sobre os blocos de construção atômicos capazes de aprender a generalizar tarefas complexas, mas mais importante ainda, executar várias dessas tarefas, em novos ambientes, com menos dependência de métodos codificados como pré-processamento de entradas ou armazenamento de memória. O armazenamento de memória será substituído por representações distribuídas em uma rede de memória, os sistemas atencionais serão substituídos por atividade cíclica em redes atencionais em tempo real. A questão permanece como seremos capazes de adaptar uma forte tecnologia serial (máquinas de Turing) à nossa crescente confiança na computação distribuída no sistema incorporado.