๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Data Science/Computer Vision

[ML] Explainable AI - CAM & Grad CAM

๋ฐ˜์‘ํ˜•

๐Ÿ”‰ํ•ด๋‹น ํฌ์ŠคํŒ…์—์„œ ์‚ฌ์šฉ๋œ ์ž๋ฃŒ๋Š” ๊ณ ๋ ค๋Œ€ํ•™๊ต ์‚ฐ์—…๊ฒฝ์˜๊ณตํ•™๋ถ€ ๊น€์„ฑ๋ฒ”๊ต์ˆ˜๋‹˜์˜ Youtube ๊ฐ•์˜์ž๋ฃŒ์— ๊ธฐ๋ฐ˜ํ–ˆ์Œ์„ ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค. ํ˜น์—ฌ๋‚˜ ์ถœ์ฒ˜๋ฅผ ๋ฐํ˜”์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์ €์ž‘๊ถŒ์˜ ๋ฌธ์ œ๊ฐ€ ๋œ๋‹ค๋ฉด joyh951021@gmail.com์œผ๋กœ ์—ฐ๋ฝ์ฃผ์‹œ๋ฉด ํ•ด๋‹น ์ž๋ฃŒ๋ฅผ ์‚ญ์ œํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

 

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์ปดํ“จํ„ฐ ๋น„์ „ ๋ถ„์•ผ์˜ ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜ ๋ฌธ์ œ์— ์žˆ์–ด์„œ CNN ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์˜ ์˜ˆ์ธก ๊ฒฐ๊ณผ๋ฅผ ์„ค๋ช…ํ•ด์ค„ ์ˆ˜ ์žˆ๋Š” ์š”์†Œ ์ค‘ ํ•˜๋‚˜์ธ CAM(Class Activation Map) ๊ณผ ์ด๋ฅผ ์‘์šฉํ•œ ๋ฐฉ๋ฒ•์ธ Grad CAM ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์ €๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” Tabular data ์ฆ‰, ์ •ํ˜• ๋ฐ์ดํ„ฐ์—์„œ ์˜ˆ์ธก ๊ฒฐ๊ณผ๋ฅผ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋Š” ์š”์†Œ์ธ Shapley Value๋ฅผ ์•Œ์•„๋ณด์•˜๋‹ค. ์ด๋ฒˆ์—๋Š” ๋„๋ฉ”์ธ์„ ๋ณ€๊ฒฝํ•˜์—ฌ ์ปดํ“จํ„ฐ ๋น„์ „ ๋ถ„์•ผ์—์„œ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ํ•ด๋‹น ํฌ์ŠคํŒ…์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” CNN ๋ชจ๋ธ์— ๋Œ€ํ•œ ๊ฐœ๋…์ด ์ „์ œ๋˜์–ด์•ผ ํ•˜๋ฏ€๋กœ ํ˜น์‹œ CNN ๋ชจ๋ธ์— ๋Œ€ํ•ด ๋ชจ๋ฅธ๋‹ค๋ฉด ์—ฌ๊ธฐ๋ฅผ ์ฝ์–ด๋ณด๊ณ  ์˜ค์ž.

 

์ปดํ“จํ„ฐ ๋น„์ „ ๋ถ„์•ผ์—์„œ์˜ ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜ ์˜ˆ์ธก ๊ฒฐ๊ณผ๋Š” ์–ด๋–ป๊ฒŒ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์„๊นŒ?

 

