[논문 리뷰] ABLATION-CAM++ - ABLATION-CAM++: GROUPED RECURSIVE VISUAL EXPLANATIONS FOR DEEP CONVOLUTIONAL NETWORKS(2022)

‍이수빈·2026년 9월 22일

[논문 리뷰]

목록 보기
34/35
post-thumbnail

Paper: ABLATION-CAM++: GROUPED RECURSIVE VISUAL EXPLANATIONS FOR DEEP CONVOLUTIONAL NETWORKS

🔍1. INTRODUCTION

최근 Convolutional Neural Network(CNN)는 Image Classification, Object Localization, Semantic Segmentation, Image Captioning 등 다양한 Computer Vision Task에서 큰 발전을 이루고 있음.

하지만 CNN은 내부 동작을 해석하기 어렵기 때문에,
사람이 모델의 Decision을 이해하기 어렵다는 문제가 존재함.
이러한 Interpretability의 부족은 특히 Security나 Healthcare와 같은 Critical Application에서 모델을 사용하는 데 한계가 될 수 있음.

따라서 Deep Learning Model을 실제 시스템에서 신뢰하기 위해서는
모델 내부의 Decision Mechanism을 이해할 수 있는 방법이 필요함.
또한 이런 방법은 단순히 모델의 Prediction을 설명하는 것뿐만 아니라,
성능이 좋지 않은 모델을 Debugging하기 위한 도구로도 활용될 수 있음.


기존 CNN Visualization Method

CNN을 해석하기 위한 초기 연구에서는
특정 Neuron의 Activation과 관련된 Pixel을 Highlight하는 방식이 사용됨.

대표적으로 Deconvolution과 Guided Backpropagation 등이 있음.

하지만 최근 연구에서는 이러한 방법들이 Data나 Model에 민감한 Task에서는 충분하지 않을 수 있음이 밝혀짐.
(ex. Dataset에서 Outlier를 찾거나 Model을 Debugging하는 경우에는
이런 방법만으로 충분한 Explanation을 제공하기 어려울 수 있음.)

또 다른 접근법으로 Class Activation Map(CAM)이 있음.

CAM은 마지막 Convolutional Layer의 Activation Map들을 Weighted Linear Summation해서
특정 Class에 대한 Visual Explanation을 생성하는 방법임.

하지만 CAM은 Model Architecture에 민감하다는 문제가 있음.
CAM을 사용하기 위해서는 모델의 마지막 Convolutional Layer 뒤에 Global Average Pooling Layer가 존재해야 함.


Grad-CAM

CAM 이후 제안된 CAM-based Technique들은 이러한 Architecture Constraint를 해결하고,
다양한 CNN-based Architecture에 CAM을 적용하는 방향으로 발전함.

그리고 대표적으로 Grad-CAM이 있음.

Grad-CAM은 Target Convolutional Layer ll의 Activation Map AlkA_l^k에 대한 Class Output의 Gradient를 이용함.

Grad-CAM의 최종 Localization Map은 다음과 같이 표현됨.

LGrad-CAMc=ReLU(∑kwkcAlk)L_{\text{Grad-CAM}}^c = ReLU \left( \sum_k w_k^c A_l^k \right)
  • cc : Target Class
  • ycy^c : Target Class cc의 Output Score
  • AlkA_l^k : Convolutional Layer ll의 kk번째 Activation Map
  • wkcw_k^c : Activation Map AlkA_l^k가 Target Class cc에 대해 가지는 Weight

Grad-CAM은 Gradient를 이용해서 Activation Map의 Importance, 즉 Weight를 계산함.

하지만 논문에서 이런 Gradient를 이용한 Importance 표현이 신뢰하기 어려울 수 있음을 지적했음.

Grad-CAM을 포함한 Gradient-based Method들은 Gradient Saturation 문제의 영향을 받을 수 있고,
Visualization에 Random Noise가 발생할 수 있음.


Ablation-CAM

이러한 Gradient Saturation 문제를 피하기 위해 여러 방법들이 제안되었고, 그중 하나가 Ablation-CAM.

