Exemplos adversários são entradas ligeiramente alteradas que fazem com que as redes neurais cometam erros de classificação que normalmente não fariam, como classificar uma imagem de um gato como um cachorro. Crédito:MIT News Office
Os pesquisadores do MIT desenvolveram um método para avaliar o quão robustos os modelos de aprendizado de máquina conhecidos como redes neurais são para várias tarefas, detectando quando os modelos cometem erros que não deveriam.
Redes neurais convolucionais (CNNs) são projetadas para processar e classificar imagens para visão computacional e muitas outras tarefas. Mas pequenas modificações que são imperceptíveis ao olho humano - digamos, alguns pixels mais escuros em uma imagem - podem fazer com que a CNN produza uma classificação drasticamente diferente. Essas modificações são conhecidas como "exemplos adversários". Estudar os efeitos de exemplos adversários em redes neurais pode ajudar os pesquisadores a determinar como seus modelos podem ser vulneráveis a entradas inesperadas no mundo real.
Por exemplo, carros sem motorista podem usar CNNs para processar dados visuais e produzir uma resposta apropriada. Se o carro se aproxima de um sinal de pare, ele reconheceria o sinal e pararia. Mas um jornal de 2018 descobriu que colocar um certo adesivo preto e branco no sinal de parada poderia, na verdade, enganar a CNN de um carro sem motorista para classificar erroneamente o sinal, o que poderia fazer com que ele não parasse.
Contudo, não há como avaliar totalmente a resiliência de uma grande rede neural a exemplos adversários para todas as entradas de teste. Em um artigo que eles estão apresentando esta semana na Conferência Internacional sobre Representações de Aprendizagem, os pesquisadores descrevem uma técnica que, para qualquer entrada, encontra um exemplo contraditório ou garante que todas as entradas perturbadas - que ainda parecem semelhantes ao original - estão classificadas corretamente. Ao fazer isso, dá uma medida da robustez da rede para uma tarefa específica.
Existem técnicas de avaliação semelhantes, mas não foram capazes de aumentar a escala para redes neurais mais complexas. Comparado a esses métodos, a técnica dos pesquisadores é três ordens de magnitude mais rápida e pode escalar para CNNs mais complexas.
Os pesquisadores avaliaram a robustez de uma CNN projetada para classificar imagens no conjunto de dados MNIST de dígitos manuscritos, que compreende 60, 000 imagens de treinamento e 10, 000 imagens de teste. Os pesquisadores descobriram que cerca de 4% das entradas de teste podem ser ligeiramente perturbadas para gerar exemplos adversários que levariam o modelo a fazer uma classificação incorreta.
"Exemplos adversários enganam uma rede neural fazendo-a cometer erros que um ser humano não faria, "diz o primeiro autor Vincent Tjeng, Pós-graduando no Laboratório de Ciência da Computação e Inteligência Artificial (CSAIL). "Para uma determinada entrada, queremos determinar se é possível introduzir pequenas perturbações que fariam com que uma rede neural produzisse uma saída drasticamente diferente do que normalmente faria. Dessa forma, podemos avaliar o quão robustas são as diferentes redes neurais, encontrar pelo menos um exemplo adversário semelhante à entrada ou garantir que não exista para essa entrada. "
Junto com Tjeng no trabalho estão o estudante de pós-graduação do CSAIL Kai Xiao e Russ Tedrake, pesquisador do CSAIL e professor do Departamento de Engenharia Elétrica e Ciência da Computação (EECS).
As CNNs processam imagens por meio de muitas camadas computacionais contendo unidades chamadas neurônios. Para CNNs que classificam imagens, a camada final consiste em um neurônio para cada categoria. A CNN classifica uma imagem com base no neurônio com o valor de saída mais alto. Considere uma CNN projetada para classificar as imagens em duas categorias:"gato" ou "cachorro". Se ele processa a imagem de um gato, o valor do neurônio de classificação "gato" deve ser maior. Um exemplo adversário ocorre quando uma pequena modificação nessa imagem faz com que o valor do neurônio de classificação "cão" seja mais alto.
A técnica dos pesquisadores verifica todas as modificações possíveis em cada pixel da imagem. Basicamente, se a CNN atribui a classificação correta ("gato") a cada imagem modificada, nenhum exemplo de adversário existe para essa imagem.
Por trás da técnica está uma versão modificada da "programação inteira mista, "um método de otimização em que algumas das variáveis são restritas a números inteiros. Essencialmente, a programação inteira mista é usada para encontrar o máximo de alguma função objetivo, dadas certas restrições nas variáveis, e pode ser projetado para escalar com eficiência para avaliar a robustez de redes neurais complexas.
Os pesquisadores definiram os limites que permitem que cada pixel em cada imagem de entrada seja clareado ou escurecido até um determinado valor. Dados os limites, a imagem modificada ainda será notavelmente semelhante à imagem de entrada original, o que significa que a CNN não deve ser enganada. A programação de número inteiro misto é usada para encontrar a menor modificação possível nos pixels que podem causar uma classificação incorreta.
A ideia é que ajustar os pixels pode fazer com que o valor de uma classificação incorreta aumente. Se a imagem do gato fosse transmitida à CNN de classificação de animais de estimação, por exemplo, o algoritmo continuaria perturbando os pixels para ver se consegue aumentar o valor do neurônio correspondente a "cachorro" para um valor maior do que o de "gato".
Se o algoritmo for bem-sucedido, encontrou pelo menos um exemplo adversário para a imagem de entrada. O algoritmo pode continuar ajustando os pixels para encontrar a modificação mínima necessária para causar essa classificação incorreta. Quanto maior a modificação mínima - chamada de "distorção adversária mínima" - mais resistente é a rede aos exemplos adversários. Se, Contudo, o neurônio de classificação correto dispara para todas as combinações diferentes de pixels modificados, então, o algoritmo pode garantir que a imagem não tem exemplo adversário.
"Dada uma imagem de entrada, queremos saber se podemos modificá-lo de forma que acione uma classificação incorreta, "Tjeng diz." Se não pudermos, então temos a garantia de que pesquisamos em todo o espaço de modificações permitidas, e descobriu que não há nenhuma versão perturbada da imagem original que esteja mal classificada. "
No fim, isso gera uma porcentagem de quantas imagens de entrada têm pelo menos um exemplo adversário, e garante que o restante não tenha exemplos adversários. No mundo real, CNNs têm muitos neurônios e vão treinar em conjuntos de dados massivos com dezenas de classificações diferentes, então a escalabilidade da técnica é crítica, Tjeng diz.
"Em diferentes redes projetadas para diferentes tarefas, é importante que as CNNs sejam robustas contra exemplos adversários, "ele diz." Quanto maior a fração de amostras de teste em que podemos provar que não existe nenhum exemplo adversário, melhor será o desempenho da rede quando exposta a entradas perturbadas. "
"Limites prováveis de robustez são importantes, pois quase todos os mecanismos de defesa [tradicionais] podem ser quebrados novamente, "diz Matthias Hein, professor de matemática e ciência da computação na Universidade de Saarland, que não esteve envolvido no estudo, mas experimentou a técnica. "Usamos a estrutura de verificação exata para mostrar que nossas redes são de fato robustas ... [e] também tornou possível verificá-las em comparação com o treinamento normal."
Esta história foi republicada por cortesia do MIT News (web.mit.edu/newsoffice/), um site popular que cobre notícias sobre pesquisas do MIT, inovação e ensino.