CNN ๋ชจ๋ธ์ด ๊ฐ•์•„์ง€ ์‚ฌ์ง„์„ ์ธํ’‹์œผ๋กœ ๋ฐ›์•„๋“ค์—ฌ์„œ ๋ถ„๋ฅ˜ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ•์•„์ง€๋กœ ์˜ˆ์ธกํ–ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๋Œ€์ฒด CNN ๋ชจ๋ธ์ด ์ธํ’‹ ์ด๋ฏธ์ง€์˜ ์–ด๋–ค ๋ถ€๋ถ„์„ ์ค‘์ ์ ์œผ๋กœ ๋ณด๊ณ  ํ•ด๋‹น ์ธํ’‹ ์ด๋ฏธ์ง€๊ฐ€ ๊ฐ•์•„์ง€ ์‚ฌ์ง„์ด๋ผ๋Š” ๊ฒƒ์„ ์˜ˆ์ธกํ–ˆ์„๊นŒ? ์ธ๊ณต์ง€๋Šฅ์ด๋ผ๋„ ๊ทธ๋ ‡๊ฒŒ ํŒ๋‹จํ•œ ์ •๋Ÿ‰์ ์ธ ์ด์œ ๊ฐ€ ๋ถ„๋ช…ํžˆ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฌํ•œ ์ด์œ ๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋ฐ”๋กœ CAM(Class Activation Map)์ด๋‹ค. ์šฐ์„  CAM์„ ์ดํ•ดํ•˜๊ธฐ ์ „์— ๊ฐ„๋‹จํ•˜๊ฒŒ CNN ๋ชจ๋ธ์ด ์–ด๋–ค ๊ตฌ์กฐ์˜€๋Š”์ง€ ์ž ๊น ์ƒ๊ธฐ์‹œ์ผœ๋ณด์ž.

 

CNN ๋ชจ๋ธ ๊ตฌ์กฐ

1. GAP๋ฅผ ํ™œ์šฉํ•œ CAM

์œ„์™€ ๊ฐ™์ด ์ธํ’‹ ์ด๋ฏธ์ง€๊ฐ€ CNN ๋ชจ๋ธ๋กœ ๋“ค์–ด๊ฐ€๊ฒŒ ๋˜๋ฉด ์—ฌ๋Ÿฌ ๋‹จ๊ณ„์˜ ์ปจ๋ณผ๋ฃจ์…˜ ๊ณผ์ •์„ ๊ฑฐ์น˜๊ณ  ๋ถ„ํ™์ƒ‰ ๋„ค๋ชจ์นธ์ฒ˜๋Ÿผ ์ตœ์ข… Feature Map ์ƒํƒœ๊ฐ€ ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด Feature Map์„ Flatten ํ•ด์ฃผ๊ณ  ์ตœ์ข… ํด๋ž˜์Šค ๋ถ„๋ฅ˜๋ฅผ ์˜ˆ์ธกํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, CAM์€ Feature Map์—์„œ๋ถ€ํ„ฐ ์ด Feature Map์„ Flatten ํ•ด์ฃผ๊ณ  ๊ฒฐ๊ณผ๊ฐ’์„ ๋ถ„๋ฅ˜ํ•˜๋Š” ๋‹จ๊ณ„๊นŒ์ง€๋ฅผ ํฌ๊ด„ํ•œ๋‹ค. ๊ทธ๋ฆผ์œผ๋กœ ํ‘œ์‹œํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

CAM์€ CNN์—์„œ ์–ด๋”” ๋‹จ๊ณ„์— ์œ„์น˜ํ• ๊นŒ?

 

์ฆ‰, ์ธํ’‹์ด๋ฏธ์ง€๊ฐ€ CNN ๋ชจ๋ธ๋กœ ์ธํ•ด ํด๋ž˜์Šค ๋ถ„๋ฅ˜๊ฐ€ ๋œ ํ›„, ์–ด๋–ค ํ”ฝ์…€ ๋ถ€๋ถ„์ด ํด๋ž˜์Šค ์˜ˆ์ธก์— ํฐ ์˜ํ–ฅ์„ ์ฃผ์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ตœ์ข… Feature Map์— ๊ฐ ์ฑ„๋„๋งˆ๋‹ค GAP ๊ณผ์ •์„ ๊ฑฐ์นœ ํ›„์˜ ๊ฐ’๋“ค์„ Input ๋…ธ๋“œ๋กœ ํ•˜๊ณ , Ouput ๋…ธ๋“œ๋ฅผ ์ตœ์ข… ํด๋ž˜์Šค๋กœ ํ•˜๋Š” ๋‰ด๋Ÿด ๋„คํŠธ์›Œํฌ๋ฅผ ํ•™์Šต์‹œํ‚ค๊ฒŒ ๋œ๋‹ค. ์ด์ œ CAM์ด ๊ตฌ์ฒด์ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ์œ„ CAM ๋‹จ๊ณ„๋ฅผ ์ข€ ๋” ํ™•์žฅ์‹œ์ผœ๋ณด์ž.

 