Ablation-CAM은 Gradient-free Method로,
Activation Map을 직접 제거하는 Ablation Analysis를 이용햐서
각 Activation Map이 Target Class cc에 얼마나 중요한지를 계산함.

Ablation-CAM에서는 Activation Map AlkA_l^k의 모든 Unit을 제거한 뒤 Model을 다시 Forward함.

이때 원래 Class Activation Score와 Ablation 이후의 Class Activation Score를 비교해서
해당 Activation Map의 Importance를 측정함.

=> 특정 Activation Map을 제거했을 때
Target Class Score가 크게 감소한다면
=>해당 Activation Map이 Target Class의 Prediction에 중요한 역할을 했다고 판단하는 방식.


Ablation-CAM의 Computational Cost

하지만 기존 Ablation-CAM에는 높은 Computational Cost라는 문제가 존재함.

Target Layer에 존재하는 Activation Map의 개수를 TT라고 하면, Ablation-CAM은 각 Activation Map을 하나씩 제거하고 각각에 대해 Forward Pass를 수행해야 함.

따라서 하나의 이미지에 대한 Explanation Map을 생성하기 위해
총 T+1T+1번의 Forward Pass가 필요함.

Activation Map의 수가 증가할수록
Ablation-CAM의 Visualization 생성 시간도 크게 증가하게 됨.

그리고 논문에서는 이런 Ablation-CAM의 Time-consuming한 특성을 본 연구의 Motivation으로 제시함.


= Ablation-CAM의 Ablation 개념은 그대로 유지하면서,
더 적은 시간으로 유사한 수준의 Explanation을 생성하자.

그리고 해당 문제를 해결하기 위해
본 논문에서는 Ablation-CAM++를 제안함.


Ablation-CAM++

Ablation-CAM++는 기존 Ablation-CAM의 Optimized Version으로,
동일하게 Target Layer의 Activation Map에 대한 Ablation Analysis를 이용함.

하지만 Ablation-CAM처럼 모든 Activation Map을 개별적으로 하나씩 Ablation하는 것이 아니라,
Activation Map들을 Group 단위로 분석함.

이를 통해 필요한 Ablation 연산의 수를 줄이고,
기존 Ablation-CAM보다 빠르게 Visual Explanation을 생성하는 것을 목표로 함.

Figure 1에서는 동일한 이미지에 대해 Grad-CAM, Ablation-CAM, Ablation-CAM++로 생성한 Visualization을 비교함.

논ㅇ문에서는 Ablation-CAM과 Ablation-CAM++가
Grad-CAM보다 Noise가 적은 Visual Explanation을 생성한다고 설명함.


Contributions

그래서 본 논문에서 제시하는 Contribution은

1. Ablation-CAM++ 제안

기존 Ablation-CAM과 같이 Activation Map에 대한 Ablation Analysis를 이용하지만,
Ablation을 개별 Activation Map이 아닌 Group 단위로 수행하는 Optimized Ablation-CAM을 제안함.
(=> 연산량에 있어서 효율적이라는 것)

2. 더 적은 시간으로 Visual Explanation 생성

Qualitative 및 Quantitative Evaluation을 통해
Ablation-CAM++가 기존 Ablation-CAM보다
훨씬 적은 시간으로 Visual Explanation을 생성할 수 있음을 보임.

3. Clustering Technique 영향 분석

Ablation-CAM++에서 서로 다른 Clustering Technique을 사용했을 때 발생하는 영향을 비교함.


Ablation-CAM++
: Ablation-CAM의 Visual Explanation 성능은 유지하면서, Ablation에 필요한 연산 시간을 줄이는 것.


✅2. ABLATION-CAM++: PROPOSED APPROACH

Ablation-CAM++
: 기존 Ablation-CAM에서 Activation Map을 하나씩 Ablation하던 방식을 바꾸는 것임.

Ablation-CAM에서는 Target Layer에 TT개의 Activation Map이 존재하면
각 Activation Map을 하나씩 제거하면서 Class Score의 변화를 확인해야 했음.

