[XAI] Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization

๊ฐ•๋™์—ฐยท2022๋…„ 4์›” 2์ผ
0

[Paper review]

๋ชฉ๋ก ๋ณด๊ธฐ
17/17

๐ŸŽˆ ๋ณธ ๋ฆฌ๋ทฐ๋Š” Grad-CAM ๋ฐ ๋ฆฌ๋ทฐ๋ฅผ ์ฐธ๊ณ ํ•ด ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ‘ฉโ€๐Ÿ’ป ์˜ค๋Š˜์€ Grad-CAM ๋…ผ๋ฌธ ๋ฆฌ๋ทฐ๋ฅผ ์ง„ํ–‰ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ œ๋ชฉ๊ณผ ๊ฐ™์ด Grad-CAM์€ ๋”ฅ๋Ÿฌ๋‹ ๋„คํŠธ์›Œํฌ๋ฅผ ์ดํ•ด๋ฅผ ๋„์™€์ค๋‹ˆ๋‹ค. ํ”ํžˆ ๋”ฅ๋Ÿฌ๋‹ ๋„คํŠธ์›Œํฌ๋ฅผ "๋ธ”๋ž™๋ฐ•์Šค"๋ผ๊ณ  ๋ถ€๋ฅด๋Š”๋ฐ, ์ด๋Š” ์–ด๋– ํ•œ ๊ณผ์ •์„ ๊ฑฐ์ณ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค๋Š”์ง€ ์ •ํ™•ํ•˜๊ฒŒ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋ณต์žกํ•œ ๊ณ„์‚ฐ๊ณผ ๊นŠ์–ด์ง€๋Š” layer๋กœ ์ธํ•ด ์ตœ๊ทผ์—๋Š” ๋”๋”์šฑ์ด ์„ค๋ช…ํ•˜๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. Grad-CAM์€ ์ด์™€ ๊ฐ™์€ ๋ฌธ์ œํ•ด๊ฒฐ์— ๋„์›€์„ ์ฃผ๋Š” ๋ฐฉ๋ฒ•๋ก ์ด๋ผ๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ•œ ๋งˆ๋””๋กœ CNN ๊ธฐ๋ฐ˜์˜ ๋„คํŠธ์›Œํฌ๋ฅผ ๋ณด๋‹ค ํˆฌ๋ช…ํ•˜๊ณ  ์•Œ๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐ŸŽˆ ๊ทธ๋ฆผ (c), (i)์— Grad-CAM์˜ ์˜ˆ์‹œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Heatmap์œผ๋กœ ๋šœ๋ ธํ•˜๊ฒŒ "Cat", "Dog"๋ฅผ ์ธ์‹ํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Grad-CAM์€ ํŠน์ • ๋„คํŠธ์›Œํฌ layer์—์„œ ์–ด๋–ค ๋ถ€๋ถ„์„ ๊ฐ•์กฐํ•˜๋Š”์ง€ ์‹œ๊ฐ์ ์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Introduction

โœ” CNN์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๋‹ค์–‘ํ•œ vision task๋“ค์ด ์กด์žฌํ•˜๋Š”๋ฐ, ์ด๋Ÿฌํ•œ ๋ชจ๋ธ๋“ค์˜ ๊ณผ์ •์„ ์ง๊ด€์ ์œผ๋กœ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์—๋Š” ์•„์ง๊นŒ์ง€ ๋งŽ์ด ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ด๋Ÿฌํ•œ ๋„คํŠธ์›Œํฌ๋“ค์ด ์ •ํ™•ํ•˜๊ฒŒ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ํ•ด์„ํ•˜๊ธฐ ์–ด๋ ต๋‹ค ๋ผ๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โœ” ํ•ด์„์˜ ๋ฌธ์ œ์— ๋Œ€ํ•ด ์กฐ๊ธˆ ๋” ๊ตฌ์ฒด์ ์œผ๋กœ ์ด์•ผ๊ธฐํ•˜๋ฉด, Grad-CAM๊ณผ ๊ฐ™์€ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์กด์žฌํ•œ๋‹ค๋ฉด, ์‹คํŒจํ•œ ๋ฐฉ๋ฒ•๋“ค์— ๋Œ€ํ•œ ๋…ผ๋ฆฌ์ ์ธ ์›์ธ์„ ์ฐพ์„ ์ˆ˜ ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ง๊ด€์ ์ธ ๊ทผ๊ฑฐ์„ ์ œ์‹œํ•จ์œผ๋กœ์จ ๋ชจ๋ธ์˜ ์‹ ๋ขฐ๋„๊ฐ€ ์ฆ๊ฐ€ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