GAP๋ฅผ ์‚ฌ์šฉํ•œ CAM

์šฐ๋ฆฌ๋Š” $Class\ 1$๋กœ ๋ถ„๋ฅ˜๋œ ๊ฒฐ๊ณผ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ์ƒํ™ฉ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. ์œ„์™€ ๊ฐ™์ด Feature Map์˜ Channel 1๊ฐœ ๋งˆ๋‹ค GAP(Global Average Pooling)์„ ์ ์šฉํ•ด์„œ ํ•˜๋‚˜์˜ Scala ๊ฐ’์„ ๊ณ„์‚ฐํ•œ๋‹ค. ์ด ๋•Œ GAP๋ž€, ์‰ฝ๊ฒŒ ๋งํ•ด์„œ Avreage Pooling์„ ์˜๋ฏธํ•œ๋‹ค. ์ฆ‰, Feature Map์˜ ํ”ฝ์…€๊ฐ’๋“ค์— ๋Œ€ํ•œ ํ‰๊ท ๊ฐ’์„ ๋‚ธ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ๊ฐ ์ฑ„๋„๋งˆ๋‹ค GAP๋ฅผ ์ ์šฉํ•ด $a, b, c$ ๊ฐ’์„ ๊ณ„์‚ฐํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด 3๊ฐœ์˜ ๊ฐ’๋“ค์„ ์ธํ’‹ ๋ฐ์ดํ„ฐ๋กœ ํ•˜๊ณ  ํด๋ž˜์Šค ๋ถ„๋ฅ˜ ๊ฒฐ๊ณผ๊ฐ’์„ Output์œผ๋กœ ํ•˜๋Š” ๋‰ด๋Ÿด ๋„คํŠธ์›Œํฌ๋ฅผ ํ•™์Šต์‹œํ‚จ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์œ„ ๊ทธ๋ฆผ์—์„œ ์ฒ˜๋Ÿผ ๊ฐ GAP ๊ฐ’($a, b, c$) ๋งˆ๋‹ค ๊ด€๋ จ๋˜์–ด ์žˆ๋Š” $w_1, w_2, w_3$ ๊ฐ’์ด ํ•™์Šต๋  ๊ฒƒ์ด๋‹ค. 

 

๊ทธ๋Ÿฐ ๋‹ค์Œ ํ•™์Šต๋œ $w_1, w_2, w_3$ ๊ฐ’์„ ๊ฐ๊ฐ ๊ด€๋ จ๋˜์–ด ์žˆ๋Š” Feature Map ์ฑ„๋„์—๋‹ค๊ฐ€ ๊ณฑํ•ด์ค€๋‹ค. ๋ฐ”๋กœ ์•„๋ž˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๋ง์ด๋‹ค.

 

๊ฐ Weight ๊ฐ’์„ ๊ฐ ์ฑ„๋„ ๋งˆ๋‹ค ๊ณฑํ•ด์ค€๋‹ค

 

์œ„์ฒ˜๋Ÿผ ์ด๋ ‡๊ฒŒ ๊ฐ€์ค‘์น˜๊ฐ€ ๊ณฑํ•ด์ง„ ๊ฐ ์ฑ„๋„์„ ๋‹ค์‹œ ํ•ฉ์นœ๋‹ค. ์ด๋ ‡๊ฒŒ Weighted Sum๋œ Feature Map์„ Graphical ํ•˜๊ฒŒ ์‹œ๊ฐํ™”ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚˜ํƒ€๋‚ด์ง€๊ฒŒ ๋œ๋‹ค.

 

GAP๋ฅผ ํ™œ์šฉํ•œ CAM

2. Grad CAM

