Compreensão visual de redes neurais convolucionais

Visualizando e compreendendo redes convolucionais

Compreensão visual de redes neurais convolucionais

Zeiler, MD, Fergus, R. (2014). Visualizando e compreendendo redes convolucionais. In: Fleet, D., Pajdla, T., Schiele, B., Tuytelaars, T. (eds) Computer Vision – ECCV 2014. ECCV 2014. Lecture Notes in Computer Science, vol 8689. Springer, Cham. https://doi.org/10.1007/978-3-319-10590-1_53

Consulte o irmão Tongji Zihao [Leitura intensiva de artigos de IA] Algoritmo de classificação de imagens de aprendizado profundo da ZFNet


método

Usando uma rede neural convolucional totalmente supervisionada padrão, através de uma série de camadas, a imagem de entrada é mapeada para o vetor de características da classe de saída.

estrutura da camada:

  • A saída da camada anterior é convolvida com uma série de núcleos de convolução que podem ser aprendidos
  • Através de uma função de ativação não linear (relu)
  • [Opcional] Pool gigante local
  • [Opcional] Normalização entre mapas de recursos

Configuração experimental:

  • Conjunto de dados: ${x, y}$, y é uma variável discreta com rótulos de classe
  • Função de perda de entropia cruzada para comparar a saída da rede com rótulos de verdade
  • Os parâmetros de rede (kernel de convolução, deslocamento de peso da camada FC) são treinados por meio de retropropagação de perda e atualizados por meio do método de gradiente descendente

Visualização com desconvolução

  1. Para compreender o funcionamento de uma rede neural convolucional, é necessário compreender a atividade característica das camadas intermediárias.
  2. Ao realimentar essas atividades no espaço de pixels de entrada, mostramos que os padrões de entrada causam ativações específicas em mapas de características.
  3. Redes Deconvolucionais (para aprendizagem não supervisionada). Neste artigo, a desconvolução não tem a capacidade de aprender, mas serve como uma sonda para a rede treinada.

O processo, conforme mostrado na figura abaixo:

  1. A imagem de entrada é passada para a rede neural convolucional para calcular os recursos
  2. Para examinar uma determinada ativação de convnet, defina todas as outras ativações na camada como zero e passe o mapa de recursos como entrada para uma camada de desconvolução adicional
  3. A refatoração subjacente causa a seleção da atividade para uma determinada ativação por meio de (i) operações de unpool, (ii) retificação e (iii) filtragem.
  4. Repita a operação da etapa anterior até que o espaço de pixels de entrada seja alcançado.
    insira a descrição da imagem aqui
  • Unpooling: Anti-pooling. A operação de pooling máximo na rede neural convolucional é irreversível. O inverso aproximado da operação de pooling é obtido registrando-se a posição do valor máximo na região pooled. Como mostrado abaixo:
    insira a descrição da imagem aqui
  • Retificação: Correção. As redes neurais convolucionais usam a função de não linearidade relu para garantir que os mapas de recursos sejam sempre positivos. Para obter uma reconstrução eficiente de características em cada camada, uma não-linearidade relu também é usada para passar o sinal de reconstrução.
  • Filtragem: filtro (kernel de convolução). O kernel de convolução executa a convolução no mapa de recursos da camada anterior. Para inverter esse processo, a deconvolução utiliza a transposição do mesmo kernel para o mapa de correção.
  • Além disso, nenhuma operação de normalização é utilizada em todo o processo de reconstrução.

estrutura de rede

insira a descrição da imagem aqui

  • Entrada 224x224 para operação de convolução
  • Camada 1-5:
    1. função de ativação relu
    2. Pooling máximo de 3x3 com passada de 2
    3. operação de normalização
    4. operação de convolução
  • Duas camadas totalmente conectadas

Visualização de Rede Neural Convolucional

visualização de recursos

  1. Camada 1: Hierarquia de recursos na rede
  2. A segunda camada: cor, informações de borda
  3. A terceira camada: invariância mais complexa, captura de textura semelhante, informações de texto
  4. A quarta camada: mudanças significativas, mais específicas da categoria
  5. Quinta camada: todo o objeto

insira a descrição da imagem aqui

Evolução de recursos durante o treinamento

O processo de treinamento para a ativação mais forte (em todas as instâncias de treinamento) retroprojetado no espaço de pixel de entrada em um determinado mapa de recursos

  • Recursos de baixo nível podem convergir nas primeiras épocas
  • Recursos de alto nível requerem algumas épocas para convergir
    insira a descrição da imagem aqui

escolha de arquitetura

11x11, kernel de convolução stride 4 aparece artefatos de alias. -> 7x7, tamanho do passo 2
Em Drawable AlexNet

Experimento de oclusão

Se o modelo realmente reconhece a posição do objeto na imagem

insira a descrição da imagem aqui


experimentar

1. ImageNet

insira a descrição da imagem aqui

2. Remova algumas camadas

3.

3. Generalização do modelo (aprendizado por transferência)

insira a descrição da imagem aqui
insira a descrição da imagem aqui

  • Uma pequena quantidade de dados pode alcançar um bom desempenho
    insira a descrição da imagem aqui
  • O procedimento acima não funciona quando os conjuntos de dados têm diferenças
    insira a descrição da imagem aqui

4. Se os recursos das diferentes camadas da rede são eficazes para classificação

  • Substitua a camada softmax por SVM
    insira a descrição da imagem aqui

Acho que você gosta

Origin blog.csdn.net/qq_38869560/article/details/128320042
Recomendado
Clasificación