Ablation-CAM++에서는 Activation Map들을 유사한 것끼리 Grouping한 뒤,
Group 단위로 Ablation하고 이를 재귀적으로 분할
하는 방식을 사용함.


전체적인 흐름: ↓
Activation Map Clustering → Cluster Ablation
→ Cluster Split → Recursive Ablation → Optimization


2.1. Recursive Ablation-CAM

먼저 Activation Map들을 Clustering Algorithm을 이용해서 Grouping함.

논문에서는 하단과 같은 Clustering Algorithm들을 적용하고 비교함.

  • K-means
  • Hierarchical Clustering Methods

Clustering 결과 gg개의 Cluster가 생성됨.

각 Cluster qq는 서로 유사한 Activation Map들의 집합임.


Cluster 단위 Ablation

먼저 Cluster qq에 포함된 모든 Activation Map의 Unit을 0으로 설정함.

Aq=0A_q = 0

그 상태로 Model에 Forward Pass를 수행하고,
해당 Cluster 전체를 제거했을 때의 Class Score인 yqcy_q^c를 얻음.

기존 Ablation-CAM이

Activation Map 하나 제거 → Score 확인

방식이었다면,

Ablation-CAM++에서는 처음에

Activation Map 여러 개를 묶어서 제거 → Score 확인

방식으로 시작함.

Cluster를 제거했을 때 Target Class Score가 크게 감소한다면
해당 Cluster 내부에 Target Class Prediction에 중요한 Activation Map들이 포함되어 있다고 볼 수 있음.


Cluster를 두 개의 Subcluster로 분할

Cluster 전체의 Ablation Score를 구한 다음,
각 Cluster를 다시 q1, q2q_1,\ q_2 두 개의 Subcluster로 나눔.

근데 이때 무작정 반으로 나누는 건 아니고,

먼저 Parent Cluster qq에 포함된 각각의 Activation Map에 대해
Global Average Pooling(GAP) 값을 계산함.

그리고 각 Activation Map을 하나의 GAP 값으로 표현한 뒤,
GAP 값에 따라 Activation Map들을 정렬함.

이후 정렬된 GAP 값 사이에서 가장 큰 차이(Maximum Difference)가 발생하는 지점을 기준으로 두 Group으로 분할함.

ex. GAP 값이 다음과 같다고 가정하면,

0.10, 0.13, 0.15, 0.62, 0.67, 0.700.10,\ 0.13,\ 0.15,\ 0.62,\ 0.67,\ 0.70

가장 큰 차이는

0.15→0.620.15 \rightarrow 0.62

사이에 존재하게 될 거고,
그렇ㄱ이에 이 지점을 기준으로

q1={0.10,0.13,0.15}q_1 = \{0.10,0.13,0.15\}
q2={0.62,0.67,0.70}q_2 = \{0.62,0.67,0.70\}

처럼 두 개의 Subcluster로 나눌 수 있다는 것.


Recursive Split

그리고 위 과정을 계속 반복함.

q→(q1,q2)→(q11,q12,q21,q22)→⋯q \rightarrow (q_1,q_2) \rightarrow (q_{11},q_{12},q_{21},q_{22}) \rightarrow \cdots

그러면 Tree Structure가 만들어지게 됨.

최종적으로 Tree의 Leaf에 도달하면
각 Leaf는 Activation Map 하나만 포함하는 Cluster가 됨.

따라서 기존 Ablation-CAM처럼 모든 Activation Map의 Importance를 얻을 수 있으면서,
중간 과정에서는 Activation Map들을 Group 단위로 처리할 수 있음.


2.2. Optimization

근데 여기까지만 보면 의문이 생김.

어차피 마지막에는 Activation Map 하나까지 계속 쪼개야 하는데, 결국 연산량이 비슷한 것 아닌가... 라는 의문

그래서 논문에서는 Recursive Ablation-CAM의 실행 시간을 줄이기 위해
두 가지 Optimization을 추가함.

  1. One Forward Pass Is Sufficient
  2. Tree Pruning

