Como é possível que redes neurais profundas sejam tão facilmente enganadas?

63

A página / estudo a seguir demonstra que as redes neurais profundas são facilmente enganadas, fornecendo previsões de alta confiança para imagens irreconhecíveis, por exemplo,

Imagens evoluídas que são irreconhecíveis para os seres humanos, mas que DNNs avançados treinados no ImageNet acreditam com> = 99,6% de certeza como um objeto familiar.  Este resultado destaca diferenças entre como DNNs e humanos reconhecem objetos.  Imagens codificadas direta e indiretamente

A evolução das imagens para corresponder às classes DNN produz uma enorme diversidade de imagens.  A pontuação média de confiança do DNN para essas imagens é de 99,12% para a classe listada, o que significa que o DNN acredita com quase certeza de que a imagem é esse tipo de coisa.  São mostradas imagens selecionadas para mostrar a diversidade de 5 execuções evolutivas independentes.  As imagens lançam luz sobre o que a rede DNN se importa e o que não importa ao classificar uma imagem.  Por exemplo, um ônibus escolar alterna linhas amarelas e pretas, mas não precisa ter pára-brisa ou rodas

Como isso é possível? Você pode, por favor, explicar idealmente em inglês simples?

kenorb
fonte
14
A versão "inglês simples" da resposta é - Qualquer sistema baseado em seguir um conjunto de regras pode ser enganado, você só precisa descobrir o que pode quebrar as regras.
Ankur #
11
@ Ankur, isso não significa que todos os sistemas de IA podem ser enganados?
yters
5
@yters: Sim, todos os sistemas de IA podem ser enganados, não importa como a equipe de marketing sugira o quão inteligentes são seus sistemas. Alguns são facilmente enganados e outros exigem algum esforço para serem enganados.
Ankur
6
FWIW, os seres humanos são facilmente enganados. É por isso que as ilusões de ótica funcionam. Além disso, há imagens de que o NN identificará o objeto muito bem, mas um humano não. Em particular, imagens muito barulhentas.
Dunk
5
@ Dunk, mas os humanos são enganados de maneira diferente. Esse é o ponto: se as IAs são enganadas quando os humanos não são, elas não podem ser semelhantes às humanas.
Pacerier 25/10

Respostas:

51

Primeiro, essas imagens (mesmo as primeiras) não são lixo completo, apesar de serem inúteis para os seres humanos; na verdade, eles são afinados com várias técnicas avançadas, incluindo outra rede neural.

A rede neural profunda é a rede pré-treinada, modelada no AlexNet fornecida pela Caffe . Para evoluir imagens, tanto as diretamente codificadas quanto as indiretas, usamos a estrutura evolutiva de Sferes . Toda a base de código para conduzir os experimentos evolutivos pode ser baixada aqui . O código para as imagens produzidas por subida gradiente está disponível aqui .

Imagens que são realmente lixo aleatório foram corretamente reconhecidas como nada significativas:

Em resposta a uma imagem irreconhecível, as redes poderiam gerar uma baixa confiança para cada uma das 1000 classes, em vez de um valor de confiança extremamente alto para uma das classes. De fato, eles fazem exatamente isso para imagens geradas aleatoriamente (por exemplo, as da geração 0 da corrida evolutiva)

O objetivo original dos pesquisadores era usar as redes neurais para gerar automaticamente imagens semelhantes às reais (obtendo o feedback do reconhecedor e tentando mudar a imagem para obter um resultado mais confiante), mas eles acabaram criando a arte acima . Observe como, mesmo nas imagens estáticas, há pequenas manchas - geralmente perto do centro - que, é justo dizer, estão provocando o reconhecimento.

Não estávamos tentando produzir imagens contraditórias e irreconhecíveis. Em vez disso, estávamos tentando produzir imagens reconhecíveis, mas essas imagens irreconhecíveis surgiram.

Evidentemente, essas imagens tinham os recursos distintivos certos para combinar com o que a IA procurava nas fotos. A imagem "remo" tem uma forma de remo, o "bagel" é redondo e a cor certa, a imagem do "projetor" é semelhante a uma lente de câmera, o "teclado do computador" é um monte de retângulos (como as chaves individuais) e a "cerca de arame" legitimamente parece uma cerca de arame para mim.

Figura 8. A evolução das imagens para corresponder às classes DNN produz uma enorme diversidade de imagens. São exibidas imagens selecionadas para mostrar a diversidade de 5 execuções evolutivas. A diversidade sugere que as imagens não são aleatórias, mas que evoluem produzindo características discriminatórias de cada classe-alvo.

