Investigadores criaram IA que cria IA – parece confuso mas não é

1

Através de hipernetworks, os investigadores podem agora afinar previamente as redes neurais artificiais, poupando algum tempo e despesas de formação.

A inteligência artificial (IA) é, em grande parte, um jogo de números. Quando redes neurais, uma forma de IA que aprende a identificar padrões em dados, começaram a ultrapassar os algoritmos tradicionais há 10 anos, finalmente conseguimos dados e poder de processamento suficiente para os utilizar plenamente.

De acordo com a Quanta Magazine, o “treino” das redes neurais requer uma afinação cuidadosa nos valores de milhões ou mesmo biliões de parâmetros que as caracterizam, representando os pontos fortes das ligações entre neurónios artificiais.

O objetivo é encontrar valores quase ideais para um processo de otimização, mas treinar as redes para chegar a este ponto não é fácil.

“O treino pode levar dias, semanas ou mesmo meses“, afirmou Petar Veličković, um investigador da DeepMind, em Londres.

Mas isto pode mudar em breve. Boris Knyazev, investigador da Universidade de Guelph, em Ontário, e outros investigadores, criaram e treinaram uma hipernetwork — uma espécie de chefe de outras redes neurais — que pode acelerar o processo de treino.

Com uma rede neural, sem formação, concebida para uma tarefa, a hipernetwork prevê os parâmetros para a nova rede em frações de segundo e, em teoria, pode tornar o treino desnecessário.

Esta hipernetwork aprende padrões extremamente complexos nos desenhos de redes neurais profundas, o que pode implicar que o trabalho também tenha implicações teóricas mais profundas.

Por enquanto, a hipernetwork funciona surpreendentemente bem em certos cenários, mas ainda há espaço para crescer — o que é apenas natural dada a sua magnitude.

Se conseguirem resolver essa questão, “isto será bastante impactante para a aprendizagem da máquina”, realçou Veličković.

Atualmente, os melhores métodos de treino e otimização de redes neurais são as variações de uma técnica chamada descida de gradiente estocástico (SGD).

O treino envolve a minimização dos erros que a rede comete numa determinada tarefa, como o reconhecimento de imagem.

Mas esta técnica só funciona quando se tem uma rede para otimizar. Para construir a rede neural inicial, normalmente constituída por múltiplas camadas de neurónios artificiais que vão de input em output, os engenheiros devem confiar em intuições e regras de conduta.

Estas construções podem variar em termos do número de camadas de neurónios, do número de neurónios por camada, e assim por diante.

Stack Exchange

Representação de uma descida gradual

Em teoria, é possível começar com várias construções, depois otimizar cada uma delas, e escolher a melhor.

“Mas o treino leva uma quantidade de tempo bastante grande”, lembra Mengye Ren, agora investigador visitante no Google Brain. “Seria impossível treinar e testar todas as construções de rede candidatas. Não escala muito bem, especialmente se considerarmos milhões de designs possíveis“.

Assim, em 2018, Ren, juntamente com o seu antigo colega da Universidade de Toronto, Chris Zhang, e a sua conselheira, Raquel Urtasun, tentou uma abordagem diferente: conceberam aquilo a que chamaram uma hipernetwork gráfica (GHN), para encontrar a melhor arquitetura de rede neural, para resolver alguma tarefa, dado um conjunto de candidatas.

O próprio nome revela a sua abordagem. “Gráfica” refere-se à ideia de que a arquitetura de uma rede neural pode ser pensada como um grafo matemático — uma coleção de pontos, ou nós, ligados por linhas, ou arestas.

Os nós representam unidades computacionais (normalmente, uma camada inteira de uma rede neural), e as arestas representam a forma como estas unidades estão interligadas.

Uma hipernetwork gráfica começa com qualquer construção que precise de ser otimizada (chamemos-lhe o candidato).

Faz então o seu melhor para prever os parâmetros ideais para o candidato. A equipa fixa os parâmetros de uma rede neural real aos valores previstos, e testa-a numa determinada tarefa. A equipa de Ren mostrou que este método pode ser utilizado para classificar arquiteturas candidatas e selecionar a melhor.

