Adversarial Attacks, o inimigo da inteligência artificial

Franco Piergallini Guida    20 julio, 2020
Adversarial Attacks, o inimigo da inteligência artificial

Uma rede neural tem um objetivo simples: reconhecer padrões inerentes aos conjuntos de dados . Para conseguir isso, você deve ter a capacidade de “aprender” passando por um processo de treinamento no qual milhares de parâmetros são ajustados até chegar a uma combinação que minimiza uma determinada métrica de erro. Se você puder encontrar uma combinação de seus parâmetros que permita generalizar os dados, poderá reconhecer esses padrões e prever, com tolerância de erro permitida, entradas de dados que você nunca viu no processo de treinamento. Esses dados podem ser imagens, vídeos, áudios ou dados tabulares. E se alguém souber como manipular esses dados para oferecer os dados que lhes convém?

De uma maneira imperceptível e inconsciente, usamos as redes neurais em um número infinito de tarefas que realizamos diariamente. Alguns dos exemplos mais superficiais são os sistemas de recomendação para filmes no Netflix e músicas no Spotify, a identificação e categorização de e-mails, a interpretação de consultas e previsões da palavra seguinte em mecanismos de pesquisa, assistentes virtuais e seu processamento natural da linguagem, reconhecimento facial nas câmeras e, é claro, a identificação de amigos nas redes sociais e os filtros engraçados que distorcem nossas características faciais.

Sem discriminação, as redes neurais são bem-sucedidas em uma vasta variedade de campos. Podemos usá-los para diagnosticar o COVID-19 , rastrear traficantes de drogas nas mídias sociais ou até detectar notícias falsas . No entanto, foi demonstrado que eles também podem ser invadidos, voltando à essência e à definição de invasão: manipulando o comportamento normal de um sistema.

Uma das técnicas usadas para manipular arbitrariamente as redes neurais é o que é comumente conhecido como “Adversarial Attacks”. Com ele, podemos produzir a saída desejada criando uma entrada cuidadosamente criada. Por exemplo, se tivermos uma rede neural que preveja a probabilidade de ter ou não o COVID-19 com base no som da tosse, poderemos manipular os espectrogramas registrados adicionando ruído para modificar a probabilidade de resposta (aumentar ou diminuir). Ou podemos até gerar um espectrograma sem significado ou semelhante aos gerados pela tosse e, assim, obter qualquer probabilidade de resposta desejada.

Exemplo com falsificações profundas

Vamos ver um exemplo concreto: temos um sistema que é muito bom em prever se um vídeo é deepfake ou não. Uma das soluções convencionais para esse problema começa com a coleta e o alinhamento de n faces que aparecem no vídeo usando uma rede neural específica para esta tarefa. Uma vez coletada, outra rede prediz a probabilidade de um rosto sofrer um ataque profundo ou não.

O último passo é obter uma média de todas as probabilidades para as n faces coletadas. Se essa média for maior que um limite imposto (por exemplo, 0,6), o vídeo será classificado como deepfake ; caso contrário, é classificado como sem falha profunda . Claramente, podemos ver que, no exemplo, a qualidade do deepfake gerado não é muito boa e o sistema é muito seguro para classificá-lo (0,86).

Para modificar a probabilidade de saída do sistema, devemos adicionar ruído estrategicamente gerado e inseri-lo no vídeo. Para conseguir isso, temos três restrições:

  • O ruído gerado deve ser sofisticado o suficiente para que a rede que identifica os rostos continue realizando seu trabalho sem problemas.
  • O ruído deve ser gerado de forma que a probabilidade prevista pela segunda rede em todas as faces coletadas caia.
  • As modificações devem ser o mais imperceptível possível para os seres humanos.

Analisando a segunda rede em detalhes, podemos ver que a entrada que ela recebe é sempre do mesmo tamanho: uma imagem RGB de 256 pixels de altura por 256 pixels de largura. As redes neurais são determinísticas, ou seja, para qualquer imagem de entrada que se encaixe na primeira camada, ela produzirá uma saída. Os pixels assumem valores entre 0 e 256, o que implica que o espaço de combinações possíveis para segundas entradas de rede será 256 256 * 256 * 3, mas apenas um subconjunto muito pequeno atenderá às três restrições.

Para gerar o ruído, usamos o Fast Gradient Sign Method ( demonstração ao vivo), que envolve um ataque de caixa branca e acesso total ao sistema. Mas o que acontece quando temos apenas uma chance de enganar o sistema? Poderíamos criar nosso próprio modelo de réplica do original e gerar o ruído com base nele. Há uma alta probabilidade de que o ataque funcione por transferibilidade , uma propriedade que ainda é um estudo de caso, mas basicamente diz que dois modelos com o mesmo objetivo dependerão das mesmas características para alcançá-lo.

Como nos defendemos contra esse tipo de ataque?

Uma solução pode ser adicionar uma nova rede neural que funcione como um tipo de IDS ( SafetyNet ) em nosso processo. Se você detectar que a imagem ou o vídeo contém esses ataques, poderá descartá-lo e classificá-lo como malicioso. Outra solução seria gerar esses ataques e incluí-los em nossos conjuntos de dados e no processo de treinamento de nossa rede, para que você possa rotulá-los como maliciosos, mas essa opção é muito cara devido ao número de combinações nas quais eles podem ser gerados.

Uma solução muito engenhosa de uma equipe da NVIDIA chamada BaRT ( The Barrage of Random Transforms ) propõe a aplicação de diferentes tipos de ataques ao conjunto de dados em que a rede neural é treinada para impedir a tarefa do atacante de fazer um ataque. digite black box e que a rede possa classificar corretamente um vídeo como malicioso.

Cleverhans , da Tensorflow; e ART (Adversarial Robustness Toolbox) , da IBM, são bibliotecas onde podemos encontrar um ponto de partida com exemplos para aprender mais sobre esse tipo de ataque a redes neurais, além de maneiras de resolvê-los em nossos modelos e aumentar sua robustez.

Há muitos lugares em que os invasores podem tirar proveito desses tipos de técnicas e ter um impacto verdadeiramente significativo: roubo de identidade em sistemas de reconhecimento facial, detectores enganosos de conteúdo sexual ou violento nas redes sociais, sinais de trânsito usados ​​por veículos autônomos, detectores de notícias falsas etc. Por trás de todos esses aplicativos que usamos todos os dias, existem modelos que, como qualquer sistema, podem ser vulneráveis ​​à alteração de seu comportamento.

Deja un comentario

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