Os cientistas sabem o que está acontecendo dentro das redes neurais artificiais?


69

Os cientistas ou especialistas em pesquisa sabem da cozinha o que está acontecendo dentro de uma rede neural "profunda" complexa, com pelo menos milhões de conexões disparando em um instante? Eles entendem o processo por trás disso (por exemplo, o que está acontecendo por dentro e como funciona exatamente) ou é um assunto de debate?

Por exemplo, este estudo diz:

No entanto, não há uma compreensão clara do porquê de terem um desempenho tão bom ou de como podem ser melhorados.

Então, isso significa que os cientistas realmente não sabem como modelos complexos de redes convolucionais funcionam?


" por que eles se saem tão bem " - eles realmente não se saem tão bem. Como na maioria das novas tecnologias, as falhas são subnotificadas.
Tomáš Zato

Respostas:


51

Existem muitas abordagens que visam tornar uma rede neural treinada mais interpretável e menos parecida com uma "caixa preta", especificamente redes neurais convolucionais que você mencionou.

Visualizando as ativações e pesos da camada

A visualização de ativações é a primeira óbvia e direta. Para redes ReLU, as ativações geralmente começam relativamente esbeltas e densas, mas à medida que o treinamento avança, as ativações geralmente se tornam mais esparsas (a maioria dos valores é zero) e localizadas. Às vezes, isso mostra o que exatamente uma camada específica é focada quando vê uma imagem.

Outro ótimo trabalho sobre ativações que eu gostaria de mencionar é o deepvis, que mostra a reação de todos os neurônios em cada camada, incluindo as camadas de pool e normalização. Aqui está como eles descrevem :

Em resumo, reunimos alguns métodos diferentes que permitem “triangular” o recurso que um neurônio aprendeu, o que pode ajudá-lo a entender melhor como funcionam os DNNs.

A segunda estratégia comum é visualizar os pesos (filtros). Eles geralmente são mais interpretáveis ​​na primeira camada CONV, que está olhando diretamente para os dados brutos de pixel, mas é possível também mostrar os pesos dos filtros mais profundos na rede. Por exemplo, a primeira camada geralmente aprende filtros semelhantes a gabor que basicamente detectam arestas e bolhas.

filtros de primeira camada

Experimentos de oclusão

Aqui está a ideia. Suponha que um ConvNet classifique uma imagem como um cachorro. Como podemos ter certeza de que ele está realmente captando o cachorro na imagem, em oposição a algumas dicas contextuais do plano de fundo ou a algum outro objeto diverso?

Uma maneira de investigar qual parte da imagem vem de alguma previsão de classificação é plotando a probabilidade da classe de interesse (por exemplo, classe de cães) como uma função da posição de um objeto oclusor. Se iterarmos por regiões da imagem, substituí-la por todos os zeros e verificar o resultado da classificação, podemos criar um mapa de calor bidimensional do que é mais importante para a rede em uma imagem específica. Essa abordagem foi usada nas redes convolucionais de visualização e compreensão de Matthew Zeiler (a que você se refere na sua pergunta):

experimentos de oclusão

Deconvolução

Outra abordagem é sintetizar uma imagem que provoca o disparo de um neurônio em particular, basicamente o que o neurônio está procurando. A idéia é calcular o gradiente em relação à imagem, em vez do gradiente usual em relação aos pesos. Então você escolhe uma camada, defina o gradiente para que seja zero, exceto um para um neurônio e backprop para a imagem.

Deconv realmente faz algo chamado backpropagation guiado para criar uma imagem mais bonita, mas é apenas um detalhe.

Abordagens semelhantes a outras redes neurais

Recomendo vivamente este post de Andrej Karpathy , no qual ele brinca muito com as Redes Neurais Recorrentes (RNN). No final, ele aplica uma técnica semelhante para ver o que os neurônios realmente aprendem:

O neurônio destacado nesta imagem parece ficar muito animado com os URLs e desliga fora dos URLs. O LSTM provavelmente está usando esse neurônio para lembrar se ele está dentro de um URL ou não.

Conclusão

Mencionei apenas uma pequena fração dos resultados nessa área de pesquisa. É bastante ativo e novos métodos que lançam luz ao funcionamento interno da rede neural aparecem a cada ano.