No seu novo trabalho, a equipa mostra como utilizar GHNs não só para encontrar a melhor arquitetura a partir de algum conjunto de amostras, mas também para prever os parâmetros para a melhor rede, de modo a que esta tenha um bom desempenho.

E em situações em que o melhor não é suficientemente bom, a rede pode ser treinada mais tarde, utilizando a descida por gradiente.

“É um papel muito sólido. Contém muito mais experimentação do que aquilo que fizemos”, disse Ren sobre o novo trabalho. “Trabalham muito para aumentar o desempenho absoluto, o que é ótimo de se ver“.

Knyazev e a sua equipa chamam à sua hipernetwork GHN-2, e esta melhora dois aspetos importantes da hipernetwork gráfica construída por Ren e os colegas.

Primeiro, basearam-se na técnica de Ren de retratar a arquitetura de uma rede neural como um gráfico. Cada nó do gráfico codifica informação sobre um subconjunto de neurónios, que fazem algum tipo específico de cálculo. As bordas do gráfico descrevem como a informação flui de nó para nó, da entrada para a saída.

A segunda ideia utilizarada foi o método de treino da hipernetwork para fazer previsões para novas arquiteturas candidatas.

Isto requer duas outras redes neurais. A primeira permite cálculos no gráfico original do candidato, resultando em atualizações da informação associada a cada nó, e a segunda toma os nós atualizados como entrada, e prevê os parâmetros para as unidades computacionais correspondentes da rede neural candidata.

Estas duas redes também têm os seus próprios parâmetros, que devem ser otimizados antes que a hipernetwork possa prever corretamente os valores dos parâmetros.

Para tal, são necessários dados de treino — neste caso, uma amostra aleatória de possíveis arquiteturas de redes neurais artificiais (ANN).

Para cada arquitetura na amostra, começa-se com um gráfico, e depois usa-se a hipernetwork gráfica para prever parâmetros e inicializar a ANN candidata com os parâmetros previstos.

A ANN realiza então alguma tarefa específica, como o reconhecimento de uma imagem. Calcula a perda feita pela ANN e depois, em vez de atualizar os parâmetros da ANN para fazer uma melhor previsão, atualiza os parâmetros da hipernetwork que fez a previsão em primeiro lugar.

Isto permite que a hipernetwork faça melhor da próxima vez. Repete depois sobre cada imagem, em algum conjunto de dados de treino rotulados, e cada ANN na amostra aleatória de arquiteturas, reduzindo a perda em cada passo, até não poder fazer melhor. A dada altura, acabamos por ter uma hipernetwork treinada.

A equipa de Knyazev pegou nestas ideias e escreveu o seu próprio software do zero, uma vez que a equipa de Ren não divulgou o seu código fonte.

Depois Knyazev e colegas melhoraram-no. Para começar, identificaram 15 tipos de nós que podem ser combinados para construir qualquer rede neural moderna. Também fizeram vários avanços para melhorar a precisão da previsão.

Para assegurar que o GHN-2 aprendia a prever parâmetros para uma vasta gama de arquiteturas de redes neurais, Knyazev e os colegas criaram um conjunto de dados  de 1 milhão de arquiteturas possíveis.

“Para treinar o nosso modelo, criámos arquiteturas aleatórias que são tão diversas quanto possível”, explicou Knyazev.

Como resultado, o GHN-2 é mais suscetível de generalizar corretamente para arquiteturas não vistas.

“Eles podem, por exemplo, dar conta de todas as arquiteturas típicas de ponta que as pessoas utilizam”, disse Thomas Kipf, investigador da Equipa Google Research’s Brain, em Amesterdão. “Esta é uma grande contribuição“.

Resultados impressionantes

O verdadeiro teste, claro, foi pôr o GHN-2 a funcionar. Assim que Knyazev e a sua equipa o treinaram para prever os parâmetros de dada tarefa, como a classificação de imagens num conjunto de dados em particular, testaram a sua capacidade de prever parâmetros para qualquer arquitetura candidata aleatória.

Este novo candidato poderia ter propriedades semelhantes às de um milhão de arquiteturas no conjunto de dados de formação, ou poderia ser diferente.

No primeiro caso, diz-se que a arquitetura está em distribuição. No segundo caso, está fora de distribuição.