2.2.1. One Forward Pass Is Sufficient

하나의 Parent Cluster qq가 다음 두 Child Cluster로 분할되었다고 가정함.

q→q1, q2q \rightarrow q_1,\ q_2

Key Point는 두 Child Cluster를 모두 Forward Pass할 필요가 없다는 것.

Cluster qq의 Ablation Score는 다음과 같이 정의됨.

yqc=yc−dqy_q^c = y^c - d_q
  • ycy^c : Original Image의 Class Score
  • dqd_q : Cluster qq를 Ablation했을 때 발생하는 Class Score Drop
  • yqcy_q^c : Cluster qq를 Ablation한 이후의 Class Score

Child Cluster q1q_1의 Score 역시
yq1c=yc−dq1y_{q_1}^c = y^c - d_{q_1}로 표현할 수 있음.

Parent Cluster qq가 q1q_1과 q2q_2 두 개로 구성되어 있기 때문에
두 번째 Child의 Drop은 다음 관계를 가짐.

dq2=dq−dq1d_{q_2}=d_q-d_{q_1}

따라서

yqc−yq1c=−dq+dq1y_q^c-y_{q_1}^c=-d_q+d_{q_1}이고,
이걸 이용하면 두 번째 Child의 Ablation Score를
yq2c=yc+yqc−yq1cy_{q_2}^c=y^c+y_q^c-y_{q_1}^c로 계산할 수 있음.


  • Parent qq의 Score는 이미 알고 있다.
  • Child q1q_1만 실제 Forward Pass한다.
  • Child q2q_2는 수식으로 계산한다.

=> 따라서 Split이 한 번 발생할 때마다
두 Child에 대해 2번 Forward할 필요 없이 1번만 Forward하면 된댜는 것.


Forward Pass 감소

Activation Map의 개수를 TT라고 하면,
Binary Tree의 전체 Node 수는 2T−12T-1이 됨.

Optimization을 사용하지 않는다면
Tree의 각 Node에 대해 Ablation Score를 계산해야 하므로 많은 Forward Pass가 필요함.

하지만 위의 관계식을 사용하면
각 Split에서 Child 하나만 Forward하면 되므로,
필요한 Forward Pass가 TT까지 감소하게 됨.

논문에서는 이게 기존 Ablation-CAM과 동일한 Forward Pass 수라고 설명함.

그런데 여기서 끝나면 Ablation-CAM++가 기존 Ablation-CAM보다 빨라질 이유가 크지 않음.

그래서 두 번째 Optimization인 Tree Pruning이 중요해지는 것임.


2.2.2. Tree Pruning

앞에서 생성한 Tree를 끝까지 모두 탐색하지 않고,
특정 조건을 만족하면 해당 Branch의 Recursive Split을 중단함.

논문에서는 이를 위해 Confusing Cluster라는 개념을 사용함.

Confusing Cluster
: Ablation Score가 Original Score보다 높은 Cluster.
= yqc>ycy_q^c > y^c인 경우.

일반적인 중요한 Cluster라면
해당 Cluster를 제거했을 때 Target Class Score가 감소해야 함.

하지만 Confusing Cluster는
해당 Cluster를 제거했더니 오히려 Target Class Score가 증가함.

= 이거는 이 Cluster가 존재하는 게
Target Class Prediction에 오히려 부정적인 영향을 주고 있었다는 의미.

그래서 논문에서는 이런 Cluster를 발견하면
해당 Cluster의 Weight를 00으로 설정하고,
해당 Branch를 더 이상 확장하지 않음.

=Confusing Cluster 발견→Weight=0→Recursive Split 중단= \text{Confusing Cluster 발견} \rightarrow \text{Weight}=0 \rightarrow \text{Recursive Split 중단}

왜 Negative Weight를 계산하지 않는가?

Ablation-CAM의 최종 식에는 ReLU가 적용됨.

=> Negative Weight를 가지는 Activation Map들은 결국 최종 CAM에서 제거됨.