๋‹ค์Œ์œผ๋กœ ์†Œ๊ฐœํ•  ๋ฐฉ๋ฒ•์€ ์œ„์—์„œ ์•Œ์•„๋ณด์•˜๋˜ CAM ๊ธฐ๋ฒ•์„ ์‘์šฉํ•œ Grad CAM ๊ธฐ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. ๊ธฐ์กด CAM์€ GAP(Global Average Pooling)์„ ํ™œ์šฉํ–ˆ์ง€๋งŒ ์ด๋ฒˆ์— ์†Œ๊ฐœํ•  Grad CAM ๊ธฐ๋ฒ•์€ GAP๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์—ฌ๊ธฐ์„œ ์ž ๊น ์ƒ๊ฐํ•ด๋ณด์ž. ๊ทธ๋ ‡๋‹ค๋ฉด GAP๋ฅผ ์™œ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„๊นŒ? 

 

GAP๋Š” ์œ„์—์„œ ์•Œ์•„๋ณด์•˜๋˜ ๊ฒƒ์ฒ˜๋Ÿผ Feature Map์˜ ๊ฐ ์ฑ„๋„๋งˆ๋‹ค GAP๋ฅผ ์ทจํ•œ ๊ฐ’์„ ํ•˜๋‚˜์˜ Input์œผ๋กœ ์„ค์ •ํ•ด์„œ ๋‰ด๋Ÿด๋„คํŠธ์›Œํฌ๋ฅผ ํ•™์Šต์‹œ์ผœ์•ผ ํ•œ๋‹ค. ๊ฒฐ๊ตญ ํ•„์ˆ˜์ ์œผ๋กœ ํ•˜๋‚˜์˜ ์ถ”๊ฐ€์ ์ธ ๋‰ด๋Ÿด ๋„คํŠธ์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์ด๋Š” ๊ฒฐ๊ตญ ๋†’์€ ์ปดํ“จํŒ… ๋น„์šฉ ๋ฌธ์ œ๊ฐ€ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋ฐœ์ƒํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ์ ์— ์ฐฉ์•ˆํ•˜์—ฌ Grad CAM์€ ๊ธฐ์กด CAM ์ฒ˜๋Ÿผ ์ƒˆ๋กœ์šด ๋‰ด๋Ÿด ๋„คํŠธ์›Œํฌ๋ฅผ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๊ณ  ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜ ๊ฒฐ๊ณผ๋ฅผ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ œ์‹œํ•œ๋‹ค. Grad CAM์˜ 'Grad' ๋Š” 'Gradient(๋ฏธ๋ถ„=๋ณ€ํ™”๋Ÿ‰)'์„ ๋œปํ•˜๋Š”๋ฐ, ์™œ 'Gradient'๋ฅผ ํ™œ์šฉํ•˜๋Š”์ง€, ๋˜ Grad CAM์ด ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ํ•œ๋ฒˆ ์‚ดํŽด๋ณด์ž.

 

Grad CAM ๊ตฌ์กฐ

 

Grad CAM๋Š” ํŠน์ดํ•˜๊ฒŒ Feature Map์˜ ๊ฐ ์ฑ„๋„๋“ค์„ Flatten ์‹œํ‚ค๋Š” ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค. ์ด๋ ‡๊ฒŒ ๊ฐ ์ฑ„๋„์„ Flatten ์‹œํ‚จ ํ›„ ํด๋ž˜์Šค ๋ถ„๋ฅ˜ ๊ฒฐ๊ณผ๊ฐ’์ธ Output ๊ณผ์˜ ๊ฐ€์ค‘์น˜($w_i$)๋ฅผ ํ™œ์šฉํ•œ๋‹ค. ์ฆ‰, Flatten ์‹œํ‚จ ์ผ์ข…์˜ Input ๋…ธ๋“œ๋“ค์ด ํŠน์ • ํด๋ž˜์Šค๋กœ ๋ถ„๋ฅ˜๋˜๋Š” ๊ฒƒ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๊ฐ’์œผ๋กœ์„œ $w_i$๊ฐ€ ์ •์˜๋œ๋‹ค. ์ด ๋•Œ $w_i$ ๊ฐ’๋“ค์— ๋Œ€ํ•ด ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณ„์‚ฐ ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค.

 

Grad CAM์—์„œ ๊ฐ ์ฑ„๋„๋งˆ๋‹ค Weight๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•

 