โœ” ์ผ๋ฐ˜์ ์œผ๋กœ ๋ชจ๋ธ์˜ ์ •ํ™•๋„์™€ ๋‹จ์ˆœํ•จ ๋˜๋Š” ํ•ด์„ ๊ฐ€๋Šฅํ•จ์€ trade-off ๊ด€๊ณ„๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ชจ๋ธ์˜ ํ•ด์„ํ•˜๊ธฐ ์œ„ํ•ด์„  ๊ฐ„๋‹จํ•œ ๊ตฌ์กฐ์˜ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•ด์•ผํ•˜๋ฉฐ, ์ด๋Š” ๋‚ฎ์€ ์ •ํ™•๋„๋ฅผ ๊ฐ€์ง„๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ์ ์  ๋ชจ๋ธ์˜ ๊ตฌ์กฐ์— ๊นŠ์–ด์ง€๊ณ , ๋ณต์žกํ•ด์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Class Activation Mapping(CAM)์ด๋ผ๋Š” ๋ฐฉ๋ฒ•๋ก ์ด ๋‚˜์™”์œผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด class ์‹๋ณ„ํ•˜๋ฉฐ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์˜ค์ง CNN ๋„คํŠธ์›Œํฌ์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋‹จ์ ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. Grad-CAM์€ ์œ„์˜ CAM์„ ์ผ๋ฐ˜ํ™”(generalization)์„ ํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐ŸŽˆ What makes a good visual explanation??

โœ” good visual explanation์„ ํ•˜๊ธฐ ์œ„ํ•ด ์•„๋ž˜ ๋‘ ๊ฐ€์ง€ ์นดํ…Œ๊ณ ๋ฆฌ์— ๋Œ€ํ•ด ์ž˜ ๊ตฌ๋ถ„ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

(1). Class-discriminative
(2). High-Resolution

โœ” ์œ„์˜ Grad-CAM์˜ ๊ฒฝ์šฐ์—๋Š” Class-disciminative๋Š” ์ถฉ๋ถ„ํžˆ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, High Resoultioin ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Guided ๋ฐฉ๋ฒ•๋“ค์˜ ๊ฒฝ์šฐ์—๋Š” High Resoultioin ํ•˜์ง€๋งŒ, Class-disciminative ํ•˜๋Š”๋ฐ ์ž˜ ์‹๋ณ„๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์œ„์˜ ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ํ˜ผ์šฉํ•œ ๋ฐฉ๋ฒ•์ธ Guided Grad-CAM์„ ํ™•์ธํ•˜๋ฉด Class-disciminative, High Resoultioin ์ „๋ถ€ ์ž˜ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Grad-CAM

โœ” ์ผ๋ฐ˜์ ์œผ๋กœ CNN ๋„คํŠธ์›Œํฌ ์ค‘ ๋งˆ์ง€๋ง‰ Conv layer ์—์„œ ๊ฐ€์žฅ ๋งŽ์€ ๊ณต๊ฐ„ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Fc layers์—์„œ๋Š” ๊ณต๊ฐ„ ์ •๋ณด๊ฐ€ ์†์‹ค๋จ์œผ๋กœ ๊ทธ ์ง์ „์˜ layer์—์„œ ๊ณต๊ฐ„ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋ฅด Grad-CAM์—์„œ๋Š” Conv layer์˜ ๋งˆ์ง€๋ง‰ layer๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๐ŸŽˆ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ „์ฒด์ ์ธ ๋„คํŠธ์›Œํฌ ํ๋ฆ„์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๋ฉด, Softmax ์ด์ „์˜ class c์˜ ๊ฒฐ๊ณผ๋กœ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ Conv layer๊นŒ์ง€์˜ Gradient๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ์œ„์— ๊ทธ๋ฆผ์—์„œ๋„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋“ฏ์ด ์–ด๋–ค task๋“  ๊ด€๊ณ„์—†์ด ๋™์ผํ•˜๊ฒŒ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. Backprop๋œ gradient์— ๋Œ€ํ•ด GAP๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜ํ–‰๋œ GAP๋ฅผ Weight๋กœ ์‚ฌ์šฉํ•ด feature map๊ณผ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ReLU function์„ ํ†ต๊ณผํ•ด ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

โœ” Fig 2.์˜ Grad-CAM์˜ ๊ฒฐ๊ณผ๋Š” Class cc์— ๋Œ€ํ•œ width x height ํฌ๊ธฐ์˜ ๊ฒฐ๊ณผ๋ผ๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โœ” ๊ณ„์‚ฐ ์ˆœ์„œ๋กœ๋Š” ๋จผ์ € score for class cc, ycy^c์˜ gradient๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค(softmax์ด์ „๊นŒ์ง€). ์ด gradient๋ฅผ GAP๋กœ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ๊ฒฐ๊ณผ๋ฅผ akca^c_k๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

๐ŸŽˆ Weight akca_k^c๋Š” A๋กœ๋ถ€ํ„ฐ downstream๋œ partial linearization(๋ถ€๋ถ„ ์„ ํ˜•ํ™”)์ด๋ฉฐ, ์ด๋Š” feature map kk์™€ target class cc์˜ ์ค‘์š”๋„๋ฅผ ํฌ์ฐฉํ–ˆ๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ดํ›„์— ReLU function์„ ํ†ต๊ณผํ•ด ๊ฒฐ๊ณผ๋ฅผ ์–ป๋Š”๋ฐ, ReLU Function์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” positiveํ•œ ๊ฒƒ๋“ค๋งŒ์„ ์ฐพ๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

Grad-CAM generalizes CAM