Para responder à sua pergunta, sempre há algo que os cientistas ainda não sabem, mas em muitos casos eles têm uma boa imagem (literária) do que está acontecendo lá dentro e podem responder a muitas perguntas específicas.

Para mim, a citação de sua pergunta simplesmente destaca a importância da pesquisa não apenas da melhoria da precisão, mas também da estrutura interna da rede. Como Matt Zieler conta nesta palestra , às vezes uma boa visualização pode levar, por sua vez, a uma melhor precisão.


Visualizar é saber? Ou isso é apenas uma solução moderna para a ignorância? Talvez o desenvolvimento matemático seja a área que mais carece de rigor e suficiência.
FauChristian

11
@FauChristian Você está perdendo o ponto aqui. Os pesos e todas as operações matemáticas dentro de uma rede neural são conhecidos exatamente, assim como o código de montagem. Isso está fora de questão. A visualização permite entender por que certas operações estão acontecendo e levar a um bom desempenho. Mais uma vez, assim como os algoritmos clássicos de ciência da computação. Além disso, encorajo você a ler o artigo de Zieler, mencionado na resposta.
Maxim

11
Eu não perdi esses pontos, tendo estudado eles na graduação. Eu estava com preguiça de comentar. A grade em preto e branco que representa os kernels é interessante apenas porque mostra uma matriz um tanto caótica de estados do núcleo de detecção de bordas onduladas, indicando a necessidade de caracterizar o caos para compreendê-lo. Qual é a distribuição de tamanho, distribuição angular e distribuição de inclinação? Essas distribuições indicam (a) Um ajuste excessivo específico para determinados conjuntos de dados ou (b) Um padrão geral que pode ser substituído por um bloco funcional com maior eficiência computacional. ~~ Uma vez não posso dizer pelo visual.
FauChristian

11
Certo, todas essas distribuições (e muitas outras) não são computadas aqui. Isso não significa que eles não podem ou não devem ser computados. Também não significa que a interpretação do modelo não tenha nada a ver com a visualização. Mais uma vez, encorajo você a ler "Visualizando e compreendendo redes convolucionais", de Zieler, onde os autores discutem isso em detalhes.
Maxim

Temos isso no laboratório. Meu associado percorreu alguns dos exemplos de código. Vou dar uma olhada no lado das estatísticas. Valeu.
precisa saber é o seguinte

27

Depende do que você quer dizer com "saber o que está acontecendo".

1/1+e1/1+e

No entanto, se por 'saber' você quer dizer prever a saída de uma RNA específica (caixa preta) , por outros meios, o obstáculo é a presença de caos em uma RNA que possui altos graus de liberdade .

Aqui também estão alguns trabalhos relativamente recentes de Hod Lipson sobre o entendimento de RNAs através da visualização .


13

Resposta curta é não .

A interpretabilidade do modelo é uma área hiperativa e hiper quente da pesquisa atual (pense no Santo Graal, ou algo assim), que foi apresentada ultimamente devido ao sucesso (muitas vezes tremendo) dos modelos de aprendizado profundo em várias tarefas; atualmente, esses modelos são apenas caixas pretas e, naturalmente, nos sentimos desconfortáveis ​​com isso ...

Aqui estão alguns recursos gerais (e recentes, a partir de dezembro de 2017) sobre o assunto:

E em um nível mais prático (código etc):

Ultimamente, tem havido um grande interesse em começar a construir uma base mais teórica para redes neurais de aprendizado profundo. Nesse contexto, o renomado estatístico e pioneiro em sensor de compressão David Donoho começou muito recentemente (outono de 2017) a oferecer um curso em Stanford, Theories of Deep Learning (STATS 385) , com quase todo o material disponível on-line; é altamente recomendado ...

ATUALIZAÇÕES :


Oi. Essa parece ser uma boa resposta, mas você precisa limpá-la e organizar um pouco. Os primeiros recursos devem ser os mais úteis e gerais. Então você pode listar recursos mais específicos e documentos de pesquisa, IMHO. E mais tarde você pode listar, por exemplo, tópicos do Twitter ou o que for.
nbro 28/06


8