์˜ˆ๋ฅผ ๋“ค์–ด $Class\ 1$ ๋กœ ์˜ˆ์ธก๊ฐ’์ด ๋‚˜์™”๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ณ  ๊ฐ Feature Map์˜ ์ฑ„๋„๋งˆ๋‹ค Weight ๊ฐ’์„ ๊ตฌํ•ด์ค€๋‹ค. Weight ๊ฐ’์„ ๊ตฌํ•ด์ฃผ๋Š” ์ˆ˜์‹์„ ์‚ดํŽด๋ณด์ž. ๋ถ„์ž์ธ ํŠน์ • ํด๋ž˜์Šค $y^{c_1}$์œผ๋กœ ๋ถ„๋ฅ˜๋˜๋Š” ๊ฐ’์„ ๋ถ„๋ชจ์ธ $\partial {A_{ij}}^k$๋Š” ํŠน์ • Feature Map ์ฑ„๋„์˜ ํ•œ ํ”ฝ์…€(Feature Map์˜ ํ•œ ์นธ)๊ฐ’๋“ค ๊ธฐ์ค€์œผ๋กœ ํ•œ๋ฒˆ์”ฉ ์ฐจ๋ก€๋กœ ํŽธ๋ฏธ๋ถ„์„ ์ˆ˜ํ–‰ํ•ด์ฃผ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.(์ด ๋•Œ, ํŽธ๋ฏธ๋ถ„์„ ์ˆ˜ํ–‰ํ•ด์ค€๋‹ค๋Š” ๊ฒƒ์€ ์ตœ์ข… ํด๋ž˜์Šค ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์–ผ๋งˆ๋‚˜ '๋ณ€ํ™”'ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ๋ณ€ํ™”๋Ÿ‰์„ ์˜๋ฏธํ•˜๊ธฐ ๋•Œ๋ฌธ์— Grad CAM์˜ 'Grad' ๊ฐ€ 'Gradient(๋ฏธ๋ถ„ = ๋ณ€ํ™”๋Ÿ‰)'์„ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์ด๋‹ค.)

 

๊ทธ๋ฆฌ๊ณ  ์ด๋ฅผ ๋ชจ๋‘ ํ•ฉํ•œ ํ›„ Feature Map์˜ ์ฑ„๋„ ๋‹น ํ”ฝ์…€ ์ด ๊ฐœ์ˆ˜์ธ $z$ ๊ฐ’์œผ๋กœ ๋‚˜๋ˆ„์–ด ์ฃผ์–ด ํ‰๊ท ์„ ์ทจํ•ด์ค€๋‹ค. ์ด๋ ‡๊ฒŒ ๊ฐ Feature Map์˜ ์ฑ„๋„๋งˆ๋‹ค ๋˜‘๊ฐ™์ด ์ˆ˜ํ–‰ํ•ด์ค€๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๊ฐ Feature Map ์ฑ„๋„์—๋‹ค๊ฐ€ ๊ฐ ์ฑ„๋„์— ๋งคํ•‘๋˜์„œ ๊ณ„์‚ฐ๋œ Weight ๊ฐ’์„ ๊ณฑํ•ด์ฃผ๊ณ  ์ฑ„๋„๋“ค์„ ๋‹ค์‹œ ํ•ฉ์นœ๋‹ค.

 

Feature Map ๊ฐ ์ฑ„๋„์— Weight๋ฅผ ๊ณฑํ•ด์„œ Feature Map์— ์ผ์ข…์˜ ๋ณ€ํ™”๊ฐ€ ๋ฐœ์ƒ

 

๊ทธ๋ฆฌ๊ณ  ๊ธฐ์กด CAM์ฒ˜๋Ÿผ ๊ฐ€์ค‘์น˜๊ฐ€ ๋”ํ•œ ๊ฒƒ์ด ๋ฐ˜์˜๋œ Feature Map์„ ๊ทธ๋ž˜ํ”ผ์ปฌํ•˜๊ฒŒ ๊ทธ๋ ค๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‹œ๊ฐํ™”๊ฐ€ ๋œ๋‹ค.

 

CAM, Grad CAM์„ ์ธํ’‹์ด๋ฏธ์ง€์— ์‹œ๊ฐํ™”๋ฅผ ์‹œ์ผœ๋ณด์ž

 

๋ฐ˜์‘ํ˜•