Introduction
딥러닝 모델은 의심의 여지가 없이 많은 도메인에서 높은 성능을 보여줍니다. 많은 데이터로부터 학습을 진행하면서 예측을 하게 되며, 사용자는 모델에 인풋으로 넣는 데이터와 결과인 아웃풋만 알 수 있습니다. 수많은 파라미터로 이루어진 복잡한 내부에 대해서는 알지 못하며, 또한 예측값은 보통 스칼라이며, 해당 값이 나온 이유에 대해서도 알려주지 않습니다. 이러한 블랙박스적인 특성은 모델을 사용하며 이를 신뢰할 수 있는가에 대한 이슈와 직접적으로 관련되어 있기에 해결해야 하는 중요한 문제입니다.
모델에 대한 설명성의 필요성으로부터 예측 모델에 대한 설명을 위한 연구들이 다방면으로 진행되었고, Klaus-Robert Muller 의 CVPR 2018 년도에 tutorial로 몇가지 카테고리에 대해서 설명하고자 합니다. (현재 2022년 기준으로 더 많은 연구가 진행되었을텐데, 찾으면 다음 포스팅에서 올리겠습니다.)
먼저 블랙박스 모델을 생각하는 중요한 관점은 모델을 스칼라를 내보내는 예측 함수로 보는 것 입니다.
$$f(x) = \mathbb{R}^d \rightarrow \mathbb{R}$$
Classification의 경우처럼 output이 여러 개인 경우는 각 클래스별로 함수를 고려하면 됩니다.
예를 들어서 MNIST 데이터셋에 대해서 0~9 확률 모델이 아닌, 6에 대한 확률을 내보내는 함수로 생각하면 됩니다.
Prediction 모델을 위한 기법은 다섯가지로 구분 됩니다.
✅ : 제가 읽어본 논문입니다. (TMI)
1. Gradients
가장 기본이 되는 것은 $f(x)$ 에 대해서 Input 에 대한 gradient 를 고려하는 것 입니다. input 이 변할 때, 함수값 자체가 얼마나 변화하는지를 측정함으로써, input의 중요도를 측정할 수 있습니다.
- DeepLIFT (Shrikumar et al., 2016)
- Gradient times input (Shrikumar et al., 2016)
- Grad CAM (2016) ✅
- Integrated Gradient (Sundararajan et al., 2017) ✅
- Sensitivity (Baehrens et al., 2010, March et al., 1995, Simony et al., 2014) ✅
- Gradient vs Decomposition (Montavon et al., 2018)
2. Decomposition
Decomposition은 $ f(x) = \sum_p h_p(x) $ 로 분할하여, 각각의 pixel 에 대한 기여도 $h_p(x)$ 를 고려합니다. pixel 이라고 이야기 하는 이유는 XAI의 대부분은 computer vision과 연관되어 있으며, image data를 쓰기 때문입니다.
- LRP (Bach et al., 2015) ✅
- Deep Taylor Decomposition (Montavon et al., 2017) ✅
- Excitation Backprop (Zhang et al., 2016)
- Probabilistic Diff (Zintgraf el al., 2016)
- LRP for LSTM (Arras et al., 2017)
3. Optimization
해당 기법은 $f(x)$ 를 설명하기 위해서, $f(x)$와 비슷한 또 다른 모델 $g(x)$ 를 고려합니다. $g(x)$ 는 상대적으로 분석할 수 있는 모델로 예를 들어서 Decision Tree 나 Linear Classification 을 고려할 수 있습니다.
- LIME (Ribeiro et al., 2016) ✅
- Meaningful Perturbations (Fong & Vedaldi 2017)
- PatternLRP (Kindermann et al., 2017)
4. Deconvolution
(아직 분석중)
- Deconvolution (Zeiler & Fergus 2014)
- Guided Backprop (Springenberg et al., 2015)
5. Understanding the Model
(아직 분석 중)
- Deep visualization (Kosinski et al., 2015)
- Inverting CNNs (Dosovitskiy & Brox, 2015)
- Feature visualization (Erhan et al. 2009)
- Inverting CNNs (Mahendran & Vedaldi, 2015)
- RNN cell state analysis (Karpathy et al., 2015)
- Synthesis of preferred inputs (Nguyen et al., 2016)
- Network Dissection (Zhou et al., 2017)
'딥러닝 > 머신러닝(ML)' 카테고리의 다른 글
# Markov Decision Process에 관하여 / + Markov Chain (0) | 2022.01.19 |
---|---|
시그마 - Algegra 란 무엇인가 (0) | 2022.01.13 |
[Remark] Implicit Neural Representations with Periodic Activation Functions이 잘되는 이유 (0) | 2022.01.10 |
[Remark] All the probability metrics we need. (0) | 2022.01.06 |
[Remark] Support Vector Machine 이해하기 (0) | 2022.01.02 |