Receio não ter as citações específicas à mão, mas já vi / ouvi citações de especialistas como Andrew Ng e Geoffrey Hinton, onde eles dizem claramente que realmente não entendemos redes neurais. Ou seja, entendemos algo de como eles funcionam (por exemplo, a matemática por trás da propagação traseira), mas realmente não entendemos por que eles funcionam. É uma distinção sutil, mas o ponto é que não, não entendemos os detalhes mais profundos de como exatamente você vai de um monte de pesos para, digamos, reconhecer um gato brincando com uma bola.

Pelo menos em termos de reconhecimento de imagem, a melhor explicação que ouvi é que camadas sucessivas de uma rede neural aprendem recursos mais sofisticados, compostos pelos recursos mais granulares dos níveis anteriores. Ou seja, a primeira camada pode reconhecer "arestas" ou "linhas retas". A próxima camada pode aprender formas geométricas como "caixa" ou "triângulo" e, em seguida, uma camada superior pode aprender "nariz" ou "olho" com base nos recursos anteriores e, em seguida, uma camada de nível superior ainda aprende "face" feita do "olho", "nariz", "mandíbula", etc. Mas mesmo isso, como eu o entendo, ainda é hipotético e / ou não é compreendido em detalhes completos.


2
Eu estaria interessado em ler as citações reais. No nível conceitual mais amplo, o motivo é "Eles são aproximadores de funções universais treinados para reduzir o erro em um problema de regressão".
NietzscheanAI

Vou ver se consigo encontrá-los. Tenho certeza de que a citação de Geoffrey Hinton em que estou pensando está em um vídeo ... da classe Coursera dele ou de algum vídeo que ele tenha no Youtube. Se eu puder encontrá-lo, eu vou editar a minha resposta e ligá-lo.
mindcrime

Eu não esqueci. Vou tentar encontrá-los quando tiver um pouco de tempo livre. Eu acho que pelo menos um dos que estou pensando era de um vídeo que faz parte de um curso do Coursera.
mindcrime

Este estudo pode ajudar a colocar as mesmas referências: 'No entanto, não há uma compreensão clara do motivo pelo qual eles têm um desempenho tão bom ou de como podem ser melhorados'.
kenorb

4

Aqui está uma resposta de Carlos E. Perez à pergunta O que é a teoria por trás da aprendizagem profunda?

[...]

A matemática subjacente do Deep Learning existe há várias décadas, no entanto, os resultados impressionantes que vemos hoje são parte de uma conseqüência de um hardware muito mais rápido, mais dados e melhorias incrementais nos métodos.

O Deep Learning em geral pode ser enquadrado como um problema de otimização, onde o objetivo é uma função do erro do modelo. Esse problema de otimização é muito difícil de resolver, considerando que o espaço de parâmetros do modelo (ou seja, pesos da rede neural) leva a um problema em dimensão extremamente alta. Um algoritmo de otimização pode levar muito tempo para explorar esse espaço. Além disso, havia uma crença não verificada de que o problema não era convexo e o cálculo ficaria para sempre em mínimos locais.

[...]

A teoria de por que as máquinas realmente convergem para um atrator ou, em outras palavras, aprendem a reconhecer padrões complexos ainda é desconhecida.

Resumindo: temos algumas idéias, mas não temos muita certeza.


3

Os cientistas sabem o que está acontecendo dentro das redes neurais artificiais?

SIM

Os cientistas ou especialistas em pesquisa sabem da cozinha o que está acontecendo dentro de uma rede neural "profunda" complexa, com pelo menos milhões de conexões disparando em um instante?

Eu acho que "saber da cozinha" significa "saber em detalhes"?

Deixe-me fazer uma série de analogias:

  1. Um engenheiro de avião sabe da cozinha o que acontece dentro do avião?
  2. Um designer de chips sabe em detalhes o que acontece nos chips que ele projetou?
  3. Um engenheiro civil sabe tudo sobre a casa que construiu?

O diabo está nos detalhes, mas um ponto crucial aqui é que se trata de estruturas artificiais. Eles não aparecem aleatoriamente. Você precisa de muito conhecimento para obter algo útil. Para as Redes Neurais, eu diria que demorou aproximadamente 40 anos desde a publicação da idéia-chave (Rosenblatt perceptron, 1957) até a primeira aplicação (Serviço Postal dos EUA, 1989). E a partir daí novamente 13 anos de pesquisa ativa para sistemas realmente impressionantes (ImageNet 2012).