논문에서는 Confusing Cluster 내부의 Activation Map들이
Target Class에 Negative Impact를 가진다고 보고,
어차피 ReLU에 의해 최종 결과에서 제외될 것이므로
그 Cluster를 계속 쪼개면서 계산할 필요가 없다고 판단함.

따라서 해당 Branch 전체를 Pruning함.

이 과정으로 실제 탐색해야 하는 Tree Node 수가 크게 감소할 수 있고, 결과적으로 필요한 Forward Pass 수도 감소함.


Ablation-CAM & Ablation-CAM++ 비교

Ablation-CAMAblation-CAM++
Activation Map 하나씩 AblationActivation Map을 Cluster 단위로 Ablation
모든 Activation Map에 대해 개별 ForwardCluster를 재귀적으로 분할
Activation Map TT개이면 TT번의 Forward 필요Child 하나는 수식으로 계산
모든 Activation Map을 검사불필요한 Branch는 Tree Pruning
Gradient-freeGradient-free

정리해 보자면,

Ablation-CAM++에서는 Activation Map을 하나씩 무작정 검사하지 않는 게 가장 중요함.

먼저 비슷한 Activation Map끼리 Cluster를 만들고,

Cluster→Subcluster→Subcluster→⋯\text{Cluster} \rightarrow \text{Subcluster} \rightarrow \text{Subcluster} \rightarrow \cdots

형태의 Tree를 구성함.

그리고 두 가지 Optimization을 적용함.

i) 두 Child Cluster 중 하나만 Forward Pass하고 다른 하나의 Score는 Parent와 첫 번째 Child의 Score를 이용해서 계산함.

yq2c=yc+yqc−yq1cy_{q_2}^c = y^c+y_q^c-y_{q_1}^c

ii) Cluster를 제거했을 때 오히려 Target Class Score가 증가하는 Confusing Cluster가 발견되면, 해당 Branch를 더 이상 탐색하지 않는 Tree Pruning을 적용함.


그래서 결국 Ablation-CAM++이란?


Ablation-CAM++

: 기존 Ablation-CAM의 Ablation 방식은 유지하면서,
Activation Map을 Tree 구조로 Grouping하고 불필요한 Ablation을 줄여 계산 시간을 단축하는 방법


✅3. EXPERIMENTS

논문에서는 다양한 실험을 통해 Ablation-CAM++의 성능을 평가했음.
실험은 크게 다음 두 가지 방향으로 진행됨.

  • ImageNet에서 Ablation-CAM++와 다른 방법들의 Qualitative Evaluation
  • Image Recognition Task에서 Visual Explanation과 Model 사이의 Faithfulness Evaluation

모든 실험은 NVIDIA Tesla V100에서 수행함.


3.1. Qualitative Evaluation

먼저 Ablation-CAM++가 생성한 Visual Explanation을 Ablation-CAM, Grad-CAM과 비교함.

Figure 1에서 확인할 수 있듯이 Ablation-CAM++는 기존 Ablation-CAM과 거의 동일한 Explanation Map을 생성함.

또한 저자들은 Ablation-CAM과 Ablation-CAM++가
Grad-CAM보다

  • Class Discrimination이 더 잘 이루어지고,
  • Random Noise가 더 적고,
  • Multiple Object Localization에서 더 신뢰할 수 있음을 설명함.

그러니, Ablation-CAM++는
연산량을 줄이면서도 기존 Ablation-CAM의 Visualization 특성을 유지하는 것을 목표로 한다는 것.

VGG-16 실험 결과

Table 1에서는 ILSVRC2012 Validation Dataset에서 무작위로 선택한 2,000장의 Image를 이용해서 VGG-16을 평가했음.

  • AD (Average Drop) : 낮을수록 좋음
  • AI (Average Increase) : 높을수록 좋음
  • Exec Time : 실행 시간

Ablation-CAM++는 기존 Ablation-CAM과 비슷한 Explanation 성능을 보이면서,
실행 시간은 4091s→1865s4091s \rightarrow 1865s로 절반 이하로 감소함.


3.2. Faithfulness Evaluation on Image Recognition

