Hello Potato World
[ํฌํ ์ดํ ๋ ผ๋ฌธ ๋ฆฌ๋ทฐ] Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization ๋ณธ๋ฌธ
[ํฌํ ์ดํ ๋ ผ๋ฌธ ๋ฆฌ๋ทฐ] Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization
Heosuab 2021. 8. 8. 20:47
โ ๏ฝก ห โ๏ธ ห ๏ฝก โ ๏ฝก ห โฝ ห ๏ฝก โ
[XAI paper review]
Generalization to CAM
๋ชจ๋ธ์ ํด์ํ ๋์๋ Simplicity์ Interpretability์ฌ์ด์ tradeoff ๊ด๊ณ๊ฐ ์๋ค. ์ฆ, ๋ชจ๋ธ์ด ๊ฐ๋จํ ์๋ก ํด์์ ์ฉ์ดํด์ง๊ณ ๋ชจ๋ธ์ด ๋ณต์กํ ์๋ก ํด์์ ์ด๋ ค์์ง๊ธฐ ๋๋ฌธ์ ๋ชจ๋ธ์ accuracy๋ฅผ ์์ง ์์ผ๋ฉด์ ํด์ํ๊ธฐ ์ํด์๋ ์ด ๋ ์ฌ์ด์ ์ ์ ์ ์ ์ฐพ๋๊ฒ์ด ์ค์ํ๋ค.
์ง๋๋ฒ ๋ฆฌ๋ทฐํ๋ CAM์์๋, CNN๋ชจ๋ธ์ ๊ฐ์ฅ ๋ง์ง๋ง layer์ธ FC layer๋ฅผ Global average pooling์ผ๋ก ๋์ฒดํ์ฌ overfitting์ ์ค์ด๊ณ ํ์ต๋์ง ์์ task(weakly-supervised object localization)์ ์ํํ์ฌ ์๊ฐํํ ์ ์๋ค๋ ์ฅ์ ์ด ์์๋ค. ํ์ง๋ง GAP๋ก ๋์ฒดํ๋ ๊ณผ์ ์ด ๊ฒฐ๊ตญ ๋ชจ๋ธ์ ํด์์ ์ํด complexity๋ฅผ ์ค์ธ ๊ฒ์ด๋ฉฐ, CAM์ ๋ง์ง๋ง FC layer๋ฅผ ํฌํจํ๋ ๋ชจ๋ธ์๋ง ํ์ ์ ์ผ๋ก ์ ์ฉํ ์ ์๋ค๋ ๋จ์ ์ด ์๋ค.
์ด ๋ ผ๋ฌธ์์ ์ ์ํ๋ Grad-CAM์, ๋ชจ๋ธ์ ๊ตฌ์กฐ๋ complexity์ ์๋ฌด ๋ณํ์ ์ฃผ์ง ์๊ณ ๋ชจ๋ ๋ชจ๋ธ์ ์ ์ฉํ ์ ์๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๋ฐ๋ผ์ CAM์ ์ผ๋ฐํ๋ ๋ฐฉ๋ฒ์ด๋ผ๊ณ ๋ณผ ์ ์๊ณ , ๋ค์๊ณผ ๊ฐ์ ๋ ๋์ ๋ฒ์ฃผ์ CNN๋ชจ๋ธ์ ์ ๋ถ ์ ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ Image Classification, Localization, Captioning, VQA(Visual Question Answering)๋ฑ์ ๋ ๋์ Task์ ์์ฉ๋๋ค.
- FC layer๊ฐ ์๋ CNNs
- Image Captioning์ฒ๋ผ ๊ตฌ์กฐํ๋ output์ ๋ง๋๋ CNNs
- VQA์ฒ๋ผ multi-modal์ input์ ์ฌ์ฉํ๋ CNNs
- ๊ฐํํ์ต
Grad-CAM (Gradient-weighted Class Activation Mapping)
CAM์์ ์ฌ์ฉํ๋ Global average pooling์์๋, ๋ง์ง๋ง Convolution layer์ Feature map ๊ฐ๊ฐ์ ๋ํด ์ ์ญ์ ์ธ ํ๊ท ๊ฐ์ ๊ตฌํ ํ ๊ฐ unit $k$์ ๋ํ ์ค์๋๋ฅผ ์๋ฏธํ๋ weight๋ค์ ์ฌ์ฉํ์ฌ weighted sum์ ํ์๋ค. ํ์ง๋ง ์์์ ์ธ๊ธํ๋ ๋ฌธ์ ์ ์ฒ๋ผ, ์ด weight ๊ฐ๋ค์ด ์ฃผ์ด์ ธ์์ง ์์ผ๋ฉด CAM์ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ Global average pooling์ ์ฌ์ฉํ๋ CNN ๋ชจ๋ธ์๋ง CAM์ ์ ์ฉํ ์ ์๋ค๋ ๋ฌธ์ ์ ์ด ์๊ธด๋ค. ๋ฐ๋ผ์ ์ด ๋ ผ๋ฌธ์์๋ ์ด weight๋ค์ ๊ฐ๊ฐ์ class c์ ๋ํ gradient backpropagation์ผ๋ก ๊ณ์ฐํ์ฌ ๋์ฒดํ๊ณ ์ ํ๋ค($\alpha_k^c=w_k^c$). ์ด $\alpha$๊ฐ์ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ ์๋์์ ์๊ฐํ๋ค.
์์ ๊ทธ๋ฆผ์ Global Average Pooling์ด ์๋ FC layer์ด ์ฌ์ฉ๋ ๋ชจ๋ธ์ ์์์ด๋ค. Softmax layer๋ฅผ ํต๊ณผํ๊ธฐ ์ด์ ์ output์ $y^c$(๊ฐ Class c์ ๋ํ ๊ฒฐ๊ณผ๊ฐ)์ด๋ผ๊ณ ํ๋ฉด, ๋ง์ง๋ง convolution layer์ feature map์ธ $A^k$์ ์ํฅ์ ๊ณ์ฐํ๊ธฐ ์ํด ๊ฐ class์ gradient๋ฅผ ๊ณ์ฐํ๋ค.
Gradient๋ฅผ $A^k$๋ด์ ๋ชจ๋ (i,j)์ ๋ด๋ฐ์ ๋ํด ๊ณ์ฐํ๊ณ Global average pooling์ ํ์ฌ, ๊ฐ $A^k$์ ๋ํ ํ๋์ importance weight $\alpha_k^c$๋ฅผ ๊ตฌํ ์ ์๋ค(Z๋ average๋ฅผ ์ํ i*j). ์ด ๋ class c์ ๋ํ output์ธ $y^c$์ feature map $A^k$๋ฅผ ์ฌ์ฉํ backpropagation์ ์ํํ๊ธฐ ๋๋ฌธ์, ๊ฐ๊ฐ์ $\alpha_k^c$๋ target class c์ ๋ํ feature map k์ ์ํฅ๋ ฅ(์ค์๋) ์ ๋ณด๋ฅผ ์๋ฏธํ๋ค.
์์ CAM์์ ํ์ธํ ์ ์์๋๊ฒ์ฒ๋ผ, ๊ตฌํด์ง ๊ฐ์ค์น(์ค์๋) $\alpha_k^c$์ feature map $A^k$์ linear combination์ฐ์ฐ์ ํ๋ฉด Grad-CAM์ ๊ตฌํ ์ ์๋ค. ์๋ ์์์ฒ๋ผ ReLU์ฐ์ฐ์ ํ๋ฒ ๋ ์ํํ๋ ์ด์ ๋, ์ํฅ๋ ฅ์ ๋ถ์ํ๊ณ ์ ํ๋ ๊ฐ class c์ ๋ํด positiveํ ์ํฅ์ ๋ฏธ์น๋ feature๋ค๋ง ๋ํ๋ด๊ธฐ ์ํด์๋ค. (positiveํ ์ํฅ์ด๋, ํด๋น feature๋ค์ intensity๊ฐ ์ฆ๊ฐํ๋ฉด $y^c$๊ฐ์ด ์ฆ๊ฐํ๋ ๊ฒ์ ๋งํ๋ค.) ReLU์ ํน์ฑ์, negative ๊ฐ์ ๊ฐ์ง๋ feature๋ค์ 0์ผ๋ก ๊ทผ์ฌํ๊ฒ ๋๋ค.
Guided Grad-CAM (Guided Backpropagation + Grad-CAM)
์์ ๊ทธ๋ฆผ์ ํ๋์ ์ด๋ฏธ์ง์ ๋ํด "Tiger cat"(์๋จ ์ค)๊ณผ "Dog"(ํ๋จ ์ค) ๋ ๊ฐ์ง class์ ๋ถ์์ ์๊ฐํํ ๊ฒ์ด๋ค.
Guided Backpropagation์ด๋ Deconvolution์ ๊ฐ์ Pixel-space Gradient Visualizations์ ๊ฒฝ์ฐ ์ด๋ฏธ์ง์ ์ธ๋ถ์ ์ธ ๋ํ ์ผ์ ํ์ด๋ผ์ดํธํ๊ธฐํ๊ธฐ ๋๋ฌธ์ ๊ฐ class์ ๋ํ ์ฐจ๋ณ์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค์ด์ฃผ์ง๋ ๋ชปํ๋ค. ์๋ฅผ ๋ค์ด (b)๋ "Cat"์ ๋ํ ์๊ฐํ ์ด๋ฏธ์ง์ด๊ณ , (h)๋ "Dog"์ ๋ํ ์๊ฐํ ์ด๋ฏธ์ง์ธ๋ฐ, ๋ ์ด๋ฏธ์ง ๋ชจ๋ pixel ๋จ์๊น์ง ์ธ๋ถ์ ์ผ๋ก ๋ถ์ํ์ง๋ง, ๊ณ ์์ด์ ๊ฐ์์ง ์์ญ์ด ์ ๋ถ ํ์ด๋ผ์ดํธ๋์ด ๋ ์ด๋ฏธ์ง์ ํฐ ์ฐจ์ด๊ฐ ์๋ค๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
๋ฐ๋ฉด CAM์ด๋ Grad-CAM๊ณผ ๊ฐ์ localization approaches์ ๊ฒฝ์ฐ ๊ฐ class์ ๋ํ ์ฐจ๋ณ์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค์ด์ฃผ์ง๋ง ์ธ๋ถ์ ์ธ ๋ํ ์ผ์ ์ก์๋ด์ง ๋ชปํ๋ค. ๊ทธ๋ฆผ์์ (c)์ (i)๋ฅผ ๋ณด๋ฉด, ๊ฐ class์ ์ํฅ์ ๋ฏธ์น๋ ๊ณ ์์ด์ ๊ฐ์์ง์ ์์ญ์ ํํธ๋งต์ฒ๋ผ ๋๋ฃจ๋ญ์ ํ๊ฒ ํ์ด๋ผ์ดํธํ ๊ฒ์ ๋ณผ ์ ์๋ค.
Guided Grad-CAM์ ์ด ๋ ๋ฐฉ๋ฒ์ ์ฅ์ ๋ค์ ์ตํฉํ์ฌ class-discriminativeํ๋ฉด์๋ high-resolutionํ ์๊ฐํ๋ฅผ ์ ๊ณตํ๊ณ ์ ๋ง๋ค์ด์ก๋ค. ๊ทธ๋ฆผ์์ (d)์ (j)๋ฅผ ๋ณด๋ฉด, pixel ๋จ์๊น์ง ์ธ๋ถ์ ์ผ๋ก ๋ถ์ํ๋ฉด์๋ ๊ฐ๊ฐ์ class์ ๋ง๋ ์์ญ๋ค๋ง ํ์ด๋ผ์ดํธํ ๊ฒ์ ๋ณผ ์ ์๋ค. ์ด๋ ๊ฒ class-discriminitiveํ ์๊ณ ๋ฆฌ์ฆ์, ๋ชจ๋ธ์ prediction์ด ํ๋ ธ์ ๊ฒฝ์ฐ์๋ ์ ํ๋ฆฐ ์์ธก์ ๋ง๋ค์๋์ง์ ๋ํ ๋ ผ๋ฆฌ์ ๊ทผ๊ฑฐ๋ฅผ ์ฐพ์ ์ ์๊ฒ ๋๋ค.
Application Tasks
Grad-CAM์ ์ ์ฒด์ ์ธ ๊ตฌ์กฐ๋ฅผ ๋ํ๋ธ ๊ทธ๋ฆผ์ด๋ค. ์์ backpropagation์ ์ฌ์ฉํ๋ $y^c$๋, Image Classification์ class score๊ฐ์ผ์๋ ์์ง๋ง, ๋ค๋ฅธ ์ฌ๋ฌ๊ฐ์ง ํํ๋ฅผ ๊ฐ์ง ์ ์๋ค.
๊ตฌ์กฐํ๋ output caption์ activation๊ฐ์ด๋ผ๋ฉด Image Captioning์ ์ ์ฉ๋ ์๋ ์๊ณ , ์ง๋ฌธ์ ๋ํ answer์ activation๊ฐ์ด๋ผ๋ฉด VQA์ ์ ์ฉ๋ ์๋ ์๋ค.
๋, CAM์ ๋ง์ง๋ง Convolution layer์ feature map์๋ง ํ์ ํด์ ์๊ฐํํ ์ ์์์ง๋ง, Grad-CAM์ backpropagation์ ํตํด ๊ฐ์ค์น๋ฅผ ๊ณ์ฐํ๊ธฐ ๋๋ฌธ์ ์ค๊ฐ์ ๋ค๋ฅธ convolution layer์ ๋ํด์ ์๊ฐํํ ์๋ ์๋ค.
Results
์ ๊ทธ๋ฆผ์ "What Color is the firehydrant?"๋ผ๋ ์ง๋ฌธ์ ๋ํ VAQ์ ์๊ณ ๋ฆฌ์ฆ๋ค์ ์ ์ฉํ ๊ฒ์ด๋ค. "red", "yellow", "yellow and red"๋ผ๋ ์ธ ๊ฐ์ class์ ๋ํด ์๊ฐํํ์ ๋, Guided Backpropagation์ ๋ชจ๋ ๋น์ทํ ์ด๋ฏธ์ง๋ฅผ ๋ณด์๊ณ , Grad-CAM๊ณผ Guided Grad-CAM์ ๊ฐ class์ ์ํฅ์ ํฌ๊ฒ ๋ฏธ์น๋ ์์ญ๋ค์ ์ฌ๋ฐ๋ฅด๊ฒ ํ์ด๋ผ์ดํธํ์๋ค.
๋ ๋ณต์กํ ๋ชจ๋ธ์ ๋ํด์๋ ํด์ ๊ฐ๋ฅํ ์ค๋ช ์ ์ ๊ณตํ ์ ์๋ค๊ณ ํ๋ค.
์ ๊ทธ๋ฆผ์ Image Captioning model์ ์ ์ฉํ ๊ฒฐ๊ณผ์ด๋ค. caption output์ ์์ธกํ๋๋ฐ ํฌ๊ฒ ์ํฅ์ ๋ฏธ์น ์์ญ๋ค์ ํ์ด๋ผ์ดํธํ ๊ฒ์ ๋ณผ ์ ์๋ค.
VGG-16์ด ๋ถ๋ฅ๋ฅผ ์คํจํ ์ด๋ฏธ์ง๋ค์ ๋ํด Guided Grad-CAM์ ์๊ฐํํ ๊ทธ๋ฆผ์ด๋ค. ์ฌ๋์ด ๋์ผ๋ก๋ง ๋ด์๋ ๋ชจ๋ธ์ด ์ ์๋ชป๋ ์์ธก์ ๋ง๋ค์ด๋๋์ง ํ์ธํ๊ธฐ ์ด๋ ต์ง๋ง, ์ด ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ฉด ์ด์ ๋ฅผ ํ์ธํ ์ ์๋ค.
์์๋ก, (b)์ ์ด๋ฏธ์ง์ ๊ฒฝ์ฐ ์ค์ ๋ผ๋ฒจ์ "volcano"์ด์ง๋ง, ์ด๋ฏธ์ง์ volcano๋ณด๋ค๋ ์ฃผ๋ณ์ ์ฐฝ๋ฌธํ์ด ๋ ๊ฐ์กฐ๋์ด์ ๋ชจ๋ธ์ด "car mirror"๋ก ์๋ชป๋ prediction์ ๋ง๋ค์ด๋๋ค๊ณ ํ๋จํ ์ ์๋ค.
References