Desenvolvimento

19 abr, 2018

Plasticidade Diferenciável: um novo método para aprender a aprender

Publicidade

As redes neurais, que são a base de muitos dos sistemas de aprendizagem de máquina da Uber, provaram ser altamente bem-sucedidas na resolução de problemas complexos, incluindo reconhecimento de imagem, compreensão da linguagem e reprodução de jogos.

No entanto, essas redes geralmente são treinadas para um ponto de parada por meio de uma descida gradiente, que ajusta incrementalmente as conexões da rede com base em seu desempenho ao longo de várias tentativas.

Quando o treinamento estiver concluído, a rede é fixa e as conexões não podem mais ser alteradas; como resultado, salvo qualquer re-treinamento posterior (novamente exigindo muitos exemplos), a rede efetivamente interrompe o aprendizado no momento em que o treinamento termina.

Em contraste, os cérebros biológicos exibem plasticidade – isto é, a capacidade das conexões entre os neurônios mudarem contínua e automaticamente ao longo da vida, permitindo que os animais aprendam rápida e eficientemente a partir da experiência contínua. Os níveis de plasticidade de diferentes áreas e conexões no cérebro são o resultado de milhões de anos de ajustes finos pela evolução para permitir um aprendizado eficiente durante a vida do animal.

A capacidade resultante de aprender continuamente ao longo da vida, permite que os animais se adaptem a ambientes variáveis ​​ou imprevisíveis, com poucos dados adicionais. Podemos rapidamente memorizar padrões que nunca vimos antes ou aprender novos comportamentos a partir de apenas algumas tentativas em situações inteiramente novas.

Para dar aos nossos agentes artificiais habilidades similares, a Uber AI Labs desenvolveu um novo método chamado plasticidade diferenciável que nos permite treinar o comportamento de conexões plásticas através de gradiente descendente para que eles possam ajudar redes previamente treinadas a se adaptarem a condições futuras.

Embora a evolução dessas redes neurais plásticas seja uma área de longa data de pesquisa em computação evolucionária, até onde sabemos, o trabalho aqui apresentado é o primeiro a mostrar que é possível otimizar a própria plasticidade por meio de gradiente descendente.

Como os métodos baseados em gradiente estão subjacentes a muitas das recentes e espetaculares descobertas da inteligência artificial (incluindo reconhecimento de imagem, tradução automática, videogames Atari e Go playing), tornar as redes plásticas passíveis de treinamento em gradiente descendente pode aumentar drasticamente o poder de ambas as abordagens.

Como funciona a plasticidade diferenciável

Em nosso método, cada conexão recebe um peso inicial, bem como um coeficiente que determina o quão plástica é a conexão. Mais precisamente, a ativação yi do neurônio i é calculada da seguinte forma:

A primeira equação é uma função de ativação típica para unidades de rede neural, exceto que os pesos de entrada possuem um componente fixo (verde) e um componente de plástico (vermelho). O termo Hij no componente plástico é automaticamente atualizado como uma função de entradas e saídas contínuas (como especificado na segunda equação – note que outras formulações são possíveis, como discutido no artigo).

Durante um período de treinamento inicial, o gradiente descendente ajusta os parâmetros estruturais wij e αij, que determinam o tamanho dos componentes fixos e plásticos. Como resultado, após esse treinamento inicial, o agente pode aprender automaticamente a partir da experiência em andamento, porque o componente plástico de cada conexão é adequadamente moldado pela atividade neural para armazenar informações, lembrando algumas formas de aprendizado em animais (incluindo seres humanos).

Demonstrando plasticidade diferenciável

Para demonstrar o potencial da plasticidade diferenciável, a aplicamos em várias tarefas desafiadoras que exigem aprendizado rápido de estímulos imprevisíveis.

Em uma tarefa de reconstrução de imagem (Figura 1), uma rede memoriza um conjunto de imagens naturais nunca vistas antes; então, uma dessas imagens é mostrada, mas com metade dela apagada, e a rede deve reconstruir a metade ausente partindo da memória. Mostramos que a plasticidade diferenciável pode efetivamente treinar grandes redes, com milhões de parâmetros para resolver essa tarefa.

