본문 바로가기
Have Done/Grad-Cam

CNN visualization

by 에아오요이가야 2023. 12. 5.

Image - Low level feature map - mid level - high level -> output inference

 

Image

Filter visualization(first conv layer)

Activation visualization(first conv layer)

 

Model을 이해하기 위한 노력 vs data를 분석하기 위한 노력 

 

Analysis of model behaviors - NN(Nearest Neighbors) search in feature space

모델자체의 연산 분석

 

High level 해석 - 보통 FC layer를 잘라서 feature map을 보는식으로 진행

 - backbone에서 나온 결과를 해석하기위해서 Dimentionality reduction 연산합니다 (t-SNE로 데이터 특성의 분포를 확인하는 방법도 있음)

 

Mid& high level 해석 - layer의 activation을 분석함으로서 모델의 특성을 파악

 - activation map ~ hidden node

 

Mid level 해석 (maximally activating patches - patch acquisition

 - hidden node에서 path를 뜯어보는 식으로 진행 -> 특정 node가 어떤 특징을 찾는 부분인가 

1) pick a channel in a certain layer

2) feed a chunk of images and record each activation map (of the chosen channel)

3) crop image patches around maximum activation values

 

Gradient ascent방법

Generate a synthetic image that triggers maximal calss activation

loss = argmax f(I) - Reg(I) = argmax f(I) - labmda|I|_2^2

 

1) get a prediction score(of the target class) of a dummy image (blank or random initial)

2) backpropagate the gradient maximizing the target class score w.r.t the inpu image

3) update the current image

 

 

Model decision explanation

모델이 특정 입력을 보았을때 해당 입력을 어떤 각도로 보고 있는지 확인

 

Saliency test

1. Occlusion map(가려주는 맵)

  - prediction score가 drastically drop하는 부분은 salient part로 확인함

  - 물체를 가린이미지의 결과값은 낮고 물체를 안 가린 이미지의 결괏값이 높을 때 결괏값이 낮은 부분이 이미지 class를 결정하는 주요 부분이라 생각하여 추정 

 

2. Backpropagation 

  - 최종 결과에 결정적 영향을 미치는 부분을 추정

1) get a class socre of the target source image

2) Backpropagate the gradient of the class score w.r.t input domain

3) Visualize the obtained gradient magnitude map(optionally, can be accumulated)

 

3. CAM(class activation mapping)

Neural Net의 Fully Connected 부분 수정 GAP(Global Average Pooling)이 주요한 부분임

모델 구조 바꾼다음에 재학습을 시켜야 하는 부분이 좀 단점이 ~ 보통 성능이 떨어짐

ResNet이나 GoogLeNet의 경우 수정 없이 바로 사용가능함

 

4. Grad-CAM

모델 구조 바꿀 필요없음

- Get the CAM result withou modifying and re-training the original network

- Measure magnitudes of gradients as neuron importance weights

- with relu, we focus on the positive effect only

- translation equivariance

 

5. SCOUTER

확장된 버전으로서 왜 a에서 멈춘게 아니고, 왜 b,c는 아닌지 까지 보여줌

'Have Done > Grad-Cam' 카테고리의 다른 글

[Grad-CAM] 간단히 발표용  (0) 2022.02.16
[Grad-CAM] How? ; Section 3.2  (0) 2022.02.08
[Grad-CAM] How? ; Section 3.1  (0) 2022.02.08
[Grad-CAM] How? ; Section 3 detail  (0) 2022.01.26
[Grad-CAM] How? ; Section 3  (0) 2022.01.24

댓글