무언가를 공부하고자 할 때는 항상 그것을 하고자 하는 목적을 알고, Taxonomy를 파악하는 것이 매우 중요하다.
우선, 나는 XAI를 석사 논문의 주제로 설정하였다. 몇년 안되는 경력이지만 의료 데이터 분석을 하면서 항상 중요시 되었던 점은 "목적, 해석, 신뢰성" 이었다. 예를 들어, A라는 문제를 해결을 하고 싶다. 그래서 B라는 방법을 사용하여 C라는 답을 내었다. 의사결정자들에게 "A라는 문제를 B를 사용하면 C라는 답을 알 수 있습니다!" 라고 한다면 그 사람들은 아마 의문을 가질 것이다. B가 얼마나 타당하고 신뢰성을 가지고 있는지를 궁금해 할 것이다. 특히 의료 데이터 분석에서는 이 부분이 더 중요하다. 연구 내용을 근거로 환자들을 다루기 때문이다. 물론 중간에 여러 단계를 거쳐 환자들에게 적용되겠지만 설명가능성이 바탕이 되어야 나의 분석 결과가 채택되고 환자들이 이를 기반으로 더 나은 삶을 누릴 수 있을 것이다.
다음은 Michigan University Justin Johnson 교수님의 Computer Vision 첫 강의의 일부이다. 난 처음에 Artificial Intelligence가 Deep Learning과 같은 것이라고 생각을 했다. 그런데 아래 그림을 보면 Artificial Intelligence 안에 Machine Learning과 Deep Learning이 포함되어있다.
즉, Explainable AI라는 것은 CV, NLP, ML 전반에 대해 기계가 내린 결정에 대해 설명할 수 있는 기반을 마련하는 것이다. 여기서 설명하는 방식에도 몇 가지로 갈린다. 모델 자체가 어떻게 결정을 내리는지 과정을 알 수도 있고, 그 안에 과정은 알 수 없고, input 값을 바꿔가면서 output이 어떻게 바뀌는지 확인하는 agnostic 방법도 있다.
1) 모델 자체를 이용해서 해석
다음 그림은 "Explainable AI: A Brief Survey on History, Research Areas, Approaches and Challenges." 라는 논문에서 가져온 그림이다. 모델 자체 해석이 가능한 것들이다. (Linear Regression, Logistic Regression, Decision Tree, RuleFit, Naive Bayes, k-nearest neighbors 등) Transparent ML의 경우 20년 동안 연구되어 왔지만 큰 성과는 없었다고 한다.
링크 걸어놓은 책과 블로그는 한 번씩 읽어보면 도움이 많이 된다.
2) Post-hoc 방법을 이용하여 해석
다음은 여러가지 소스들을 결합해서 만든 분류이다. 나도 사실 이걸 전부다 공부해보진 않아서 분류가 정확한지 않은지는 잘 모르겠다.
2-1) Model-specific
특정 유형의 모델에만 사용될 수 있다는 뜻이다. 예를 들어, NN layer visualization를 이용해서 각 층마다 모델이 어떤 특징에 집중하는지를 확인할 수 있는 장점이 있다. 하지만, 이러한 visualization을 다른 모델에서는 사용할 수 없다.
2-2) Model-agnostic
반면, Model-specific한 설명방식들과 다르게 model-agnostic 방법들은 다양한 모델들에 적용할 수 있는 유연함을 가지고 있다.
2-3) Global
Global은 말 그대로 네트워크 전체를 다루는 것다. 여기서 Holistic과 Modular로 다시 한 번 나뉜다. Holistic level에서는 모델이 어떻게 결정을 내리고 데이터 feature를 바라보는지 해석을 하는 것이다. 현실적으로 매우 힘들다. Modular level에서는 모듈 단위로 해석을 하게 된다. 예를 들어 linear regression에서는 weight, decision tree에서는 splits와 leaf node를 생각하면 된다.
2-4) Local
모델의 작은 부분만 다루는 것이다. 여기서는 Single과 Group으로 나뉜다. Single에서는 단일 instance를 자세히 보고, 어떻게 모델이 예측을 하는지 알아보는 방식이다. Group에서는 global method를 적용시킨 뒤 그 중 관심이 있는 예측 결과들만 묶어서 전체 데이터처럼 구성, 그리고 local method를 다시 적용하는 방식이다.
2-5) 예시
분류로 알아보았던 방법들을 "Machine Learning Interpretability: A Survey on Methods and Metrics." 라는 논문에서 예시로 친절하게 정리해두었다.
이 수많은 방법들을 공부하고, 논문 방향을 정하기까지는 아직 갈길이 멀지만 일단 차근차근 정리를 해보려고 한다.
댓글