다음으로 Ablation-CAM++가 생성한 Explanation이
실제 Model Prediction과 얼마나 관련되어 있는지를 평가함.

논문에서는 이를 위해 다음 두 Metric을 사용함.

  • Average Drop (AD)
  • Average Increase (AI)

실험에서는 Localization Map의 상위 20% Pixel만 유지하고,
나머지 Pixel을 제거한 Explanation Map을 Model에 입력함.

그리고 Original Image를 입력했을 때의 Target Class Score와 비교함.


i) Average Drop (AD)

Average Drop은 Explanation Map만 Model에 입력했을 때
Target Class Score가 Original Image에 비해 얼마나 감소했는지 측정함.

AD=1N∑i=1Nmax⁡(0,Yic−Oic)YicAD = \frac{1}{N} \sum_{i=1}^{N} \frac{ \max(0,Y_i^c-O_i^c) }{ Y_i^c }
  • NN : Dataset Size
  • YicY_i^c : Original Image ii를 입력했을 때 Class cc의 Output Score
  • OicO_i^c : Explanation Map을 입력했을 때 Class cc의 Output Score

좋은 Explanation Map이라면
Model이 실제 판단에 사용했던 중요한 영역을 잘 보존하고 있어야 함.

따라서 Explanation Map만 입력해도 Target Class Score가 크게 감소하지 않아야 함.

=> Average Drop은 낮을수록 좋은 Explanation.


ii) Average Increase (AI)

Average Increase는 Explanation Map을 입력했을 때
Target Class Score가 Original Image보다 증가한 Image 비율을 측정함.

AI=1N∑i=1N1Yic<OicAI = \frac{1}{N} \sum_{i=1}^{N} \mathbf{1}_{Y_i^c < O_i^c}

여기서 1\mathbf{1}은 조건이 참이면 1, 거짓이면 0을 반환하는 Indicator Function.

Oic>YicO_i^c > Y_i^c인 경우를 계산함.

Explanation Map만 남겼는데 Target Class Score가 증가했다면,
원본 이미지에서 불필요한 정보가 제거되고 Target Class Prediction에 중요한 정보가 잘 유지되었다고 볼 수 있음.

=> Average Increase는 높을수록 좋은 Explanation.


실험 조건

실험은 ImageNet(ILSVRC2012) Validation Set에서 2,000개의 Image를 Random Sampling해서 진행함.

각 Localization Map에서는 상위 20% Pixel만 유지함.

그리고 다음 두 Model에서 실험을 징행했음.

  • VGG-16
  • ResNet-50

ResNet-50 실험 결과

Table 2 결과는 하단과 같음.

ResNet-50에서도 Ablation-CAM++와 Ablation-CAM의 AD와 AI 결과는 비슷하게 나타남.

하지만 실행 시간은 20409s→6472s20409s \rightarrow 6472s로 크게 감소함.

Ablation-CAM++는 기존 Ablation-CAM과 비슷한 Faithfulness를 유지하면서
Execution Time을 크게 감소시켰다는 것.


ResNet-50에서 Grad-CAM의 성능

논문에서는 ResNet-50에서 Grad-CAM이 Ablation-CAM 및 Ablation-CAM++와 유사한 결과를 보이는 이유도 설명했음.

ResNet-50은 Fully Connected Layer가 없는 구조이ㄷ고,
Linear Classification Layer가 마지막 Convolutional Layer의 Global Average Pooled Feature Map과 직접 연결되어 있음.

따라서 이러한 구조에서는 Grad-CAM이 사실상 CAM과 유사하게 동작함.

이 때문에 ResNet-50에서는 Grad-CAM 역시 좋은 Localization 성능을 보인다고 설명함.


3.3. Clustering Algorithms and Hyper-parameter Tuning

Ablation-CAM++에서 중요한 과정 중 하나는
Activation Map들을 서로 유사한 것끼리 Grouping하는 것.

Clustering 결과에 따라
이후 Recursive Split 과정이 달라지기 때문에
어떤 Clustering Algorithm을 사용하는지가 중요함.