O que sabemos super bem é como o treinamento funciona . Porque precisa ser implementado. Então, em uma estrutura muito pequena, nós a conhecemos em detalhes.

Pense em computadores. Os projetistas de chips sabem muito bem como seus chips funcionam. Mas eles provavelmente terão apenas uma idéia muito grosseira de como o sistema operacional Linux funciona.

Outro exemplo é a física e a química: a física descreve as forças centrais do universo. Isso significa que eles sabem tudo sobre química também? De jeito nenhum! Um físico "perfeito" pode explicar tudo em química ... mas seria praticamente inútil. Ele precisaria de muito mais informações, não conseguir pular as partes irrelevantes. Simplesmente porque ele "ampliou" demais - considera detalhes que na prática nem são interessantes nem importantes. Observe que o conhecimento do físico não está errado. Talvez alguém possa deduzir o conhecimento do químico a partir dele. Mas esse entendimento "de alto nível" da interação de moléculas está ausente.

O principal insight desses dois exemplos são as camadas de abstração: Você pode criar complexidade a partir de estruturas simples .

O quê mais?

Sabemos bem o que é, em princípio, possível com as redes neurais que projetamos:

  • Uma rede neural projetada para jogar Go - não importa quão sofisticada - nunca será capaz de jogar xadrez. Você pode, é claro, adicionar outra camada de abstração ao redor e combinar as coisas. Mas essa abordagem precisa de humanos.
  • Uma rede neural projetada para distinguir cães de gatos que só viu pudins e gatos persas provavelmente terá um desempenho muito ruim quando tiver que decidir pelo Yorkshire Terriers.

Ah, e é claro que temos abordagens analíticas para redes neurais. Escrevi minha tese de mestrado sobre Análise e Otimização de Arquiteturas de Redes Neurais Convolucionais . Nesse contexto, o LIME (Explicações Agnósticas Interpretáveis ​​por Modelos Interpretáveis ​​Locais) é bom:

insira a descrição da imagem aqui


11
A maioria deles é influenciada por modelos biológicos. Portanto, é difícil acreditar que dizer que os cientistas construíram NNs em função de um problema ... Especialmente quando ninguém tem idéia de por que uma arquitetura específica ou um conjunto específico de hiperparâmetros funciona bem para um determinado problema ... Eu não estou falando sobre os hiperparâmetros exatos, mas nenhum parece ter uma noção geral do que os hiperparâmetros aproximados podem funcionar para um determinado problema (o problema está bem definido) .. Portanto, nenhum cientista não sabe o que está acontecendo por dentro um NN.
precisa saber é o seguinte

Pense nos primeiros engenheiros de automóveis / aeronaves. Você diria que eles não sabem o que está acontecendo dentro de suas aeronaves / automóveis, porque não os construíram, porque sua forma não era aerodinâmica?
Martin Thoma

11
Ofc ... Não saber algo devido à falta de tecnologia ... É algo diferente de não saber teoricamente .. Eu acredito que era tecnologia no caso de aviões .. Enquanto aqui não somos capazes de processar matematicamente
.. Então

1

Eu só queria adicionar algo:

depende do que você quer dizer com cientista:

Eu sou um estudante de doutorado em engenharia elétrica e vi muitos pesquisadores trabalharem com a RNA, em problemas como regressão, controle de previsão, controle adaptativo e problemas de classificação.

você pode perceber claramente que a falta de habilidades de codificação é uma grande desvantagem, e eles realmente não entendem o que está acontecendo dentro de uma RNA, agora eu nem estou falando sobre o Deep , eles lutam para entender coisas simples como ADALINEs e ANFIS! tudo o que você ouve dizer é: forneça dados e ele se adaptará!


11
Embora você provavelmente esteja certo conceitualmente, poderá obter alguns votos e, possivelmente, ser de alguma ajuda construtiva, se reescrever sua resposta para parecer uma observação sociológica, e não um discurso pedante.
FauChristian
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.