โœ” Grad-CAM์„ ์ผ๋ฐ˜ํ™”ํ•œ CAM์ด๋ผ๊ณ ๋„ ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ˆ˜์‹์ ์œผ๋กœ ์ฆ๋ช…์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.


๐ŸŽˆ ์ด๋Š” Grad-CAM ๋ฆฌ๋ทฐํ•ด์ฃผ์‹  ์ž๋ฃŒ๋ฅผ ์ฒจ๋ถ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ Reference์—์„œ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„์˜ ๊ณผ์ •์ด ๋…ผ๋ฌธ์— ์ œ์‹œ๋œ ๊ธ€๋ณด๋‹ค ๋”์šฑ ์ดํ•ด๊ฐ€ ์‰ฝ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€์ง€๊ณ ์™”์Šต๋‹ˆ๋‹ค.

โœ” ๋จผ์ € ์ฒซ๋ฒˆ์งธ ์‹์„ ๋ณด๋ฉด, YcY^c๋ฅผ Softmax ์ด์ „์˜ ๊ฐ’์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ZZ๋Š” pixel์˜ ์ˆ˜ ์ด๋ฉฐ, i,ji,j๋Š” ๊ฐ ํ”ฝ์…€์˜ ์œ„์น˜์„ ์˜๋ฏธํ•˜๋ฉฐ, Ai,jkA^k_{i,j}๋Š” kk๋ฒˆ์งธ feature map์˜ i,ji,j๋ฒˆ์งธ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

โœ” ์œ„์˜ ๊ฐ’์„ ์ •์˜ํ•˜๊ณ , ์œ„์˜ ์‹์„ ๋”ฐ๋ผ๊ฐ€๋‹ค๋ณด๋ฉด ๊ฒฐ๋ก ์ ์œผ๋กœ ๊ธฐ์กด์˜ CAM์„ ์ผ๋ฐ˜ํ™”ํ•œ ๋ชจ์Šต์ด๋ž€ ๊ฒƒ์„ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โœ” CAM๊ณผ Grad-CAM์˜ ์ฐจ์ด์— ๋Œ€ํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ์–ธ๊ธ‰ํ•˜๋ฉด, CAM์˜ ๊ฒฝ์šฐ์—๋Š” CAM์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ถ”๊ฐ€์ ์ธ GAP layer๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด, Grad-CAM์˜ ๊ฒฝ์šฐ์—๋Š” ์–ด๋– ํ•œ ๋ณ€๋™์—†์ด Gradient๋กœ ํ•™์Šตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Guided Grad-CAM

โœ” Grad-CAM์€ class-discriminative์ด๋ฉฐ ๊ด€๋ จ ์ด๋ฏธ์ง€ ์˜์—ญ์„ localizes ํ•˜์ง€๋งŒ Guided backpropagation๊ณผ ๊ฐ™์€ fine-grainedํ•œ ๋””ํ…Œ์ผ์„ ๊ฐ•์กฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

โœ” Guided Grad-CAM์€ Grad-CAM์— Guidedํ•œ ๋ฐฉ๋ฒ•์„ element-wiseํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. Guided backpropagation์€ ์—ญ์ „ํŒŒ ๊ณผ์ •์—์„œ negativeํ•œ gradient์„ ์–ต์ œํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š ๋งˆ์น˜ ReLU function์„ gradient์— ์ ์šฉํ•œ ๊ฒƒ๊ณผ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค.

๐ŸŽˆ Grad-CAM์˜ ๋ฐฉ๋ฒ•๋ก ์€ ์œ„์™€ ๊ฐ™์€ ์–ด๋ ต์ง€ ์•Š๋Š” ๋ฐฉ๋ฒ•์ž„์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋…ผ๋ฌธ์—์„œ๋Š” ๋‹ค์–‘ํ•œ ์‹คํ—˜ ๊ฒฐ๊ณผ์— ๋Œ€ํ•ด์„œ๋„ ์„œ์ˆ ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ถ๊ธˆํ•˜์ง€๋ฉด ์ฐพ์•„๋ณด๋Š” ๊ฒƒ์„ ์ถ”์ฒœ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. Grad-CAM์€ ๋”ฅ๋Ÿฌ๋‹์ด ์–ด๋–ป๊ฒŒ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์ธ์ง€์— ๋Œ€ํ•œ ๋…ผ๋ฆฌ์ ์ธ ๋ถ€๋ถ„์„ ์„ค๋ช…ํ•˜๋Š” ๊ฒƒ์— ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ Grad-CAM์€ ์ด์ „์˜ CAM๊ณผ ๋‹ค๋ฅด๊ฒŒ layer ์ˆ˜์ •์ด ๋ถˆํ•„์š”ํ•˜๋‹ค๋Š” ์ ์ด ๋งค์šฐ ์žฅ์ ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Vision๊ณผ ๊ด€๋ จ๋œ Network๋ผ๋ฉด Grad-CAM์„ ์ ์šฉํ•ด ํ•„์š”ํ•œ ๊ทผ๊ฑฐ์ž๋ฃŒ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.


Reference

profile
Maybe I will be an AI Engineer?

0๊ฐœ์˜ ๋Œ“๊ธ€