저자들은 여러 Clustering Algorithm과 Configuration을 실험했고,
그중 다음 세 가지 방법이 좋은 성능을 보였다고 설명함.

  • K-Means
  • Agglomerative Clustering with Ward Linkage
  • BIRCH

각 Algorithm에 대해서는 Cluster 수와 같은 Hyperparameter도 조정함.

실험에서는 세 Algorithm의 Cluster 수는 모두 112로 설정했음.


Clustering Technique 비교

VGG-16에서 세 Clustering Technique을 비교한 결과는 다음과 같음.

세 Clustering Algorithm 모두 AD에서는 큰 차이가 나타나진 않음.
AI에서는 BIRCH가 6.75%6.75\%로 가장 높은 값을 보임.

실행 시간은 Agglomerative Clustering이 1778s1778s로 가장 짧게 나타남.

=> Clustering Algorithm에 따라 Faithfulness와 Execution Time에 차이가 발생할 수 있음을 확인함.


그래서 결국

Ablation-CAM++의 Experiment에서 확인하고자 한 것
: 기존 Ablation-CAM보다 빠르게 계산하면서도 비슷한 수준의 Explanation을 생성할 수 있는지

실험 결과,
VGG-16에서는 실행 시간이 4091s→1865s4091s \rightarrow 1865s로 감소했고,
ResNet-50에서는 20409s→6472s20409s \rightarrow 6472s로 감소했음.

동시에 Average Drop과 Average Increase는 기존 Ablation-CAM과 비슷한 수준을 유지함.

=> Ablation-CAM++
: Recursive Clustering과 Optimization을 통해 Ablation-CAM의 높은 Computational Cost를 줄이면서,
기존 Ablation-CAM과 유사한 Explanation 성능을 유지하는 방법
.


🔚4. Conclusion

본 논문에서는 기존 Ablation-CAM의 높은 Computational Cost를 개선하기 위해
Ablation-CAM++를 제안함.

Ablation-CAM++는 기존 Ablation-CAM과 유사한 Smooth Visual Explanation을 생성하면서도,
훨씬 짧은 시간 안에 Explanation을 생성할 수 있도록 설계됨.

이를 위해 Activation Map을 개별적으로 Ablation하는 대신,
유사한 Activation Map들을 Clustering하고 Recursive하게 분할하는 방식을 사용함.

또한 실행 시간을 줄이기 위해 하단과 같은 Optimization을 적용함.

- 하나의 Child Cluster만 Forward Pass하고,
다른 Child의 Ablation Score는 계산을 통해 구함

- Target Class에 부정적인 영향을 주는 Confusing Cluster는
더 이상 분할하지 않는 Tree Pruning을 적용함

논문에서는 Ablation-CAM++의 성능을 기존 Ablation-CAM 및 Grad-CAM과 비교하기 위해
Qualitative Evaluation과 Quantitative Evaluation을 수행함.

실험 결과 Ablation-CAM++는 기존 Ablation-CAM과 유사한 Visual Explanation을 생성하면서
실행 시간을 크게 감소시킬 수 있음을 확인함.

또한 여러 Clustering Technique을 비교하면서
좋은 Visual Explanation을 유지하면서 Execution Time을 가능한 작게 만들기 위한 Clustering 방법의 영향도 분석했음.


Ablation-CAM++ 목표
: Ablation-CAM의 Explanation 특성을 유지하면서 계산 시간을 줄이는 것

기존 Ablation-CAM이
Activation Map 하나씩 Ablation → Forward Pass → Importance 계산 방식을 사용했다면,

Ablation-CAM++는
Activation Map Clustering → Recursive Split → Ablation → Tree Pruning 방식을 사용함.


Ablation-CAM++는 새로운 Importance 개념을 제안했다기보다는,
기존 Ablation-CAM의 Ablation Analysis를 더 효율적으로 수행하도록 최적화한 방법!

profile
🏫 Kookmin University, Major in Electrical Engineering (First Major), AI Big Data & Management (Double Major), Smart Car ICT (Interdisciplinary Major)

0개의 댓글