É importante ressaltar que as redes tradicionais com conexões não plásticas (incluindo arquiteturas recorrentes de última geração, como as LSTMs) não podem resolver essa tarefa e levam consideravelmente mais tempo para aprender uma versão massivamente simplificada dela.

Uma tarefa de conclusão de imagem (cada linha indica um episódio separado). Depois de mostrar três imagens, a rede recebe uma imagem parcial e deve reconstruir a parte ausente da memória. Redes não plásticas (incluindo LSTMs) não podem resolver esta tarefa. Imagens de origem do conjunto de dados CIFAR10.

Também treinamos redes de plástico para resolver a tarefa Omniglot (uma tarefa padrão de “aprender a aprender”), que requer aprender a reconhecer um conjunto de novos símbolos manuscritos de uma única demonstração de cada um.

Além disso, o método também pode ser aplicado a problemas de aprendizagem de reforço: redes de plástico superam as não-plásticas em uma tarefa de exploração de labirinto em que o agente deve descobrir, memorizar e alcançar repetidamente a localização de uma recompensa dentro de um labirinto (Figura 2).

Dessa forma, a simples ideia de adicionar coeficientes de plasticidade às redes neurais oferece uma abordagem genuinamente nova – às vezes a melhor disponível – para resolver uma ampla gama de problemas que exigem aprendizado contínuo da experiência contínua.

Uma tarefa de exploração de labirinto. O agente (quadrado amarelo) é recompensado por atingir o local de recompensa (quadrado verde) tantas vezes quanto possível (o agente é teletransportado para um local aleatório a cada vez que encontra a recompensa). No episódio 1 (de cima), o comportamento do agente é essencialmente aleatório. Após 300.000 episódios (de baixo), o agente aprendeu a memorizar o local da recompensa e a navegar em direção a ele.

Ansioso para saber mais

Com efeito, a plasticidade diferenciável oferece uma nova abordagem biologicamente inspirada ao problema clássico de “Aprendendo a Aprender” ou “meta-aprendizado”. A abordagem também é altamente flexível, proporcionando uma queda gradiente com um bloco de construção elementar (a conexão plástica) que pode aproveitar de várias formas poderosas, conforme demonstrado nas diversas tarefas descritas acima.

Além disso, abre as portas para múltiplas novas trajetórias de pesquisa. Por exemplo, podemos melhorar as arquiteturas de rede complexas existentes, como as LSTMs, tornando suas conexões plásticas? E se a plasticidade das conexões estivesse sob o controle da própria rede, como parece estar nos cérebros biológicos através da influência dos neuromoduladores?

A plasticidade pode oferecer uma forma mais eficiente de memória do que apenas a recorrência (note que a recorrência armazena as informações recebidas na atividade neural, enquanto a plasticidade as armazena em conexões, que são muito mais numerosas)?

Pretendemos investigar estas e outras questões interessantes em nosso trabalho futuro em plasticidade diferenciável e esperamos que outros se juntem a nós nessa exploração. Para incentivar a pesquisa sobre essa nova abordagem, lançamos o código para os experimentos descritos acima no GitHub, juntamente com um artigo descrevendo nossos métodos e resultados.

Para ser notificado sobre futuros artigos do Uber AI Labs, inscreva-se em nossa lista de mailing ou inscreva-se no canal do YouTube do Uber AI Labs. Se você estiver interessado em entrar para o Uber AI Labs, por favor, inscreva-se no Uber.ai.

Assine nossa newsletter para acompanhar as mais recentes inovações da Uber Engineering.

***

Este artigo é do Uber Engineering. Ele foi escrito por Thomas Miconi, Jeff Clune e Kenneth O. Stanley. A tradução foi feita pela Redação iMasters com autorização. Você pode conferir o original em: https://eng.uber.com/differentiable-plasticity/