título: Aprendendo recursos profundos para localização discriminativa
autores: Bolei Zhou et.al.
ano: 13/12/2015
Principais contribuições
- Implementar análise de interpretabilidade e análise de significância para aprendizagem profunda
- Forte escalabilidade, vários algoritmos baseados em CAM foram posteriormente derivados.
- Cada imagem e cada categoria podem gerar um mapa de calor CAM
- Localização fracamente supervisionada: um modelo que usa apenas classificação de imagens resolve o problema de localização
- Potencial "mecanismo de atenção"
- 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
-
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.
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*k1∗1∗autovetor de k
-
-
Passe o vetor de recursos por uma camada totalmente conectada W ∈ R k × c W\in \mathbf{R}^{k\times c}C∈Rk × 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=k∑ckcFk=k∑ckcx , você∑fk( x ,você )=x , você∑k∑ckcfk( x ,você )
-
É o valor do nó cinza escuro no lado direito da imagem abaixo
-
-
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
-
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ê )=k∑ckcfk( x ,você )
-
Traga para S c S_cScHá
-
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
- Através do CAM, verifica-se que a mesma imagem possui diferentes áreas salientes para diferentes categorias.
- 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.