[Notas de papel] Mapeamento de ativação de categoria CAM


título: Aprendendo recursos profundos para localização discriminativa
autores: Bolei Zhou et.al.
ano: 13/12/2015


Principais contribuições

  1. Implementar análise de interpretabilidade e análise de significância para aprendizagem profunda
  2. Forte escalabilidade, vários algoritmos baseados em CAM foram posteriormente derivados.
  3. Cada imagem e cada categoria podem gerar um mapa de calor CAM
  4. Localização fracamente supervisionada: um modelo que usa apenas classificação de imagens resolve o problema de localização
  5. Potencial "mecanismo de atenção"
  6. Tornando possível o ensino de máquina

Abstrato

Neste trabalho, revisitamos a camada de pooling de média global proposta em [13] e esclarecemos como ela permite explicitamente que a rede neural convolucional tenha notável capacidade de localização, apesar de ser treinada em rótulos de nível de imagem. Embora esta técnica tenha sido proposta anteriormente como um meio para regularizar o treinamento, descobrimos que ela na verdade constrói uma representação genérica localizável e profunda que pode ser aplicada a uma variedade de tarefas. Apesar da aparente simplicidade do agrupamento da média global, somos capazes de atingir 37,1% de erro top-5 para localização de objetos no ILSVRC 2014, o que é notavelmente próximo dos 34,2% de erro top-5 alcançado por uma abordagem CNN totalmente supervisionada. Demonstramos que nossa rede é capaz de localizar as regiões discriminativas da imagem em uma variedade de tarefas, apesar de não estar treinada para elas.

Método

imagem-20221217233636500

  • A imagem acima condensa o trabalho principal do artigo

  • O autor propôs mapas de ativação de classes (CAM), que podem visualizar regiões discriminativas de categorias específicas.

  • Exceto pelo pool médio global (GAP) na última camada totalmente conectada, as outras camadas da rede CNN usam apenas convolução.

    • GAP médio global de agrupamento

      imagem-20221217235119524
      Selecione um valor médio para cada canal do mapa de características, que é equivalente ao agrupamento máximo com passada igual ao tamanho do mapa de características.

Cálculos de ativação de categoria

  • Para uma determinada imagem, fk (x, y) f_k(x,y)fk( x ,y ) é o kk-ésimo mapa de recursos de saída da última camada de convoluçãok canais no ponto(x, y) (x,y)( x ,valor de y )

  • Para fk (x, y) f_k (x,y)fk( x ,y ) é um valor escalar obtido após realizar o agrupamento da média global.

    • F k = ∑ x , yfk ( x , y ) F_k=\sum_{x,y}f_k(x,y)Fk=x , vocêfk( x ,você )

    • Tudokk_ _k canais formam um1 ∗ 1 ∗ k 1*1*k11autovetor de k

  • Passe o vetor de recursos por uma camada totalmente conectada W ∈ R k × c W\in \mathbf{R}^{k\times c}CRk × c , cada elemento éwkc w_k^cckc, significa F k F_kFkPara categoria ccO peso de determinar a importância de c

  • A saída da camada totalmente conectada é a probabilidade da categoria não normalizada, ccA probabilidade não normalizada da classe c é

    • S c = ∑ kwkc F k = ∑ kwkc ∑ x , yfk ( x , y ) = ∑ x , y ∑ kwkcfk ( x , y ) S_c=\sum_k w_k^c F_k \\ = \sum_k w_k^c \sum_{ x,y}f_k(x,y) \\ = \soma_{x,y} \soma_k w_k^c f_k(x,y)Sc=kckcFk=kckcx , vocêfk( x ,você )=x , vocêkckcfk( x ,você )

    • É o valor do nó cinza escuro no lado direito da imagem abaixo

    • imagem-20221218005641560
  • Normalizar probabilidades por softmax

    • P c = exp ⁡ ( S c ) ∑ c exp ⁡ ( S c ) P_c=\frac{\exp \left(S_{c}\right)}{\sum_{c} \exp \left(S_{c} \certo)}Pc=cexperiência( Sc)experiência( Sc)
  • Não. ccO mapeamento de ativação de categoria da classe c é usar wkc w_k^cpara o mapa de recursos da última camada de convoluçãockcExecute uma soma ponderada

    • imagem-20221218010658065

    • A razão é que wkc w_k^c foi mencionado anteriormenteckcrepresenta o k-ésimoO par médio de k mapas de características é determinado como occthA importância de c , portanto, também pode ser usado para realizar uma soma ponderada de mapas de características (semelhante à combinação da camada PS) para obter o mapa de ativação de categoria

    • Definir mapa de ativação de categoria M c M_cMcÉ o CCMapeamento de ativação de categoria para classe c

    • M c ( x , y ) = ∑ kwkcfk ( x , y ) M_{c}(x, y)=\sum_{k} w_{k}^{c} f_{k}(x, y)Mc( x ,você )=kckcfk( x ,você )

    • Traga para S c S_cSc

    • S c = ∑ x , y M c ( x , y ) S_c=\sum_{x,y}M_{c}(x, y)Sc=x , vocêMc( x ,você )

    • Também explica que M c M_cMcReflete diretamente o julgamento de que o ccimportância de c


  • Ao dimensionar o mapa de ativação de categoria (HW e o mapa de recursos da última camada de convolução são iguais) de volta ao tamanho da imagem de entrada por meio de upsampling (interpolação bilinear) e compará-lo com a imagem original, verifica-se que os locais com valores de ativação maiores estão na imagem original. Regiões relacionadas a esta categoria
    • imagem-20221218012400114
  • Através do CAM, verifica-se que a mesma imagem possui diferentes áreas salientes para diferentes categorias.
    • imagem-20221218012612822
    • O valor branco corresponde ao nível de confiança com que a imagem é classificada nesta categoria.
    • Por exemplo, para um palácio, a sua área saliente concentra-se na parte inferior da imagem, o que significa que a rede depende mais das características desta área ao julgá-la como palácio.
    • Ou seja, se uma imagem contém vários objetos, embora a rede produza apenas a categoria com maior probabilidade cmax c_{max}cma x, mas para outras categorias também haverá ativações correspondentes quando a imagem for selecionada.

おすすめ

転載: blog.csdn.net/u011459717/article/details/128359235