Leitura adicional: o artigo original (PDF grande)

Ben N
fonte
O problema é - como o DNN dá tanta confiança ~ 99% !que essas imagens de alguns objetos-padrão estão representando objetos verdadeiros? A menos que DNN é mentalmente doente e pensa que é preciso teste de Rorschach em algum :-) hospitalar
Agnius Vasiliauskas
Desculpe, eu não pude resistir :-) "Bagel" é redondo, mas é sol, globo ocular, etc. "Projetor" pode ser um modelo de átomo, seção transversal do feixe de laser, etc. E assim por diante. Então, por que diabos, o bagel é preferível ao sol, o projetor é preferido ao esquema de átomos, etc. com 99%confiança? Para mim - a principal diferença entre DNN e reconhecimento humano é o fato de que os humanos não são forçados a reconhecer algo, enquanto NN parece ser!
Agnius Vasiliauskas
25

As imagens que você forneceu podem ser irreconhecíveis para nós. Na verdade, são as imagens que reconhecemos, mas evoluímos usando a estrutura evolutiva de Sferes .

Embora essas imagens sejam quase impossíveis para os seres humanos rotularem com algo além de artes abstratas, a Deep Neural Network os rotulará como objetos familiares com 99,99% de confiança.

Este resultado destaca diferenças entre como DNNs e humanos reconhecem objetos. As imagens são codificadas diretamente (ou indiretamente)

De acordo com este vídeo

Alterar uma imagem originalmente classificada de maneira imperceptível aos seres humanos pode fazer com que a DNN a classifique como outra coisa.

Na imagem abaixo, o número na parte inferior é suposto que as imagens se pareçam com os dígitos. Mas a rede acredita que as imagens na parte superior (como ruído branco) são dígitos reais com 99,99% de certeza.

insira a descrição da imagem aqui

A principal razão pela qual eles são facilmente enganados é que a Rede Neural Profunda não vê o mundo da mesma maneira que a visão humana. Usamos toda a imagem para identificar as coisas, enquanto o DNN depende dos recursos. Desde que o DNN detecte certos recursos, ele classificará a imagem como um objeto familiar no qual foi treinado. Os pesquisadores propuseram uma maneira de evitar tais enganos, adicionando as imagens enganadoras ao conjunto de dados em uma nova classe e treinando o DNN no conjunto de dados ampliado. No experimento, a pontuação de confiança diminui significativamente para o ImageNet AlexNet. Desta vez, não é fácil enganar o DNN treinado. Mas quando os pesquisadores aplicaram esse método ao MNIST LeNet, a evolução ainda produz muitas imagens irreconhecíveis com índices de confiança de 99,99%.

Mais detalhes aqui e aqui .

Vishnu JK
fonte
13

Todas as respostas aqui são ótimas, mas, por algum motivo, nada foi dito até agora sobre por que esse efeito não deve surpreendê- lo. Vou preencher o espaço em branco.

Deixe-me começar com um requisito absolutamente essencial para que isso funcione: o invasor deve conhecer a arquitetura de rede neural (número de camadas, tamanho de cada camada, etc.). Além disso, em todos os casos que eu me examinei, o invasor conhece o instantâneo do modelo usado na produção, ou seja, todos os pesos. Em outras palavras, o "código fonte" da rede não é um segredo.

Você não pode enganar uma rede neural se a tratar como uma caixa preta. E você não pode reutilizar a mesma imagem enganadora para redes diferentes. De fato, você precisa "treinar" a rede de destino e aqui, treinando, quero passar passes para frente e para trás, mas especialmente criados para outro objetivo.

Por que está funcionando?

Agora, aqui está a intuição. As imagens são muito dimensionais: até o espaço de pequenas imagens coloridas de 32x32 possui 3 * 32 * 32 = 3072dimensões. Mas o conjunto de dados de treinamento é relativamente pequeno e contém imagens reais, todas com alguma estrutura e boas propriedades estatísticas (por exemplo, suavidade da cor). Portanto, o conjunto de dados de treinamento está localizado em uma minúscula variedade desse enorme espaço de imagens.

As redes convolucionais funcionam extremamente bem nessa variedade, mas basicamente não sabem nada sobre o resto do espaço. A classificação dos pontos fora do coletor é apenas uma extrapolação linear com base nos pontos dentro do coletor. Não é de admirar que alguns pontos específicos sejam extrapolados incorretamente. O atacante precisa apenas de uma maneira de navegar até o ponto mais próximo desses pontos.

Exemplo

Deixe-me dar um exemplo concreto de como enganar uma rede neural. Para torná-lo compacto, vou usar uma rede de regressão logística muito simples com uma não linearidade (sigmóide). É preciso uma entrada 10-dimensional x, calcula um número único p=sigmoid(W.dot(x)), que é a probabilidade da classe 1 (versus a classe 0).

regressão logística

Suponha que você saiba W=(-1, -1, 1, -1, 1, -1, 1, 1, -1, 1)e comece com uma entrada x=(2, -1, 3, -2, 2, 2, 1, -4, 5, 1). Um passe para frente dá sigmoid(W.dot(x))=0.0474ou 95% de probabilidade que xé exemplo da classe 0.

x e W

Gostaríamos de encontrar outro exemplo, yque é muito próximo, xmas é classificado pela rede como 1. Observe que xé 10-dimensional, portanto, temos a liberdade de ajustar 10 valores, o que é muito.

Como W[0]=-1é negativo, é melhor ter um pequeno y[0]para fazer uma contribuição total de y[0]*W[0]pequeno. Portanto, vamos fazer y[0]=x[0]-0.5=1.5. Da mesma forma, W[2]=1é positiva, por isso é melhor para aumentar y[2]a fazer y[2]*W[2]maior: y[2]=x[2]+0.5=3.5. E assim por diante.

x, W e y

O resultado é y=(1.5, -1.5, 3.5, -2.5, 2.5, 1.5, 1.5, -3.5, 4.5, 1.5)e sigmoid(W.dot(y))=0.88. Com essa alteração, melhoramos a probabilidade de classe 1 de 5% para 88%!

Generalização

Se você observar atentamente o exemplo anterior, perceberá que eu sabia exatamente como ajustar xpara movê-lo para a classe de destino, porque conhecia o gradiente da rede. O que fiz foi na verdade uma retropropagação , mas com relação aos dados, em vez de pesos.

Em geral, o invasor começa com a distribuição de destino (0, 0, ..., 1, 0, ..., 0)(zero em todos os lugares, exceto a classe que deseja obter), retropropagou para os dados e fez um pequeno movimento nessa direção. O estado da rede não é atualizado.

Agora, deve ficar claro que é um recurso comum das redes feed-forward que lidam com um pequeno coletor de dados, independentemente da profundidade ou da natureza dos dados (imagem, áudio, vídeo ou texto).

Poção

A maneira mais simples de impedir que o sistema seja enganado é usar um conjunto de redes neurais, isto é, um sistema que agrega os votos de várias redes em cada solicitação. É muito mais difícil retropropagar em relação a várias redes simultaneamente. O invasor pode tentar fazer isso sequencialmente, uma rede por vez, mas a atualização para uma rede pode facilmente atrapalhar os resultados obtidos para outra rede. Quanto mais redes são usadas, mais complexo o ataque se torna.

Outra possibilidade é suavizar a entrada antes de passá-la para a rede.

Uso positivo da mesma ideia

Você não deve pensar que a retropropagação da imagem tenha apenas aplicativos negativos. Uma técnica muito semelhante, chamada deconvolução , é usada para visualização e melhor compreensão do que os neurônios aprenderam.

Essa técnica permite sintetizar uma imagem que causa o disparo de um neurônio em particular, basicamente visualmente "o que o neurônio está procurando", o que geralmente torna as redes neurais convolucionais mais interpretáveis.

Máxima
fonte
10

Uma pergunta importante que ainda não tem uma resposta satisfatória na pesquisa de redes neurais é como as DNNs apresentam as previsões que oferecem. Os DNNs funcionam efetivamente (embora não exatamente) combinando patches nas imagens com um "dicionário" de patches, um armazenado em cada neurônio (consulte o artigo sobre gatos do youtube ). Portanto, ela pode não ter uma visão de alto nível da imagem, uma vez que apenas analisa os patches, e as imagens geralmente são reduzidas para uma resolução muito menor para obter os resultados nos sistemas de geração atual. Métodos que analisam como os componentes da imagem interagem podem evitar esses problemas.

Algumas perguntas a serem feitas para este trabalho são: Quão confiantes estavam as redes quando fizeram essas previsões? Quanto volume essas imagens antagônicas ocupam no espaço de todas as imagens?

Algum trabalho que conheço a esse respeito vem do laboratório de Dhruv Batra e Devi Parikh, da Virginia Tech, que estuda os sistemas de resposta a perguntas: Analisando o comportamento dos modelos visuais de resposta a perguntas e interpretando modelos visuais de resposta a perguntas .

É necessário mais trabalho desse tipo e, assim como o sistema visual humano também é enganado por essas "ilusões de ótica", esses problemas podem ser inevitáveis ​​se usarmos DNNs, embora nada do AFAIK ainda seja conhecido de qualquer maneira, teoricamente ou empiricamente.

Harsh
fonte
5

Como é possível que redes neurais profundas sejam tão facilmente enganadas?

As redes neurais profundas são facilmente enganadas, fornecendo previsões de alta confiança para imagens irreconhecíveis. Como isso é possível? Você pode, por favor, explicar idealmente em inglês simples ?

Intuitivamente, camadas ocultas extras devem tornar a rede capaz de aprender funções de classificação mais complexas e, assim, realizar uma classificação de trabalho melhor. Embora possa ser chamado de aprendizado profundo , é realmente um entendimento superficial.

Teste seu próprio conhecimento: Qual animal na grade abaixo é um Felis silvestris catus , não tenha pressa e não trapaceie. Aqui está uma dica: qual é um gato doméstico?

Qual é um gato doméstico?

Para uma melhor compreensão, confira: " Ataque adverso a visualizações vulneráveis " e " Por que é difícil treinar redes neurais profundas? ".

O problema é análogo ao aliasing , um efeito que faz com que sinais diferentes se tornem indistinguíveis (ou aliases um do outro) quando amostrados, e o efeito da roda de diligência , em que uma roda com rajada parece girar diferentemente de sua verdadeira rotação.

A rede neural não sabe o que está olhando ou para que lado está indo.

As redes neurais profundas não são especialistas em algo, elas são treinadas para decidir matematicamente que algum objetivo foi atingido; se não são treinadas para rejeitar respostas erradas, não têm um conceito do que está errado; eles apenas sabem o que é correto e o que não é correto - errado e "incorreto" não são necessariamente a mesma coisa, nem "correto" e verdadeiro.

A rede neural não sabe o certo do errado.

Assim como a maioria das pessoas não conheceria um gato doméstico se visse um, dois ou mais, ou nenhum. Quantos gatos domésticos na grade de fotos acima, nenhum. Quaisquer acusações de incluir fotos de gatos fofos são infundadas, todos esses são animais selvagens perigosos.

Aqui está outro exemplo. Responder à pergunta faz com que Bart e Lisa sejam mais inteligentes, a pessoa que eles perguntam, existem variáveis ​​desconhecidas que podem entrar em jogo?

Já estamos lá?

Ainda não estamos lá, mas as redes neurais podem fornecer rapidamente uma resposta que provavelmente está correta, especialmente se ela foi treinada adequadamente para evitar todos os erros.

Roubar
fonte
3

As redes neurais podem ser facilmente enganadas ou invadidas adicionando certo ruído estruturado no espaço da imagem ( Szegedy 2013 , Nguyen 2014 ) devido a ignorar informações não discriminatórias em suas entradas.

Por exemplo:

Aprendendo a detectar onças, combinando os pontos únicos em seus pêlos, ignorando o fato de que eles têm quatro pernas. 2015

Então, basicamente, a previsão de alta confiança em certos modelos existe devido a uma ' combinação de sua natureza localmente linear e espaço de entrada de alta dimensão '. 2015

Publicado como um documento de conferência na ICLR 2015 (trabalho de Dai), sugere que a transferência de parâmetros discriminados para modelos generativos pode ser uma ótima área para novas melhorias.

kenorb
fonte
3

Não posso comentar (devido aos 50 representantes necessários), mas eu queria responder ao Vishnu JK e ao OP. Eu acho que vocês estão ignorando o fato de que a rede neural está realmente dizendo verdadeiramente do ponto de vista programático que "isso é mais parecido".

Por exemplo, embora possamos listar os exemplos de imagens acima como "arte abstrata", eles definitivamente são mais parecidos com os listados. Lembre-se de que os algoritmos de aprendizagem têm um escopo sobre o que eles reconhecem como um objeto e, se você olhar para todos os exemplos acima ... e pensar sobre o escopo do algoritmo ... estes fazem sentido (mesmo aqueles de relance que reconheceríamos como ruído branco). No exemplo dos números em Vishnu, se você mexer os olhos e tirar as imagens fora de foco, é possível em todos os casos padrões de manchas que realmente refletem de perto os números em questão.

O problema que está sendo mostrado aqui é que o algoritmo parece não ter um "caso desconhecido". Basicamente, quando o reconhecimento de padrões diz que não existe no escopo de saída. (portanto, um grupo de nós de saída final que diz que isso não é nada que eu saiba). Por exemplo, as pessoas fazem isso também, pois é algo que os humanos e os algoritmos de aprendizado têm em comum. Aqui está um link para mostrar do que estou falando (o que é o seguinte, defina-o) usando apenas animais conhecidos que existem:

Link de imagem

Agora, como pessoa, limitada pelo que sei e posso dizer, eu teria que concluir que o seguinte é um elefante. Mas isso não. Os algoritmos de aprendizado (na maioria das vezes) não possuem uma declaração "like a", a saída sempre valida para uma porcentagem de confiança. Enganar alguém dessa maneira não é surpreendente ... o que é surpreendente é que, com base em seu conjunto de conhecimentos, ele chega ao ponto em que, se você observar os casos acima listados por OP e Vishnu que uma pessoa. .. com um pouco de atenção ... pode ver como o algoritmo de aprendizado provável tornou a associação.

Então, eu realmente não chamaria isso de rótulo incorreto por parte do algoritmo, nem o chamaria de um caso em que foi enganado ... em vez disso, um caso em que seu escopo foi desenvolvido incorretamente.

Métrica
fonte
2

Já existem muitas boas respostas, acrescentarei apenas as que vieram antes das minhas:

Esse tipo de imagem a que você está se referindo é chamado de perturbação contraditória (veja 1 , e não se limita a imagens, também foi mostrado que se aplica ao texto). Veja Jia & Liang, EMNLP 2017. No texto, a introdução de um uma frase irrelevante que não contradiga o parágrafo foi vista como causa da rede chegar a uma resposta completamente diferente (consulte Jia & Liang, EMNLP 2017 ).

A razão pela qual eles funcionam é devido ao fato de a rede neural ver as imagens de uma maneira diferente da nossa, juntamente com a alta dimensão do espaço do problema. Onde vemos toda a imagem, eles veem uma combinação de recursos que se combinam para formar um objeto ( Moosavi-Dezfooli et al., CVPR 2017 ). De acordo com a perturbação gerada contra uma rede, tem alta probabilidade de funcionar em outras redes:

perturbações

Na figura acima, é visto que as perturbações universais calculadas para a rede VGG-19, por exemplo, têm uma taxa de enganos acima de 53% para todas as outras arquiteturas testadas.

Então, como você lida com a ameaça de perturbações contraditórias? Bem, por um lado, você pode tentar gerar o máximo de perturbações possível e usá-las para ajustar seu modelo. Embora isso resolva um pouco o problema, ele não resolve completamente o problema. Em ( Moosavi-Dezfooli et al., CVPR 2017 ), o autor relatou que, repetir o processo computando novas perturbações e depois ajustar novamente parece não produzir melhorias adicionais, independentemente do número de iterações, com a taxa de enganação pairando em torno de 80%.

Perturbações são uma indicação da correspondência superficial rasa que as redes neurais realizam, juntamente com sua mínima falta de compreensão profunda do problema em questão. Mais trabalho ainda precisa ser feito.

Tshilidzi Mudau
fonte
2

A maioria das outras respostas é interessante, e algumas mostram algum rigor, por isso não vou duplicar esse tratamento, mas apresentarei uma resposta qualitativa que fala mais ao estado da pesquisa do que uma avaliação exata da falta de defesas de segurança no país. projetos de redes artificiais atuais.

Se alguém perguntasse: "Como é que os humanos são tão facilmente enganados?" Eu sorria de acordo e dizia: "Suponho que não somos tão profundos".

Essa é a minha avaliação do estado das redes artificiais também. No entanto, mais inovação e descoberta podem ocorrer, e a questão da segurança no treinamento, na implantação e no uso em campo dos componentes de IA certamente será abordada quando ataques bem-sucedidos custarem credibilidade e boa vontade às empresas.

A venda de tecnologia mal protegida não é novidade. Ninguém aqui no laboratório colocará qualquer teoria, dado ou procedimento científico na nuvem, a menos que já tenhamos licenciado produtos comuns ou criativos de código aberto.

FauChristian
fonte