As redes neurais falham frequentemente quando se fazem previsões para a segunda, pelo que testar o GHN-2 com esses dados foi importante.

Com um GHN-2 totalmente treinado, a equipa previu parâmetros para 500 arquiteturas de rede aleatórias, nunca antes vistas.

Depois, os seus parâmetros definidos para os valores previstos, foram colocados contra as mesmas redes treinadas, utilizando descidas estocásticas de gradiente.

A nova hipernetwork manteve-se muitas vezes contra milhares de iterações de SGD, e por vezes fez ainda melhor, embora alguns resultados fossem mais mistos.

Para um conjunto de dados de imagens conhecido como CIFAR-10, a precisão média da GHN-2 nas arquiteturas em distribuição foi de 66,9%, o que se aproximou da precisão média de 69,2%, alcançada pelas redes treinadas, utilizando 2.500 iterações de SGD.

Para arquiteturas fora de distribuição, o GHN-2 teve um desempenho surpreendentemente bom, alcançando cerca de 60% de exatidão.

Em particular, alcançou uma exatidão respeitável de 58,6% para uma arquitetura de rede neural específica conhecida, chamada ResNet-50.

“A generalização da ResNet-50 é surpreendentemente boa, dado que a ResNet-50 é cerca de 20 vezes maior do que a nossa arquitetura de formação média”, disse Knyazev, em relação ao NeurIPS 2021.

O GHN-2 não se saiu tão bem com a ImageNet, um conjunto de dados consideravelmente maior. Em média, era apenas cerca de 27,2% exato.

Ainda assim, tem uma precisão média de 25,6% para as mesmas redes treinadas, utilizando 5.000 passos de SGD.

A GHN-2 fez as suas previsões ImageNet em menos de um segundo, enquanto a utilização de SGD para obter o mesmo desempenho que os parâmetros previstos levou, em média, 10.000 vezes mais tempo na sua unidade de processamento gráfico.

“Os resultados são definitivamente impressionantes”, referiu Veličković. “Basicamente, reduziram significativamente os custos de energia“.

E quando o GHN-2 encontra a melhor rede neural para uma tarefa, a partir de uma amostra de arquiteturas, e essa melhor opção não é suficientemente boa, pelo menos o vencedor está agora parcialmente treinado e pode ser ainda mais otimizado.

Em vez de desencadear o SGD numa rede inicializada com valores aleatórios para os seus parâmetros, podem-se usar as previsões do GHN-2 como ponto de partida. “Essencialmente imitamos o pré-treino“, disse Knyazev.

Apesar destes sucessos, Knyazev pensa que a comunidade das máquinas de inteligência artificial resistirá, no início, à utilização de hipernetworks gráficas.

Em 2012, os especialistas preferiam algoritmos desenhados à mão, em vez das misteriosas redes neurais.

Mas isso mudou quando as redes treinadas com enormes quantidades de dados começaram a superar os algoritmos tradicionais. “Isto pode seguir o mesmo caminho”.

Entretanto, Knyazev vê muitas oportunidades de melhoria. Por exemplo, o GHN-2 só pode ser treinado para prever parâmetros e resolver uma determinada tarefa, tais como classificar imagens CIFAR-10 ou ImageNet, mas não ao mesmo tempo.

No futuro, o especialista prevê a formação de hipernetworks gráficas sobre uma maior diversidade de arquiteturas e sobre diferentes tipos de tarefas (reconhecimento de imagens, reconhecimento de fala ou processamento de linguagem natural).

Assim, a previsão pode ser condicionada, tanto na arquitetura alvo, como na tarefa específica em mãos.

E se estas hipernetworks “descolarem”, a conceção e desenvolvimento de novas redes neurais deixarão de estar restritas a grandes empresas e com acesso a todos os dados.

Qualquer pessoa pode entrar em ação. Knyazev está bem consciente deste potencial de “democratizar a aprendizagem profunda“.

“Isso é algo que pode inspirar alguma nova teoria para as redes neurais”. Se for esse o caso, pode permitir uma melhor compreensão dessas “caixas negras”.

ACL, ZAP //

1 Comment

Deixe o seu comentário

Your email address will not be published.