본문 바로가기

AI/Paper - Theory

[Relevance-CAM 논문 리뷰] - Relevance-CAM: Your Model Already Knows Where to Look

반응형

*Relevance-CAM를 위한 논문 리뷰 글입니다! 궁금하신 점은 댓글로 남겨주세요!

 

Relevance-CAM paper: Relevance-CAM: Your Model Already Knows Where To Look (thecvf.com)

 

Relevance-CAM github: GitHub - mongeoroo/Relevance-CAM: The official code of Relevance-CAM

 

GitHub - mongeoroo/Relevance-CAM: The official code of Relevance-CAM

The official code of Relevance-CAM. Contribute to mongeoroo/Relevance-CAM development by creating an account on GitHub.

github.com


Contents

1. Simple Introduction

    - Gradient Method Problem

2. Background Knowledge: Grad-CAM

3. Method

    - Layer-wise Relevance Propagation(LRP)

    - Relevance-CAM

4. Result


Simple Introduction

Compare

위의 이미지를 보면, layer4에 대해서는 method 마다의 CAM의 차이가 거의 없지만

shallow layer로 갈수록 CAM에 대해서 차이가 명확해지는 것을 확인할 수 있다.

 

Shattered gradient problem

즉, 기존의 gradient를 이용해서 CAM을 표현한 방법은 이미지 픽셀간의 연속성이 없다는 문제점이 있었다.

(Shattered gradient problem; noisy saliency map이 발생하는 것)

따라서 이러한 문제점을 해결한 것이 바로 Relevance-CAM이다.


+) Gradient Method Problem

Shattered gradient problem

+) Layer가 깊어질수록 gradiemt가 비연속적이고 noisy 하다는 problem이다.

 

False Confidence

+) Grad-CAM으로 생성된 결과물은, activation map이 output에 얼마만큼 공헌했는지 판단할 수 없고, model output에 대해서 activation map에 대한 sensitivity만 측정하는 것이다.

(간단히 말해서, 픽셀의 공헌도보다 어떻게 하면 output의 결과를 좋아지게 할 수 있는지에 대한 픽셀의 수치를 나타낸다.)


Background Knowledge: Grad-CAM

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

Relevance-CAM의 경우 gradient로 saliency map을 만들어서 표현하는 것이 문제점이 있다는 것을 알려준 논문이기 때문에 Grad-CAM을 알고 오시면 더욱 좋습니다!


Method

Layer-wise Relevance Propagation(LRP)

Relevance-CAM에서는 기존의 Grad-CAM에서 이용하던 an(activation map에 곱해지는 weight)가 shattered gradient problem을 일으킨다고 보고, 다른 방법으로 LRP를 제안했다.

 

LRP definition

LRP에서 이루어지는 relevance propagation에는 2가지 정의를 따른다.

1. Relevance score는 항상 동일하다.

2. Relevance score is positive.

 

Conservation rule에 대해서 좀 더 부가설명을 해보겠다.

Conservation rule1
Conservation rule2
LRP

<j-th layer와 i-th layer에 대해서 Relevance score가 있다고 해보겠다.>

그러면 progation에 따라서 i-th layer에 대해서 relevance score를 계산해야할 때 밑에의 순서를 따른다.

1. j-th layer의 첫번째 node를 기준으로 각각의 weight와 node의 value를 곱한다.

2. Conservation rule에 따라서 최종적인 j-th layer의 relevance score와 i-th layer의 relevance score의 sum이 동일해야 하므로, normalization을 분모에 수행한다. 

3. j-th layer의 두번째, 세번째, ... node들에 대해서 전부 계산하고 이것을 sum한 형태를 가져간다. (Conservation rule2 사진 참고.)

4. 최종적으로 (5) equation과 같은 형태가 만들어진다.

 

Conservation rule

완전 간단명료하게 얘기한다면, 처음 시작된 relevance score n1에 대해서 여러 node로 각각 값이 분배되서, 최종적으로 sum을 했을 때 전부 같은 값이 되는 걸 의미한다!!


Initial logit relevance score

+) LRP에서 시작되는 처음 relevance score는 특정 class c에 대한 logit 값이다.


CLRP

+) Contrastive Layer-wise Relevance Propagation(CLRP)의 방법론도 논문에서 소개하고 있다.

+) 이 경우에는 처음 시작되는 relevance score에서 특정 class c는 Zt(output value)로 설정하고, 나머지는 -Zt/N-1로 설정한다는 의미이다. (총합이 0이다.)


Relevance-CAM

Relevance-CAM

Relevance-CAM는 LRP를 feature map에 대해서 수행하고, 각각의 channel에 GAP를 적용한 후에, (8) equation을 수행하여 최종적인 CAM을 얻는다.


Result

- Shallow layer 일수록, Grad-CAM에서 이용되는 anc(activation map과 곱해지는 weight)가 noisy가 심하다. (a plot)

 

Using ResNet-50

- Relevance-CAM으로 weakly segmentation을 했을 때 어느정도 성능이 잘 나온다는 것을 알 수 있고, ResNet-50으로 shallow layer부터 testing을 하였을 때도, 잘 targeting한다는 것을 알 수 있다.

 

- Shallow layer에 대해서 Relevance-CAM으로 표현했을 때, 기존의 Grad-CAM보다 잘 표현하고 있다.


- 2023.01.27 Kyujinpy 작성.

반응형