Um contador de calorias faça você mesmo mais preciso do que um smartphone
Mesmo para Google , os desafios são assustadores. Alguns são difíceis, mas diretos: para a maioria dos aplicativos robóticos, é difícil reunir os enormes conjuntos de dados que impulsionaram o progresso em outras áreas da IA. Mas alguns problemas são mais profundos e estão relacionados a enigmas de longa data em IA. Problemas como, como você aprende uma nova tarefa sem esquecer a antiga? E como você cria uma IA que pode aplicar as habilidades que aprende para uma nova tarefa às tarefas que já dominou antes?
O sucesso significaria abrir a IA para novas categorias de aplicação. Muitas das coisas que mais desejamos que a IA faça – dirigir carros e caminhões, trabalhar em asilos, limpar desastres, realizar tarefas domésticas básicas, construir casas, semear, nutrir e colher colheitas – só poderiam ser realizadas por robôs que são muito mais sofisticados e versáteis do que os que temos agora.
Além de abrir mercados potencialmente enormes, o trabalho incide diretamente em questões de profunda importância não apenas para a robótica, mas para todos Pesquisa de IA e, de fato, para nossa compreensão de nossa própria inteligência.
Vamos começar com o problema prosaico primeiro. Uma rede neural é tão boa quanto a qualidade e a quantidade dos dados usados para treinar isto. A disponibilidade de enormes conjuntos de dados tem sido a chave para os sucessos recentes em IA: o software de reconhecimento de imagem é treinado em milhões de imagens rotuladas. AlphaGo , que derrotou um grande mestre no antigo jogo de tabuleiro Go, foi treinado em um conjunto de dados de centenas de milhares de jogos humanos e nos milhões de jogos que jogou contra si mesmo em simulação.
Para treinar um robô, porém, esses enormes conjuntos de dados não estão disponíveis. “Este é um problema”, observa Hadsell. Você pode simular milhares de jogos de Go em poucos minutos, rodando em paralelo em centenas de CPUs. Mas se leva 3 segundos para um robô pegar um copo, você só pode fazer isso 20 vezes por minuto por robô. Além do mais, se o seu sistema de reconhecimento de imagem errar no primeiro milhão de imagens, isso pode não importar muito. Mas se o seu robô bípede cair nas primeiras 1.000 vezes que tentar andar, então você terá um robô muito amassado, se não pior.
O problema dos dados do mundo real é – pelo menos por enquanto – intransponível. Mas isso não impede a DeepMind de reunir tudo o que pode, com robôs zumbindo constantemente em seus laboratórios. E em todo o campo, pesquisadores de robótica estão tentando contornar essa escassez de dados com uma técnica chamada sim-to-real.
O laboratório baseado em São Francisco OpenAI recentemente explorou essa estratégia no treinamento de uma mão de robô para resolver um cubo de Rubik. Os pesquisadores construíram um ambiente virtual contendo um cubo e um modelo virtual da mão do robô e treinaram a IA que executaria a mão na simulação. Em seguida, eles instalaram a IA na mão do robô real e deram a ela um cubo de Rubik real. Seu programa sim-to-real permitiu que o robô físico resolvesse o quebra-cabeça físico.
Rodney Brooks “gosta de dizer que a simulação está ‘fadada ao sucesso’. “O problema é que as simulações são muito perfeitas, muito distantes das complexidades do mundo real. “Imagine duas mãos de robôs em simulação, tentando montar um celular”, diz Hadsell. Se você permitir que eles tentem milhões de vezes, eles podem eventualmente descobrir isso jogando todas as peças no ar com exatamente a quantidade certa de força, com exatamente a quantidade certa de giro, que eles podem construir o celular em poucos segundos: As peças caem no lugar exatamente onde o o robô os quer, fazendo um telefone. Isso pode funcionar no ambiente perfeitamente previsível de uma simulação, mas nunca poderia funcionar em uma realidade complexa e confusa. Por enquanto, os pesquisadores precisam se contentar com esses simulacros imperfeitos. “Você pode adicionar ruído e aleatoriedade artificialmente”, explica Hadsell, “mas nenhuma simulação contemporânea é boa o suficiente para realmente recriar até mesmo uma pequena fatia da realidade.”
Esquecimento catastrófico: Quando uma IA aprende uma nova tarefa, tem uma tendência infeliz de esquecer todas as antigas.
Há mais problemas profundos. Aquele em que Hadsell está mais interessado é o do esquecimento catastrófico ): Quando um IA aprende uma nova tarefa, tem uma tendência infeliz de esquecer todas as antigas.
O problema não é falta de armazenamento de dados. É algo inerente à maneira como a maioria das IAs modernas aprende. Aprendizagem profunda, a categoria mais comum de inteligência artificial hoje, é baseada em redes neurais que usam nós computacionais semelhantes a neurônios, organizados em camadas, que são ligados entre si por conexões semelhantes a sinapses.
Antes de executar uma tarefa, como classificar uma imagem como a de um gato ou de um cachorro, o a rede neural deve ser treinada. A primeira camada de nós recebe uma imagem de entrada de um gato ou de um cachorro. Os nós detectam vários recursos da imagem e disparam ou ficam quietos, passando essas entradas para uma segunda camada de nós. Cada nó em cada camada será acionado se a entrada da camada anterior for alta o suficiente. Pode haver muitas dessas camadas e, no final, a última camada renderá um veredicto: “gato” ou “cachorro”.
Cada conexão tem um “peso” diferente. Por exemplo, o nó A e o nó B podem alimentar sua saída para o nó C. Dependendo de seus sinais, C pode disparar ou não. No entanto, a conexão AC pode ter um peso de 3, e a conexão BC, um peso de 5. Neste caso, B tem maior influência sobre C. Para dar um exemplo implausivelmente simplificado, A pode disparar se a criatura na imagem tiver dentes, enquanto B pode disparar se a criatura tiver um focinho comprido. Como o comprimento do focinho é mais útil do que a agudeza dos dentes para distinguir cães de gatos, C presta mais atenção a B do que a A.
Cada nó tem um limite sobre o qual disparará, enviando um sinal para suas próprias conexões downstream. Digamos que C tenha um limite de 7. Então, se apenas A disparar, ele permanecerá silencioso; se apenas B disparar, ficará quieto; mas se A e B dispararem juntos, seus sinais para C somarão 8 e C disparará, afetando a próxima camada.
O que tudo isso tem a ver com treinamento? Qualquer esquema de aprendizagem deve ser capaz de distinguir entre respostas corretas e incorretas e melhorar de acordo. Se for mostrada a uma rede neural a imagem de um cachorro e ela emitir “cachorro”, as conexões disparadas serão fortalecidas; aqueles que não o fizeram serão enfraquecidos. Se a saída incorreta for “cat”, o inverso acontecerá: as conexões que dispararam serão enfraquecidas; aqueles que não o fizeram serão fortalecidos.
Treinamento de uma rede neural para distinguir se uma fotografia é de um gato ou de um cachorro usa uma parte dos nós e conexões na rede . Usando uma técnica chamada consolidação elástica de peso, a rede pode então ser treinada em uma tarefa diferente, distinguindo imagens de carros de ônibus. As principais conexões da tarefa original são “congeladas” e novas conexões são estabelecidas [blue, at right]. Uma pequena fração das conexões congeladas, que seriam usadas para a segunda tarefa, estão indisponíveis [purple, right diagram]. Isso reduz ligeiramente desempenho na segunda tarefa.
Mas imagine que você pegue sua rede neural classificadora de cães e gatos e comece a treiná-la para distinguir um ônibus de um carro. Todo o treinamento anterior será inútil. Seus resultados em A resposta às imagens do veículo será aleatória no início. Mas, à medida que é treinado, ele vai reponderar suas conexões e gradualmente se tornar eficaz. Eventualmente, será capaz de classificar ônibus e carros com grande precisão. Mas, neste ponto, se você mostrar uma foto de um cachorro, todos os nós terão sido reponderados e ele terá “esquecido” tudo o que aprendeu anteriormente.
Este é um esquecimento catastrófico, e é uma grande parte da razão pela qual a programação redes neurais com inteligência flexível semelhante à humana são muito difíceis. “Um dos nossos exemplos clássicos foi treinar um agente para jogar
Esta fraqueza representa um grande obstáculo não apenas para máquinas construídas para ter sucesso em várias tarefas diferentes, mas também para qualquer Sistemas de IA que se destinam a se adaptar às mudanças nas circunstâncias do mundo ao seu redor, aprendendo novas estratégias conforme necessário.
Existem maneiras em torno do problema. Um método óbvio é simplesmente isolar cada habilidade. Treine sua rede neural em uma tarefa, salve os pesos de sua rede no armazenamento de dados e, em seguida, treine-a em uma nova tarefa, economizando esses pesos em outro lugar. Então, o sistema precisa apenas reconhecer o tipo de desafio no início e aplicar o conjunto adequado de pesos.
Mas essa estratégia é limitada. Por um lado, não é escalonável. Se você quiser construir um robô capaz de realizar muitas tarefas em uma ampla gama de ambientes, terá que treiná-lo em cada um deles. E se o ambiente não for estruturado, você nem saberá com antecedência quais serão algumas dessas tarefas. Outro problema é que essa estratégia não permite que o robô transfira as habilidades que adquiriu ao resolver a tarefa A para a tarefa B. Essa capacidade de transferir conhecimento é uma característica importante do aprendizado humano.
A abordagem preferida de Hadsell é algo chamado “ consolidação de peso elástico . ” A essência é que, depois de aprender uma tarefa, uma rede neural avaliará quais das conexões semelhantes a sinapses entre os nós semelhantes a neurônios são as mais importantes para aquela tarefa e congelará parcialmente seus pesos. “Haverá um número relativamente pequeno”, diz ela. “Digamos, 5 por cento.” Em seguida, você protege esses pesos, tornando-os mais difíceis de alterar, enquanto os outros nós podem aprender normalmente. Agora, quando seu Pong -playing AI aprende a jogar Pac-Man , os neurônios mais relevantes para Pong permanecerá principalmente no lugar e continuará a funcionar bem o suficiente em Pong . Pode não continuar ganhando por uma pontuação de 20 a zero, mas possivelmente por 18 a 2.
Raia Hadsell [top] lidera uma equipe de roboticistas na DeepMind em Londres. No OpenAI, os pesquisadores usaram simulações para treinar uma mão de robô [above] para resolver um cubo de Rubik. Superior: DeepMind; Embaixo: OpenAI
Há um efeito colateral óbvio, entretanto. Cada vez que sua rede neural aprende uma tarefa, mais neurônios se tornam inelásticos. If Pong corrige alguns neurônios , e Breakout corrige alguns mais, “eventualmente, à medida que seu agente aprende os jogos da Atari, ele se tornará cada vez mais fixo, cada vez menos plástico”, explica Hadsell.
Isso é mais ou menos semelhante ao aprendizado humano. Quando somos jovens, somos fantásticos em aprender coisas novas. À medida que envelhecemos, melhoramos as coisas que aprendemos, mas achamos mais difícil aprender novas habilidades.
“Os bebês começam com conexões muito mais densas que são muito mais fracas”, diz Hadsell. “Com o tempo, essas conexões se tornam mais esparsas, porém mais fortes. Isso permite que você tenha memórias, mas também limita seu aprendizado.” Ela especula que algo assim pode ajudar a explicar w as crianças muito pequenas não têm memória: “O layout do nosso cérebro simplesmente não suporta isso.” Em uma criança muito pequena, “tudo está sendo catastroficamente esquecido o tempo todo, porque tudo está conectado e nada está protegido”.
O problema da perda de elasticidade, pensa Hadsell, pode ser corrigido. Ela tem trabalhado com a equipe DeepMind desde 2018 em uma técnica chamada “ progresso e comprimir . ” Envolve a combinação de três ideias relativamente recentes em aprendizado de máquina: redes neurais progressivas, destilação de conhecimento e consolidação de peso elástica, descritas acima.
As redes neurais progressivas são uma maneira direta de evitar o esquecimento catastrófico. Em vez de ter uma única rede neural que treina em uma tarefa e depois em outra, você tem uma rede neural que treina em uma tarefa – digamos, Saia. Então, quando ele termina o treinamento, ele congela suas conexões no lugar, move essa rede neural para o armazenamento e cria uma nova rede neural para treinar em uma nova tarefa – digamos, Pac-Man . Seu conhecimento de cada uma das tarefas anteriores está congelado no lugar, portanto, não pode ser esquecido. E quando cada nova rede neural é criada, ela traz conexões dos jogos anteriores em que treinou, para que possa transferir habilidades de tarefas antigas para novas. Mas, diz Hadsell, ele tem um problema: não pode transferir conhecimento de outra maneira, de novo habilidades para o velho. “Se eu voltar e jogar Breakout de novo, eu realmente não aprendi nada com este jogo [new] “, diz ela. “Não há transferência para trás.”
É onde a destilação do conhecimento, desenvolvida pelo cientista da computação britânico-canadense Geoffrey Hinton , chega. Envolve pegar muitos diferentes redes neurais treinadas em uma tarefa e comprimindo-as em uma única, calculando a média de suas previsões. Então, em vez de ter muitas redes neurais, cada uma treinada em um jogo individual, você tem apenas duas: uma que aprende cada novo jogo, chamada de “coluna ativa”, e outra que contém todo o aprendizado de jogos anteriores, em média, chamada de “base de conhecimento”. Primeiro, a coluna ativa é treinada em uma nova tarefa – a fase de “progresso” – e então suas conexões são adicionadas à base de conhecimento e destiladas – a fase de “compressão”. Ajuda imaginar as duas redes como, literalmente, duas colunas. Hadsell faz isso e os desenha no quadro branco para mim enquanto ela fala.
Se você quiser construir um robô capaz de realizar muitas tarefas em uma ampla gama de ambientes, você terá para treiná-lo em cada um deles.
O problema é, usando a destilação de conhecimento para agrupar as muitas redes neurais individuais do sistema de rede neural progressiva Juntos, vocês trouxeram o problema do esquecimento catastrófico de volta. Vocês mudarão todos os pesos das conexões e tornarão seu treinamento anterior inútil. Para lidar com isso, Hadsell adiciona consolidação elástica de peso: Cada vez que a coluna ativa transfere seu aprendizado sobre uma tarefa específica para a base de conhecimento, ela congela parcialmente os nós mais importantes para essa tarefa específica.
Por possuir duas redes neurais, o sistema de Hadsell evita o principal problema com a consolidação de peso elástico, que é que todas as suas conexões acabará por congelar. A base de conhecimento pode ser tão grande quanto você desejar, portanto, alguns nós congelados não importarão. Mas a coluna ativa em si pode ser muito menor, e redes neurais menores podem aprender com mais rapidez e eficiência do que as maiores. Portanto, o modelo progredir e compactar, diz Hadsell, permitirá que um sistema de IA transfira habilidades de tarefas antigas para novas e de novas tarefas de volta para as antigas, sem nunca se esquecer catastroficamente ou se tornar incapaz de aprender algo novo.
Outros pesquisadores estão usando estratégias diferentes para atacar o problema do esquecimento catastrófico; há cerca de meia dúzia de caminhos de pesquisa. Ted Senador , gerente de programa da Agência de Projetos de Pesquisa Avançada de Defesa ( DARPA ), lidera um grupo que está utilizando uma das mais promissoras, técnica chamada replay interno. “É modelado a partir de teorias de como o cérebro funciona”, explica o senador, “particularmente o papel do sono na preservação da memória.”
A teoria é que o cérebro humano repete as memórias do dia, tanto acordado quanto dormindo: ele reativa seus neurônios em padrões semelhantes aos que surgiram durante a experiência correspondente. Essa reativação ajuda a estabilizar os padrões, o que significa que eles não são substituídos tão facilmente. O replay interno faz algo semelhante. Entre as tarefas de aprendizagem, a rede neural recria padrões de conexões e pesos, imitando vagamente o ciclo vigília-sono da atividade neural humana. A técnica provou bastante eficaz em evitar o esquecimento catastrófico.
Existem muitos outros obstáculos a superar na busca para trazer IA incorporada com segurança em nossas vidas diárias. “Fizemos um grande progresso na IA simbólica, baseada em dados”, diz Thrishantha Nanayakkara , que trabalha com robótica no Imperial College London. “Mas quando se trata de contato, falhamos miseravelmente. Não temos um robô em que possamos confiar para segurar um hamster com segurança. Não podemos confiar que um robô estará perto de uma pessoa idosa ou de uma criança.”
Nanayakkara aponta que muito do “processamento” que permite aos animais lidar com o mundo não acontece no cérebro, mas em outras partes do corpo. Por exemplo, a forma do canal auditivo humano funciona para separar as ondas sonoras, essencialmente realizando “a série de Fourier em tempo real”. Caso contrário, esse processamento teria de acontecer no cérebro, ao custo de preciosos microssegundos. “Se, quando você ouve as coisas, elas não estão mais lá, então você não está inserido no ambiente”, diz ele. Mas a maioria dos robôs atualmente depende de CPUs para processar todas as entradas, uma limitação que ele acredita que terá de ser superada antes que um progresso substancial possa ser feito.
Você sabe que o gato nunca vai aprender uma língua, e estou bem com isso.
Seu colega Petar Kormushev diz que outro problema é a propriocepção, o próprio sentido do robô fisicalidade. O modelo de um robô de seu próprio tamanho e forma é programado diretamente por humanos. O problema é que, ao pegar um objeto pesado, não tem como atualizar sua autoimagem. Quando pegamos um martelo, ajustamos nosso modelo mental da forma e do peso do nosso corpo, o que nos permite usar o martelo como uma extensão do nosso corpo. “Parece ridículo, mas eles [robots] não são capazes de atualizar seus modelos cinemáticos”, diz ele. Bebês recém-nascidos, ele observa, fazem movimentos aleatórios que lhes dão feedback não apenas sobre o mundo, mas sobre seus próprios corpos. Ele acredita que alguma técnica análoga funcionaria para robôs.
Na Universidade de Oxford, Ingmar Posner está trabalhando em uma versão robô de “metacognição”. O pensamento humano é frequentemente modelado como tendo dois “sistemas” principais – o sistema 1, que responde rápida e intuitivamente, como quando pegamos uma bola ou respondemos a perguntas como “qual desses dois blocos é azul?” E o sistema 2, que responde mais devagar e com mais esforço. Ele entra em ação quando aprendemos uma nova tarefa ou respondemos a uma questão matemática mais difícil. Posner construiu funcionalmente equivalente sistemas
em AI. Os robôs, em sua opinião, são consistentemente confiantes ou não confiantes e precisam de meios para saber quando não sabem de algo. “Existem coisas em nosso cérebro que verificam nossas respostas sobre o mundo. Há uma parte que diz não confie em sua resposta intuitiva”, diz ele.Para a maioria desses pesquisadores, incluindo Hadsell e seus colegas da DeepMind, o objetivo de longo prazo é “geral” inteligência. No entanto, a ideia de Hadsell de uma inteligência geral artificial não é a usual – de uma IA que pode realizar todas as tarefas intelectuais que um ser humano pode, e muito mais. Motivar seu próprio trabalho “nunca foi essa ideia de construir uma superinteligência”, diz ela. “É mais: como podemos criar métodos gerais para desenvolver inteligência para resolver problemas específicos?” A inteligência do gato, por exemplo, é geral porque ele nunca encontrará algum problema novo que o faça congelar ou falhar. “Acho esse nível de inteligência animal, que envolve agilidade incrível no mundo, fundindo diferentes modalidades sensoriais, realmente atraente. Você sabe que o gato nunca vai aprender a linguagem, e estou bem com isso.”
Hadsell deseja construir algoritmos e robôs que serão capazes de aprender e lidar com uma ampla gama de problemas em um esfera específica. Um robô destinado a limpar após um acidente nuclear, por exemplo, pode ter algum objetivo de alto nível – “tornar esta área segura” – e ser capaz de dividir isso em subobjetivos menores, como encontrar os materiais radioativos e removê-los com segurança .
Não consigo resistir a perguntar sobre a consciência. Alguns pesquisadores de IA, incluindo o colega DeepMind de Hadsell Murray Shanahan , suspeita que será impossível construir uma IA incorporada de inteligência geral real sem que a máquina tenha algum tipo de consciência. A própria Hadsell, entretanto, apesar de sua formação em filosofia da religião, tem uma abordagem fortemente prática.
“Eu tenho uma visão bastante simplista da consciência”, diz ela. Para ela, consciência significa a capacidade de pensar fora do momento estreito do “agora” – usar a memória para acessar o passado e usar a imaginação para imaginar o futuro. Nós, humanos, fazemos isso bem. Outras criaturas, nem tanto: os gatos parecem ter um horizonte de tempo menor do que nós, com menos planejamento para o futuro. Bugs, menos ainda. Ela não gosta de se envolver no difícil problema da consciência e outras idéias filosóficas. Na verdade, a maioria dos roboticistas parece querer evitá-lo. Kormushev compara isso a perguntar “Os submarinos podem nadar? … É inútil debater. Contanto que eles façam o que eu quero, não temos que nos torturar com a pergunta.”
Empurrar uma cavilha em forma de estrela em um buraco em forma de estrela pode parecer simples, mas foi um pequeno triunfo para um dos robôs da DeepMind. DeepMind
No laboratório de robótica DeepMind, é fácil ver por que esse tipo de questão não está à frente e no centro. Os esforços dos robôs para coletar blocos sugerem que não precisamos nos preocupar ainda com questões filosóficas relacionadas à consciência artificial.
Mesmo assim, enquanto andava pelo laboratório, me pego torcendo por um deles. Um braço robótico vermelho está tentando, aos arrancos, pegar um tijolo em forma de estrela e inseri-lo em uma abertura em forma de estrela, como uma criança faria. Na segunda tentativa, ele alinha o tijolo e está prestes a colocá-lo na fenda. Eu me pego gritando “Vamos, rapaz!”, Provocando uma sobrancelha levantada de Hadsell. Em seguida, ele coloca o tijolo no lugar com sucesso.
Uma tarefa concluída, pelo menos. Agora, ele só precisa manter essa estratégia enquanto aprende a jogar Pong.
Este artigo aparece na edição impressa de outubro de 2021 como “How to Train an All-Purpose Robot.”
Fonte