본문 바로가기

AI/Paper - Theory

[CAM 논문 리뷰] - Learning Deep Features for Discriminative Localization

반응형

*XAI에서 가장 대표적으로 쓰이는 CAM 논문 리뷰입니다. 궁금하신 점은 댓글로 남겨주세요.

 

CAM paper: [1512.04150] Learning Deep Features for Discriminative Localization (arxiv.org)

 

Learning Deep Features for Discriminative Localization

In this work, we revisit the global average pooling layer proposed in [13], and shed light on how it explicitly enables the convolutional neural network to have remarkable localization ability despite being trained on image-level labels. While this techniq

arxiv.org


Contents

1. Simple Introduction

2. Background Knowledge: Saliency Map

3. Method

4. Result

5. Furthermore


Simple Introduction

기존의 Saliency Map은 noisy하고 low localization이 일어난다는 문제점이 있었다.

그러나 CAM은 high localization과 noisy한 problem을 모두 제거하고 XAI의 새로운 method을 제안하였다.

 

위에서 보는 것 처럼, 중요한 지점에 색깔이 밝게 되어있는데, 확실히 saliency map보다 표현이 잘 된다는 것을 알 수 있다.

 

CAM이 무엇인지 한번 알아보자.


Background Knowledge: Saliency Map

Salinency Map 논문 리뷰: https://kyujinpy.tistory.com/58

 

[Saliency Map 논문 리뷰] - Deep Inside Convolutional Networks: VisualisingImage Classification Models and Saliency Maps

*eXplainable AI의 기초가 되는 논문입니다. 질문이 있다면 댓글로 남겨주세요. Deep Inside Convolutional Networks paper: [1312.6034] Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps (arxiv.o

kyujinpy.tistory.com

 

Saliency Map을 알고 오면 조금 더 이해가 빠를 것이라고 생각이 든다!

물론 해당 지식이 없어도 이해는 가능하지만, 깊이가 약간은 다를 것 같다.


Method

CAM: Class Activation Map

CAM의 경우 제약사항이 2가지가 있다.

1. 마지막 Conv layer에서 Global Average Pooling(GAP)를 써야된다.

2. GAP를 통해서 나온 1차원 벡터에 대해서 FC를 적용해야한다.

 

이것을 토대로 class activation mapping을 한다.

 

CAM

특정 class에 대해서 CAM을 진행하게 되는데,

마지막 Conv Layer에서 나온 각각의 Channel마다 GAP를 적용하고 이것을 특정 class로 mapping할 때 W1, ..., Wn까지 각각의 값에 곱해주게 되는데,

 

Channel과 각각의 W1, ..., Wn을 곱해주고 이것을 전부 합한 것을 Class activation map이라고 정의한다.


+) 이전의 Saliency Map같은 경우에는 이미지와 same resolution으로 output이 나온다는 점이 있었다.

+) 그러나 CAM의 경우 마지막 Conv layer에서 XAI를 진행하므로, image의 resolution이 낮기 때문에 real image의 resolution을 맞춰주기 위해서 upsampling을 진행한다.


Result

유사한 class에 대해서도 AI가 객체를 잘 인식해서 palace라고 판단하는 것을 알 수 있다.

 

또한 각자의 객체를 판단할 때, 어떤 부분이 중요한지 AI가 스스로 잘 인식한다는 것을 확인할 수 있다!!!


Furthermore

Grad-CAM 논문 리뷰: https://kyujinpy.tistory.com/60

 

[Grad-CAM 논문 리뷰] - Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization

*Grad-CAM 논문 리뷰 글입니다. 궁금하신 점은 댓글로 남겨주세요. Grad-CAM paper: [1610.02391] Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization (arxiv.org) Grad-CAM: Visual Explanations from Deep Networks

kyujinpy.tistory.com

CAM의 구조적인 한계점을 이겨내고 CAM을 수행할 수 있는 방법론을 소개한 모델이다.

CAM의 발전된 모형이기에 읽어보는 걸 추천드립니다!


- 2023.01.25 Kyujinpy 작성.

 

반응형