Hello Potato World
[ํฌํ ์ดํ ์คํฐ๋] Detecting Concepts ๋ณธ๋ฌธ
โ ๏ฝก ห โ๏ธ ห ๏ฝก โ ๏ฝก ห โฝ ห ๏ฝก โ
[XAI study_ Interpretable Machine Learning]
7.3 Detecting Concepts
- Black-box ๋ชจ๋ธ์ ์ค๋ช ํ๋ ๋ฐฉ๋ฒ์ ๋ ๊ฐ์ง ๊ด์
- Feature-based approach
- Concept-based approach
- ์ง๊ธ๊น์ง ๋ณธ Feature-based approach ๋ฐฉ๋ฒ๋ค์ ๋จ์
- Feature๋ค์ด Interpretability ๊ด์ ์์ ์ ๋ถ ์ ์ฉํ์ง ์๋ค.
(ex) image์์ ๊ฐ๊ฐ์ pixel์ ์ค์๋๊ฐ ์๋ฏธ์๋ ํด์์ ๋ง๋ค์ง ์์ - ๋์ถ๋๋ explanation์ ํํ์ด feature์ ๊ฐฏ์์ ์ํด ์ ์ฝ์ ๋ฐ๋๋ค.
- Concept-based Approach
- concepts : ์ด๋ ํ ์ถ์์ ์ธ ๊ฒ๋ค๋ ๊ฐ๋ฅ(color, object, even an idea)
- Concept-based Approach : Neural network์ ์ํด ํ์ต๋ latent space๋ด์ embedded๋ concept์ ์ฐพ๋ ๊ฒ
NN์ด ์ฃผ์ด์ง concept์ ๋ํด ๋ช ํํ๊ฒ ํ์ต๋์ง ์์๋ ์ ์ฐพ์๋ผ ์ ์๋ค.
=> NN์ feature space์ ์ํด ์ ์ฝ๋ฐ์ง ์๋ explanation์ ์์ฑํ ์ ์๋ค.
7.3.1 TCAV : Testing with Concept Activation Vectors
NN์ global explanation์ ๋ง๋ค๊ธฐ ์ํด ์ ์๋ ๋ฐฉ๋ฒ
์ด๋ ํ concept์ด ํน์ class์ ๋ํ ๋ชจ๋ธ์ prediction์ ์ฃผ๋ ์ํฅ์ ์ธก์
(ex) TCAV๋ ๋ชจ๋ธ์ด ์ด๋ฏธ์ง๋ฅผ "zebra"๋ผ๊ณ classifyํ๋๋ฐ์ "striped"๋ผ๋ concept์ด ์ฃผ๋ ์ํฅ ์ธก์
single prediction์ ์ค๋ช
ํ๋ ๊ฒ์ด ์๋๋ผ ํด๋น concept๊ณผ class ์ฌ์ด์ ๊ด๊ณ๋ฅผ ์ค๋ช
(global)
7.3.1.1 CAV: Concept Activation Vector
CAV : NN์ ํ๋์ layer๋ด์ activation space์์ ํน์ concept์ ๋ํ ์์น์ ์ธ ํํ
$v^C_l$ : Neural network layer ๐์์ concept ๐ถ์ CAV (๐ : bottleneck of the model)
- concept ๐ถ์ CAV ๊ณ์ฐ
1. 2๊ฐ์ ๋ฐ์ดํฐ์ ์ค๋น
(1) ๐ถ๋ฅผ ํํํ๋ concept ๋ฐ์ดํฐ์
: concept "striped"๋ฅผ ํํํ๋, striped objects์ ๋ฐ์ดํฐ์
(2) random ๋ฐ์ดํฐ์
: stripe๊ฐ ์๋ group์ random ๋ฐ์ดํฐ์
2. Hidden layer์ค ํ๋์ธ ๐์ ํ๊ฒ์ผ๋ก Binary classifier๋ฅผ ํ์ต์ํจ๋ค.
Binary classifier : 1๋ฒ์ ๋ ๊ฐ์ ๋ฐ์ดํฐ์ ๋ถ๋ฆฌ(SVM, logistic regression...)
CAV $v^C_l$ : Trained binary classifier์ coefficient vector
3. input x์ ๋ํ Conceptual sensitivity ๊ณ์ฐ (์ถ๊ฐ์ )
Conceptual Sensitivity : CAV๋ฅผ ํ์ฉํ์ฌ ๊ณ์ฐํ ํด๋น concept์ ๋ํ ๋ฏผ๊ฐ๋
- Conceptual Sensitivity
ํ๋์ CAV์ direction์ผ๋ก์ prediction์ ๋ํ directional derivative ๊ณ์ฐ
- ์์์์์ ๋ด์ ๊ฐ์ ํตํ ์๋ฏธ ํ์
gradient of $h_{l,k}(f_l(x))$์ $v^C_l$์ฌ์ด์ ๊ฐ
- Greater than 90 degrees : $v^C_l$๊ฐ์ ์์
- less than 90 degrees : $S_{C,k,l}$๊ฐ์ ์์
conceptual sensitivity : $v^C_l$์ด $h_{l,k}$๋ฅผ ์ต๋ํํ ์ ์๋ ๋ฐฉํฅ๊ณผ ๊ฐ์ ๋ฐฉํฅ์ ๊ฐ๋ฆฌํค๊ณ ์๋์ง ํํ
๋ฐ๋ผ์, $v^C_l$>0์ด๋ผ๋ ๊ฒ์ Concept C๊ฐ, ๋ชจ๋ธ์ด input ๐ฅ๋ฅผ class ๐๋ก ๊ตฌ๋ถํ๋๋ก encourageํ๋ค๋ ๋ป
7.3.1.2 TCAV : Testing with CAVs
์์ ๋ณธ CAV๋ ๋จ์ผ input ๐ฅ์ ๋ํ conceptual sensitivity ๊ณ์ฐ
๋ชจ๋ class์ ๋ํ conceptual sensitivity๋ฅผ ์ค๋ช
ํ๋ Global explanation์ ๋ง๋๋ ๊ฒ์ด ๋ชฉํ
- TCAV
์ ์ฒด input์ค์์ ์์์ conceptual sensitivity๋ฅผ ๊ฐ์ง๋ input์ ๋น์จ ๊ณ์ฐ
(ex) ๋ชจ๋ธ์ด ์ด๋ฏธ์ง๋ค์ "zebra"๋ก classifyํ๋๋ฐ์ concept "striped" ์ผ๋ง๋ ์ํฅ์ ์ฃผ๋์ง ํ์
ํ๊ณ ์ ํ ๋,
"zebra"๋ก ๋ ์ด๋ธ๋ data๋ฅผ ์์งํ ํ์ ๊ฐ๊ฐ์ input์ ๋ํ conceptual sensitivity ๊ณ์ฐ
TCAV score : ์์์ conceptual sensitivity๋ฅผ ๊ฐ์ง๋ "zebra"์ด๋ฏธ์ง์ ๊ฐ์ / ์ ์ฒด "zebra"์ด๋ฏธ์ง์ ๊ฐ์
=> $TCAV_{Q_{"striped","zebra",l}}=0.8$ ์ด๋ผ๋ฉด, "zebra" class๋ก predict๋ ์ด๋ฏธ์ง์ 80%๊ฐ "striped"๋ผ๋ concept์ ๊ธ์ ์ ์ธ(positive) ์ํฅ์ ๋ฐ๊ณ ์๋ค๋ ๋ป
- TCAV์ ๊ณ์ฐ
1. ๐๊ฐ์ random ๋ฐ์ดํฐ์ ์์ง (๐>=10 ๊ถ์ฅ)
2. concept ๋ฐ์ดํฐ์ ์ ๊ณ ์ ํ๊ณ ๐๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๊ฐ์ TCAV score๊ณ์ฐ
3. random CAV์ ์ํด ์์ฑ๋ ๋ค๋ฅธ ๐๊ฐ์ TCAV์ ๋ฐ๋๋๋ ๐๊ฐ์ TCAV score์ ์์ธก t๊ฒ์ ์
์ ์ฉํ๋ค.
(random CAV๋ random ๋ฐ์ดํฐ์
์ concept ๋ฐ์ดํฐ์
์ผ๋ก ์ ํํ์ฌ ์ป์ ์ ์๋ค.)
์ฌ๋ฌ๊ฐ์ง hypotheses๊ฐ ์๋ค๋ฉด multiple testing correction์ ์ ์ฉํ ์ ์๋ค.
hypothesis์ ๊ฐ์=testํ๊ณ ์ ํ๋ concept์ ๊ฐ์
7.3.2 Example
"striped", "zigzagged", "dotted"๋ผ๋ concept์ ๋ํ TCAV scores์ ๊ฒฐ๊ณผ
(Image classifier : InceptionV3, convolutional neural network trained using ImageNet data
Targeted bottleneck : "mixed4c"๋ผ๊ณ ๋ถ๋ฆฌ๋ layer
Concept ๋ฐ์ดํฐ์
50๊ฐ, Random ๋ฐ์ดํฐ์
50๊ฐ
0.05์ ์ ์์์ค์ผ๋ก, 10๊ฐ์ random ๋ฐ์ดํฐ์
์ ์ฌ์ฉํ์ฌ test๊ฒ์ )
"dotted" : ์ ์์์ค 0.05๋ณด๋ค p-value๊ฐ ๋์์ test๊ฒ์ ์ ํต๊ณผํ์ง ๋ชปํจ
"striped", "zigzagged" : ๋ ๋ค test๊ฒ์ ์ ํต๊ณผํ๊ณ , TCAV์ ๋ฐ๋ฅด๋ฉด ๋ชจ๋ธ์ด ์ด๋ฏธ์ง๋ค์ "zebra"๋ผ๊ณ ์๋ณํ๋๋ฐ ๋งค์ฐ ์ ์ฉํ concept๋ค
7.3.3 Advantages
- TCAV๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๊ด์ฌ์๋ concept๋ฅผ ํ์ตํ ์ ์๋ ๋ฐ์ดํฐ์ ๋ง ์์งํ๋ฉด ๋๊ธฐ ๋๋ฌธ์, ๋น์ ๋ฌธ๊ฐ๊ฐ ์ฌ์ฉํ๊ธฐ ์ฝ๋ค
- Feature attribution์ ๋จ์ ์ ๋ณด์ํ์ฌ Customize ๊ฐ๋ฅ
concept ๋ฐ์ดํฐ์ ์ผ๋ก ์ ์๋ ์ ์๋ ์ด๋ ํ concept๋ ์กฐ์ฌํ ์ ์๋ค. - ์ด๋ ํ class์ ์ฐ๊ดํด์๋ ์ฌ์ฉ ๊ฐ๋ฅํ Glabal explanation์ ์์ฑํ๋ค.
7.3.4 Diasdvantages
- Neural Network๊ฐ ๊น์์๋ก ์ ๋์ํ๊ธฐ ๋๋ฌธ์, ์์ ๋ชจ๋ธ์ ์ ๋์ํ์ง ๋ชปํ๋ค.
- Concept dataset์ ๋ง๋ค๊ธฐ ์ํด์ ์ถ๊ฐ์ ์ธ annotation์ด ํ์ํด์, ๋ผ๋ฒจ๋ง์ด ์ ๋์ด์์ง ์๋ ๊ฒฝ์ฐ ๋งค์ฐ ๊ท์ฐฎ์ ์์ ์ด ๋ ์ ์๋ค.
- ๋๋ฌด ์ถ์์ ์ด๊ฑฐ๋ ๋๋ฌด ์ผ๋ฐ์ ์ธ concept์ ๋ํด์๋ ์ ๋์ํ์ง ์์ ์ ์๋ค.
- TCAV๋ image data์ ๋ง์ด ์ ์ฉ๋๊ณ ์์ด์, Text data๋ Tabular data์ ๋ํ application์ ์๋์ ์ผ๋ก ํ์ ์ ์ด๋ค.
References
[1] Interpretable Machine Learning, Christoph Molnar
'Study๐ฅ > XAI' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํฌํ ์ดํ ์คํฐ๋] LRP: Layer-wise Relevance Propagation (0) | 2021.08.02 |
---|---|
[ํฌํ ์ดํ ์คํฐ๋] Pixel Attribution (Saliency Maps) (0) | 2021.06.28 |
[ํฌํ ์ดํ ์คํฐ๋] Influential Instances (0) | 2021.06.22 |
[ํฌํ ์ดํ ์คํฐ๋] Prototypes and Criticisms (0) | 2021.06.22 |
[ํฌํ ์ดํ ์คํฐ๋] Local Surrogate(LIME) (0) | 2021.05.24 |