Para modelos estatísticos e de aprendizado de máquina, existem vários níveis de interpretabilidade: 1) o algoritmo como um todo, 2) partes do algoritmo em geral 3) partes do algoritmo em entradas específicas, e esses três níveis divididos em duas partes cada, um para treinamento e outro para avaliação de função. As duas últimas partes estão muito mais próximas que a primeira. Estou perguntando sobre o número 2, o que geralmente leva a uma melhor compreensão do número 3). (se não é esse o significado de 'interpretabilidade', o que devo estar pensando?)
No que diz respeito à interpretabilidade, a regressão logística é uma das mais fáceis de interpretar. Por que essa instância passou do limite? Porque essa instância tinha essa característica positiva específica e possui um coeficiente maior no modelo. É tão óbvio!
Uma rede neural é o exemplo clássico de um modelo difícil de interpretar. O que significam todos esses coeficientes ? Todos eles se somam de maneiras malucas tão complicadas que é difícil dizer o que qualquer coeficiente em particular está realmente fazendo.
Mas com todas as redes neurais profundas saindo, parece que as coisas estão ficando mais claras. Os modelos de DL (por exemplo, visão) parecem capturar coisas como bordas ou orientação nas camadas iniciais, e nas camadas posteriores parece que alguns nós são realmente semânticos (como a proverbial "célula da avó" ). Por exemplo:
( de 'Aprendendo sobre aprendizado profundo' )
Este é um gráfico ( de muitos por aí ) criado à mão para apresentação, por isso sou muito cético. Mas é evidência de que alguém pensa que é assim que funciona.
Talvez no passado não houvesse camadas suficientes para encontrarmos recursos reconhecíveis; os modelos foram bem-sucedidos, mas não é fácil analisar post-hoc em particular.
Mas talvez o gráfico seja apenas uma ilusão. Talvez os NNs sejam verdadeiramente inescrutáveis.
Mas os muitos gráficos com seus nós rotulados com imagens também são realmente atraentes.
Os nós DL realmente correspondem aos recursos?
Respostas:
A interpretação de modelos profundos ainda é um desafio.
Sua postagem menciona apenas CNNs para aplicativos de visão computacional, mas redes feed-forward (profundas ou rasas) e redes recorrentes continuam sendo difíceis de entender.
Mesmo no caso de CNNs que possuem estruturas óbvias de "detector de recursos", como bordas e orientação de patches de pixel, não é completamente óbvio como esses recursos de nível inferior são agregados para cima ou o que exatamente está acontecendo quando esses recursos de visão são agregados em uma camada totalmente conectada.
Exemplos adversos mostram como a interpretação da rede é difícil. Um exemplo contraditório tem algumas pequenas modificações feitas, mas resulta em uma mudança drástica na decisão tomada pelo modelo. No contexto da classificação de imagens, uma pequena quantidade de ruído adicionada a uma imagem pode alterar a imagem de um lagarto para ter uma classificação altamente confiante como outro animal, como um (espécie de) cachorro.
Isso está relacionado à interpretabilidade no sentido de que há uma relação forte e imprevisível entre a (pequena) quantidade de ruído e a (grande) mudança na decisão de classificação. Pensando em como essas redes operam, faz algum sentido: os cálculos nas camadas anteriores são propagados para a frente, para que vários erros - pequenos e sem importância para o ser humano - sejam ampliados e se acumulem à medida que mais e mais cálculos são realizados usando o entradas "corrompidas".
Por outro lado, a existência de exemplos contraditórios mostra que a interpretação de qualquer nó como uma característica ou classe específica é difícil, pois o fato de o nó estar ativado pode ter pouco a ver com o conteúdo real da imagem original e que esse relacionamento não é realmente previsível em termos da imagem original. Mas nas imagens de exemplo abaixo, nenhum ser humano é enganado sobre o conteúdo das imagens: você não confundiria o mastro de bandeira de um cachorro. Como podemos interpretar essas decisões, de forma agregada (um pequeno padrão de ruído "transmuta" um lagarto em cachorro ou um mastro de bandeira em um cachorro) ou em pedaços menores (que vários detectores de recursos são mais sensíveis ao padrão de ruído do que a imagem real conteúdo)?
O HAAM é um novo método promissor para gerar imagens adversárias usando funções harmônicas. ("Método de ataque adverso harmônico" Wen Heng, Shuchang Zhou, Tingting Jiang.) As imagens geradas usando esse método podem ser usadas para simular efeitos de iluminação / sombra e geralmente são ainda mais difíceis para os seres humanos detectarem como tendo sido alteradas.
Como exemplo, veja esta imagem, tirada de " Perturbações adversas universais ", de Seyed-Mohsen Moosavi-Dezfooli, Alhussein Fawzi, Omar Fawzi e Pascal Frossard. Escolhi essa imagem apenas porque foi uma das primeiras imagens contraditórias que me deparei. Esta imagem estabelece que um padrão de ruído específico tem um efeito estranho na decisão de classificação de imagens, especificamente que você pode fazer uma pequena modificação em uma imagem de entrada e fazer o classificador pensar que o resultado é um cachorro. Observe que a imagem original subjacente ainda é óbvia: em todos os casos, um humano não se confunde ao pensar que qualquer uma das imagens que não são cães são cães.
Aqui está um segundo exemplo de um artigo mais canônico, " EXPLICANDO E APRENDENDO EXEMPLOS ADVERSÁRIOS ", de Ian J. Goodfellow, Jonathon Shlens e Christian Szegedy. O ruído adicionado é completamente indistinguível na imagem resultante, mas o resultado é classificado com muita confiança como o resultado errado, um gibão em vez de um panda. Nesse caso, pelo menos, há pelo menos uma semelhança passageira entre as duas classes, uma vez que os gibões e os pandas são pelo menos algo biológica e esteticamente semelhantes no sentido mais amplo.
Este terceiro exemplo é retirado de " Detecção de exemplos adversos generalizáveis com base em incompatibilidade de decisão entre modelos ", de João Monteiro, Zahid Akhtar e Tiago H. Falk. Estabelece que o padrão de ruído pode ser indistinguível de um ser humano e ainda confundir o classificador.
Para referência, um filhote de lama é um animal de cor escura com quatro membros e uma cauda, por isso não tem muita semelhança com um peixe dourado.
Portanto, em vez de ter 'detectores de recursos' nos níveis mais altos, os nós meramente representam coordenadas em um espaço de recursos que a rede usa para modelar os dados.
fonte
As camadas não são mapeadas para recursos sucessivamente mais abstratos da maneira mais limpa que gostaríamos. Uma boa maneira de ver isso é comparar duas arquiteturas muito populares.
O VGG16 consiste em muitas camadas convolucionais empilhadas umas sobre as outras com a camada de pool ocasional - uma arquitetura muito tradicional.
Desde então, as pessoas passaram a projetar arquiteturas residuais, nas quais cada camada está conectada não apenas à camada anterior, mas também a uma (ou possivelmente mais) camadas mais abaixo no modelo. O ResNet foi um dos primeiros a fazer isso e possui cerca de 100 camadas, dependendo da variante usada.
Embora o VGG16 e redes similares tenham camadas de maneira mais ou menos interpretável - aprendendo recursos de níveis cada vez mais altos, as ResNets não fazem isso. Em vez disso, as pessoas propuseram que continuem refinando os recursos para torná-los mais precisos ou que sejam apenas um monte de redes rasas disfarçadas , nenhuma das quais corresponde às "visões tradicionais" sobre o que os modelos profundos aprendem.
Embora o ResNet e arquiteturas similares superem facilmente o VGG na classificação de imagens e detecção de objetos, parece haver alguns aplicativos para os quais a simples hierarquia de recursos de baixo para cima do VGG é muito importante. Veja aqui uma boa discussão.
Portanto, considerando que arquiteturas mais modernas parecem não se encaixar mais no quadro, eu diria que ainda não podemos dizer que as CNNs são interpretáveis.
fonte
O assunto da minha dissertação de doutorado foi revelar as propriedades da caixa preta de redes neurais, especificamente redes neurais de alimentação direta, com uma ou duas camadas ocultas.
Aceitarei o desafio de explicar a todos o que significam os termos de ponderação e viés, em uma rede neural de feed-forward de uma camada. Duas perspectivas diferentes serão abordadas: uma paramétrica e uma probabilística.
A seguir, presumo que os valores de entrada fornecidos para cada neurônio de entrada tenham sido normalizados no intervalo (0,1), por escala linear ( ), onde os dois os coeficientes e são escolhidos por variável de entrada, de modo que . Eu faço uma distinção entre variáveis numeradas reais e variáveis enumeradas (com uma variável booleana como uma variável enumerada de caso especial):xinput=α⋅x+β α β xinput∈(0,1)
Essa representação dos dados de entrada é necessária para poder interpretar o tamanho (valor absoluto) dos pesos na camada de entrada.
Significado paramétrico:
Raciocínio a partir de um neurônio de saída : quais neurônios ocultos têm os maiores valores absolutos de peso, em suas conexões com os neurônios de saída? Com que frequência a ativação de cada nó oculto se aproxima de (assumindo funções de ativação sigmóide). Estou falando de frequências, medidas ao longo do conjunto de treinamento. Para ser mais preciso: o que representa a frequência com que os nós escondidos e , com grandes pesos para as variáveis de entrada e , que estes nós escondidos e encontram-se perto de1 i l t s i l 1 ? Cada nó oculto propaga uma média ponderada de seus valores de entrada, por definição. Quais variáveis de entrada cada nó oculto promove principalmente - ou inibe? Além disso, explica muito, a diferença absoluta de pesos entre os pesos que se espalham do nó oculto para os dois nós de saída e .Δj,k=∣wi,j−wi,k∣ i j k
Os nós ocultos mais importantes são para um nó de saída (falando em frequências, sobre o conjunto de treinamento), quais 'pesos de entrada vezes as frequências de entrada' são mais importantes? Em seguida, concluímos a importância dos parâmetros das redes neurais feed-forward.
Interpretação probabilística:
A perspectiva probabilística significa considerar uma rede neural de classificação como um classificador de Bayes (o classificador ideal, com a menor taxa de erro teoricamente definida). Quais variáveis de entrada influenciam o resultado da rede neural - e com que frequência? Considere isso como uma análise de sensibilidade probabilística. Com que frequência a variação de uma variável de entrada leva a uma classificação diferente? Com que frequência o neurônio de entrada tem influência potencial sobre qual resultado de classificação se torna mais provável, implicando que o neurônio de saída correspondente alcance o valor mais alto?xinput
Caso individual - padrão
Ao variar um neurônio de entrada com número real pode causar alterações na classificação mais provável, dizemos que essa variável tem influência potencial . Ao variar o resultado de uma variável enumerada (alterando o dia da semana de segunda-feira para terça-feira ou qualquer outro dia da semana ) e o resultado mais provável é alterado, então essa variável enumerada tem potencial influência no resultado da classificação.xinput [1,0,0,0,0,0,0] [0,1,0,0,0,0,0]
Quando agora levamos em conta a probabilidade dessa mudança, discutimos a influência esperada . Qual é a probabilidade de observar uma variável de entrada variável forma que um caso de entrada mude o resultado, dados os valores de todas as outras entradas ? A influência esperada refere-se ao valor esperado de , ou seja, . Aqui é o vetor de todos os valores de entrada, exceto da entrada . Lembre-se de que uma variável enumerada é representada por vários neurônios de entrada. Esses possíveis resultados são aqui considerados como uma variável. x i n p u t E ( x i n p u t | x - i n p u t ) x - i n p u t x i n p u txinput xinput E(xinput∣x−input) x−input xinput
Inclinação profunda - e o significado dos parâmetros NN
Quando aplicadas à visão computacional, as redes neurais mostraram um progresso notável na última década. As redes neurais convolucionais introduzidas por LeCunn em 1989 acabaram se saindo muito bem em termos de reconhecimento de imagem. Foi relatado que eles podem superar a maioria das outras abordagens de reconhecimento baseadas em computador.
Propriedades emergentes interessantes aparecem quando redes neurais convolucionais estão sendo treinadas para o reconhecimento de objetos. A primeira camada de nós ocultos representa detectores de recursos de baixo nível, semelhantes aos operadores de espaço de escala T. Lindeberg, Detecção de recursos com seleção automática de escala, 1998 . Esses operadores de espaço de escala detectam
e alguns outros recursos básicos de imagem.
Ainda mais interessante é o fato de que os neurônios perceptivos nos cérebros de mamíferos parecem se assemelhar a essa maneira de trabalhar nas primeiras etapas do processamento de imagens (biológicas). Assim, com as CNNs, a comunidade científica está se aproximando do que torna a percepção humana tão fenomenal. Isso faz com que valha a pena continuar mais essa linha de pesquisa.
fonte