Por que as redes neurais são facilmente enganadas?

13

Eu li alguns artigos sobre imagens manualmente inventadas para "enganar" uma rede neural (veja abaixo).

Isso ocorre porque as redes modelam apenas a probabilidade condicional p(y|x) ?
Se uma rede puder modelar a probabilidade conjunta p(y,x) , esses casos ainda ocorrerão?

Meu palpite é que essas imagens geradas artificialmente são diferentes dos dados de treinamento, portanto são de baixa probabilidade p(x) . Portanto, deve ser baixo, mesmo que possa ser alto para essas imagens.p(y,x)p(y|x)

Atualizar

Eu tentei alguns modelos generativos, acabou não sendo útil, então acho que provavelmente isso é uma consequência do MLE?

Quero dizer, no caso em que a divergência KL é usada como função de perda, o valor de que p d a t a ( x ) é pequeno não afeta a perda. Portanto, para uma imagem artificial que não corresponde a p d a t a , o valor de p θ pode ser arbitrário.pθ(x)pdumatuma(x)pdumatumapθ

Atualizar

Encontrei um blog de Andrej Karpathy que mostra

Esses resultados não são específicos para imagens, ConvNets e também não são uma “falha” no Deep Learning.

insira a descrição da imagem aqui
EXPLICAR E APRENDER A EXEMPLOS ADVERSÁRIOS As redes neurais profundas são facilmente enganadas: previsões de alta confiança para imagens irreconhecíveis
insira a descrição da imagem aqui

dontloo
fonte
A pergunta parece estar fora de DNNs, em vez de NNs em geral?
Matthew Gunn
@ MatthewGunn Não tenho certeza, de acordo com a resposta de seanv507, parece um problema mais geral.
dontloo
@MattewGunn explicar e aproveitamento exemplos contraditório papel - mostra também se aplica a regressão logística
seanv507

Respostas:

10

Os tipos de modelos aos quais você está se referindo são chamados de modelos 'generativos', em vez de discriminatórios, e realmente não escalam dados de alta dimensão. Parte do sucesso da NN em tarefas de linguagem é a mudança de um modelo generativo (HMM) para um modelo discriminatório 'mais' (por exemplo, o MEMM usa regressão logística que permite que dados contextuais sejam usados ​​com eficácia https://en.wikipedia.org/ wiki / Hidden_Markov_model # Extensions )

Eu argumentaria que a razão pela qual eles são enganados é um problema mais geral. É o domínio atual da IA ​​'superficial' dirigida por ML sobre métodos mais sofisticados. [em muitos artigos, menciona-se que outros modelos de ML também são facilmente enganados - http://www.kdnuggets.com/2015/07/deep-learning-adversarial-examples-misconceptions.html - Ian Goodfellow]

o 'modelo de linguagem' mais eficaz para muitas tarefas é 'saco de palavras'. Ninguém alegaria que isso representa um modelo significativo da linguagem humana. não é difícil imaginar que esse tipo de modelo também seja facilmente enganado.

da mesma forma, as tarefas de visão computacional, como o reconhecimento de objetos, foram revolucionadas por uma "bolsa visual de palavras", que afastou os métodos mais intensivos em computação (que não podiam ser aplicados a conjuntos de dados massivos).

Na CNN, eu argumentaria um 'saco visual de palavras' melhor - como você mostra em suas imagens, os erros são cometidos nos recursos de nível de pixel / nível baixo; apesar de toda a hipérbole, não há representação de alto nível nas camadas ocultas - (todo mundo comete erros, o ponto é que uma pessoa cometeria 'erros' devido a características de nível mais alto e, por exemplo, reconhecia um desenho animado de um gato, o que eu não sei). Não acredito que um NN faria).

Um exemplo de um modelo mais sofisticado de visão computacional (com desempenho inferior ao NN) é, por exemplo, o modelo de 'peças deformáveis'.

seanv507
fonte
4

Até onde eu sei, a maioria das redes neurais não usa uma distribuição de probabilidade a priori sobre as imagens de entrada. No entanto, você pode interpretar a seleção do conjunto de treinamento como uma distribuição de probabilidade. Nessa visão, é improvável que essas imagens geradas artificialmente sejam escolhidas como imagens no conjunto de testes. Uma maneira de medir a 'probabilidade conjunta' seria gerar imagens aleatoriamente e depois rotulá-las. O problema seria que a vasta maioria VAST não teria rótulo. Portanto, obter um número razoável de exemplos rotulados levaria muito tempo.

dimpol
fonte
obrigado por responder :) Não sei bem o que significa "Uma maneira de medir a 'probabilidade conjunta' seria gerar imagens aleatoriamente e depois rotulá-las." você quer rotular imagens aleatórias manualmente (como outra categoria )?
dontloo
1
Quero dizer, gerar imagens escolhendo os valores RGB de cada pixel aleatoriamente. Isso significaria que a imagem do panda no canto superior direito da sua postagem e a imagem do panda no canto superior esquerdo "gibão" teriam igual probabilidade de serem geradas. O problema é que cada pixel tem 2 ^ 24 cores possíveis e a grande maioria das imagens geradas seria absurda. No momento em que você gerasse uma única imagem que pudesse ser rotulada como "panda", o universo teria desaparecido.
Dimpol # 25/16
oh, entendo, parece muito trabalho a fazer, de qualquer forma, obrigado.
Dontloo 25/10/19