Adversarial Attacks, o inimigo da inteligência artificial (II)

Franco Piergallini Guida    21 septiembre, 2020
Adversarial Attacks, o inimigo da inteligência artificial (II)

Em Machine e Deep Learning, como em qualquer sistema, existem vulnerabilidades e técnicas que permitem manipular seu comportamento à mercê de um invasor. Conforme discutimos na primeira parte deste artigo sobre Adversarial Attacks, uma dessas técnicas são os exemplos de adversários : entradas geradas cuidadosamente por um invasor para alterar o comportamento de resposta de um modelo. Vejamos alguns exemplos:

O mais simples pode ser encontrado nos primeiros dias da detecção de spam, classificadores padrão como Naive Bayes foram muito bem-sucedidos contra e-mails que continham textos como: Ganhe dinheiro rápido!, Refinancie sua hipoteca, Viagra… Como eles foram detectados automaticamente e classificados como spam , os spammers aprenderam a enganar os classificadores inserindo pontuação, caracteres especiais ou código HTML como comentários ou mesmo tags falsas. Assim, eles começaram a usar “fantasias” como: v.ia.g.ra, ¡H4G4 D|nero r4p1do!, Inçrèmēntä la tęštõśtĘröná 250%…

E foram além, resolvido esse problema para os classificadores, os atacantes inventaram um novo truque : para contornar os classificadores que se baseavam na análise do texto, eles simplesmente embutiam a mensagem em uma imagem.

Exemplos adversários Ebay
Figura 1: Exemplos adversários Ebay

Várias contra-medidas foram desenvolvidas rapidamente com base em hashes de imagem conhecidos como spam usando OCRs para extrair texto de imagens. Para contornar essas defesas, os atacantes começaram a aplicar filtros e transformações às imagens com ruído aleatório, dificultando o reconhecimento de personagens nas imagens.

Imagem de ruído aleatório
Figura 2: Imagem de ruído aleatório

Como na criptografia, nos encontramos em um jogo sem fim em que técnicas de defesa e técnicas de ataque são continuamente encontradas. Vamos parar neste ponto.

Classificação de imagens e Adversarial Attacks

Na classificação de imagens, os atacantes aprenderam a gerar de forma meticulosa e estratégica “ruído branco”, usando algoritmos para maximizar o impacto nas redes neurais e passar despercebidos ao olho humano. Ou seja, conseguem um estímulo nas camadas internas da rede que alteram completamente sua resposta e impedem que sejam processados ​​de forma inteligente.

Um dos motivos para esses tipos de ataques às imagens é devido às suas dimensões e às infinitas combinações possíveis que uma rede neural pode ter como input . Embora possamos aplicar técnicas como data augmentation para aumentar o tamanho e a variedade de nossos conjuntos de dados de treinamento, é impossível capturar a grande complexidade combinatória que o espaço real de possíveis imagens implica.

Mas como esse ruído branco é gerado? Primeiro, vamos formular os exemplos adversários matematicamente, de uma perspectiva de otimização. Nosso objetivo fundamental na aprendizagem supervisionada é fornecer um mapeamento preciso de uma entradapara uma saída  otimizando alguns parâmetros do modelo. Isso pode ser formulado como o seguinte problema de otimização:

min _θ loss(θ,X_i ,Y_i )

O que normalmente é conhecido como treinamento de rede neural. Algoritmos como stochastic gradient descent, entre outros, são usados ​​para realizar essa otimização.

Uma abordagem muito semelhante pode ser usada para fazer com que um modelo classifique incorretamente um input específico. Para gerar um exemplo de adversário, usamos os parâmetrosem que a rede convergiu após o processo de treinamento e otimizamos no espaço possível de entrada . Isso significa que vamos procurar um distúrbioque pode ser adicionado à entrada e maximizar a função de perda do modelo:

max _(δ) loss(θ,X_i+ δ,Y_i )

Exemplo de brinquedo “Toy example”

Vamos pensar por um momento sobre um exemplo simples onde temos um neurônio de regressão linear, com um input 6-dimensional:

Que, passando pelo processo de treinamento, convergiram com os seguintes pesos: W=(0,-1,-2,0,3,1),b=0. Se dermos o input:

O neurônio irá produzir:

Então, como mudamos x→x* para que yx* mude radicalmente, mas o quê x*≅x? Se tomarmos a derivada de ∂y/∂x=WT, isso nos dirá como pequenas mudanças nox impacto sobre y. Para gerar x*, adicionamos uma pequena perturbação εWT,ε=0.5 ao input x da seguinte forma:

E se fazemos forward propagation para nosso novo input x*, se tivermos sorte, notaremos uma diferença com relação à saída que o modelo nos fornece x.

This image has an empty alt attribute; its file name is image-43.png

Na verdade, para a input x* obtemos 6.5 como output,quando para x nós -1. Esta técnica (com algumas pequenas diferenças em relação ao toy example que acabamos de ver) é chamada de fast gradient sign method e foi introduzida por Ian Goodfellow no artigo intitulado Explaining and Harnessing Adversarial Examples em 2015.

Adversarial Attacks do futuro: carros autônomos

Os adversarial examples são uma característica inata de todos os problemas de otimização, incluindo o deep learning. Mas se voltarmos cerca de 10 anos, o deep learning nem mesmo fez um bom trabalho com dados normais e não perturbados. O fato de agora estarmos procurando e investigando maneiras de "hackear" ou "quebrar" redes neurais implica que elas se tornaram incrivelmente avançadas.

Mas esses ataques podem ter um impacto no mundo real, como o sistema de piloto automático de um carro? Elon Musk deu sua opinião sobre o podcast de Lex Fridman garantindo que esses tipos de ataques podem ser facilmente controlados. Em um ambiente black-box, onde os invasores não têm acesso aos detalhes internos da rede neural, como arquitetura ou parâmetros, a probabilidade de sucesso é relativamente baixa, aproximadamente 4% em média. No entanto, pesquisadores da Keen Labs já conseguiu gerar adversarial examples por alterar o sistema de piloto automático dos carros de Tesla. Por outro lado, em ambientes de white-box, os adversarial examples podem ser gerados com uma taxa média de sucesso de 98% (Uma Análise de Ataques e Defesas Adversários em Modelos de Direção Autônoma). Isso implica uma alta suscetibilidade em self-driving open-source, como comma.ai , onde a arquitetura e os parâmetros dos modelos são totalmente expostos. Waymo, um desenvolvedor de veículos autônomos pertencentes ao conglomerado Alphabet Inc expõe uma série de dados de sensores imagens de alta resolução coletadas por seus carros em uma ampla variedade de condições, a fim de ajudar a comunidade de pesquisa a desenvolver essa tecnologia. Esses dados poderiam ser usados ​​para treinar uma ampla variedade de modelos e gerar adversarial attacks que em alguns casos poderiam afetar as redes utilizadas pela Waymo devido à transferibilidade, uma propriedade das redes neurais em que indica que dois modelos vão com base nas mesmas características para atingir o mesmo objetivo.

Devemos mencionar que existe uma grande lacuna entre trapacear um modelo e trapacear um sistema que contém um modelo. Muitas vezes, as redes neurais são mais um componente de um ecossistema no qual diferentes tipos de análise interagem na tomada de decisões. Continuando com o caso dos carros autônomos, a decisão de reduzir a velocidade devido à detecção de um possível objeto próximo, detectado na análise da câmera frontal, não poderia coincidir com os dados obtidos de outro componente como um LIDAR no caso de um adversarial attack. Mas em outros tipos de tomada de decisão, como analisar sinais de trânsito, apenas a análise de vídeo poderia intervir e ter um efeito realmente perigoso ao converter um sinal de trânsito.pare em um dos, por exemplo, o limite de 50 quilômetros por hora.

This image has an empty alt attribute; its file name is image-44.png
Figura 4: Sinal de parada

Sem dúvida, essa técnica representa uma ameaça latente para o mundo do deep learning. Mas isso não é tudo, porque existem outros tipos de ataques para cada um dos estágios do pipeline de machine learning em que um invasor pode tirar vantagem, como:

  • Etapa de treinamento: envenenamento do conjunto de dados.
  • Parâmetros aprendidos: ataques de manipulação de parâmetros.
  • Estágio de inferênciaadversarial attacks.
  • Teste de outputs: roubo de modelo.

Você quer saber mais sobre Adversarial Attacks? Primeira parte deste artigo disponível aqui:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *