늦깎이 공대생의 인공지능 연구실
[해석할 수 있는 기계학습(2-3)] 해석력의 범위 및 평가 본문
학습을 위해 사용되는 알고리즘이 만들어내는 모델의 해석력에 대해 다룰 때, 해석력의 범위와 평가를 정의함으로서 해석력의 특성을 좀 더 자세히 설명할 수 있습니다.
특정한 모델에 대해 투명성(transparency)와 해석력(interpretability)의 관점에서 다음과 같은 범위로 평가할 수 있습니다.
1.알고리즘 투명성(Algorithm Transparency)
이 알고리즘은 어떻게 모델을 생성할까?
알고리즘 투명성은 알고리즘이 어떻게 데이터로부터 모델을 학습시킬수 있는지와 어떠한 종류의 관계를 학습시킬 수 있는지에 관한 것입니다. 만약 여러분들이 컨볼루션 신경망(Convolutional Neural Network)이 어떻게 이미지를 분류하는 지에 대해 설명해 달라는 질문을 받는다면, 아마도 여러분들은 컨볼루션 신경망이 이미지의 edge를 감지하고 학습된 신경망이 필터로 사용될 수 있다고 설명할 수 있을 것입니다. 사실 이 것은 컨볼루션 신경망의 동작 원리를 이해하고 있다고 할 수 있을 뿐이지, 이러한 신경망의 구조로 학습된 결과물인 모델 자체를 상세히 설명했다고 할 수는 없을 것입니다. 알고리즘 투명성은 데이터나 학습된 모델이 아니라 컨볼루션 신경망의 동작원리를 이해하고 있는 지식만을 이야기 하는 것입니다. 선형 모델에 대한 최소제곱법(Least Square Method)과 같은 알고리즘은 쉽게 이해할 수 있습니다. 이러한 알고리즘은 높은 투명성을 갖고 있다고 할 수 있습니다. 그러나 딥러닝과 같이 내부에 수백만개의 node와 weight를 가진 네트워크를 가진 모델은 매개변수를 보는 것 만으로는 이해가 매우 어려우며 이는 알고리즘이 불투명하다고 간주합니다.
여기서는 알고리즘 투명성 보다는 모델의 해석력에 집중하고자 합니다.
해석력의 관점에서 모델을 바라보게 될 경우 전역적인(Global) 방법과 지역적인(Local) 방법으로 바라볼 수 있습니다.
2. 전반적 모델 해석력(Global, Holistic Model Interpretability)
학습된 모델은 어떻게 예측을 할 수 있는걸까?
만약 모델의 전체를 한 번에 이해할 수 있다면 이 모델은 해석이 가능한 것으로 설명할 수 있습니다. 전반적인 모델의 출력을 설명하기 위해서는 학습된 모델, 지식과 데이터가 필요합니다. 이 단계에서 해석력은 모델의 특징과 weight, 다른 매개변수 및 구조와 같은 학습된 각 구성요소의 전체적인 관점에서 모델이 어떻게 결정을 내릴 수 있는지에 대해 이해할 수 있는 것을 말합니다.
그렇다면 이러한 모델의 어떠한 특성이 중요하고 어떤 종류의 상호작용이 벌어지고 있는지 알 수 있을까요? 전반적 모델 해셕력은 특성에 기초한 목표 결과의 분포를 이해하는 데 도움이 됩니다. 하지만, 모델을 전반적으로 해석하는 것은 실제로는 상당히 어렵습니다. 왜나하면 사람의 단기 기억력으로 매개변수와 weight를 직접 확인하면서 이를 기억하는 데에는 한계가 있기 때문입니다.
3. 모듈 수준의 전반적 모델 해석력(Global Model Interpretability on a Modular Level)
어떻게 모델의 일부가 전반적인 예측에 영향을 줄 수 있을까?
수백 가지 특성이 있는 Naive Bayes 모델은 우리들의 뇌속 작업기억에 모두 기억하기에는 너무나 방대합니다. 비록 우리들이 모든 weight를 외우고 있다 하더라도, 새로운 데이터 포인트에 대해 예측하는 것은 상당히 어렵습니다. 또한 우리는 각 특성의 중요성과 그 특성들이 평균 예측에 미치는 영향을 추측하기 위해서는 머릿속으로 모든 특성의 결확확률분포로 풀어내고 이를 기억해야만 합니다. 즉 우리들의 머릿속으로는 이를 해낸다는 것은 사실상 불가능하다고 봐야 합니다.
그러나 우리는 하나의 가중치만 본다면 쉽게 이해할 수 있습니다. 전반적인 관점에서 모델을 해석하는 것은 사실상 불가능하지만, 최소한의 모듈 수준에서 몇몇 모델의 동작을 이해할 수는 있습니다.
모든 모델이 매개 변수 수준에서 해석이 가능한 것은 아닙니다. 선형 모델의 경우 해석이 가능한 부분은 weight로서, 나무로 치자면 뿌리에서 각 가지로 분할되는 부분(선택된 특성과 컷오프 포인트)과 잎사귀 부분을 예측하는 것입니다. 예를 들어 선형 모델은 모듈 수준에서 완벽하게 해석할 수 있는 것처럼 보이지만, 하나의 weight의 해석은 다른 모든 weight와 서로 긴밀하게 연결되어 있습니다. 하나의 weight의 해석은 항상 다른 입력 특징들이 동일한 값으로 유지된다는 조건이 있어야 성립이 되는데, 실제로는 거의 그렇지 않습니다. 집의 크기와 방의 수를 모두 고려한 집의 가치를 예측하는 선형 모델은 방의 특성에 negative weight를 부여할 수 있습니다. 그것은 이미 고도로 상관관계가 있는 주택 크기의 특징이 있기 때문입니다. 사람들이 더 큰 방을 선호하는 부동산 시장에서, 방의 갯수는 적지만 방과 거실의 크기가 같다면 방이 많은 집보다 더 가치가 있을 수 있기 때문이지요. weight는 모델의 다른 특징의 전후 사정을 파악해야만 이치에 맞는 판단을 할 수 있습니다. 그러나 선형 모델의 weight는 여전히 딥러닝보다 더 잘 해석될 수 있습니다.
4. 단일 예측에 대한 지역적 해석력(Local Interpretability for a Single Prediction)
왜 이 모델은 이러한 예측을 할 수 있는 것일까?
단일 인스턴스를 확대하여 모델이 해당 입력에 대해 예측하는 내용을 살펴보고 그 이유를 설명할 수 있는 경우를 말합니다. 개별적인 예측을 살펴본다면 전체적으로 예측하는 것 보다는 쉽게 해석이 가능할 수도 있습니다. 지역적 예측은 일부 특징에만 선형적으로 또는 단조롭게 이해할 수 있으며, 이에 대한 의존도가 복잡하지 않을 수도 있습니다. 예를 들어, 부동산의 가치는 그 크기에 비선형적일 수 있습니다. 그러나 만약 여러분이 30평(100m2) 크기의 집 한 채만 본다면 그 데이터의 서브셋의 경우, 여러분의 모델 예측은 크기에 따라 선형적으로 달라질 가능성이 있습니다. 크기를 늘리거나 줄이면 예측 가격이 어떻게 변하는지 시뮬레이션을 통해 알 수 있습니다. 따라서 지역적 설명은 전반적 설명보다 더 정확할 수 있습니다.
5. 그룹 예측에 대한 지역적 해셕력(Local Interpretability for a Group of Predictions)
왜 이 모델은 인스턴스 그룹에 대해 특정한 예측을 하게 된 것일까?
다중 인스턴스에 대한 모델 예측은 전반적 모델 해석 방법(모듈 레벨) 또는 단일 인스턴스에 대한 설명으로 설명할 수 있습니다. 전반적 방법은 하나의 인스턴스 그룹으로 적용하여, 그룹이 완전한 데이터 집합인 것 처럼 처리 하고, 이 서브셋으로 전반적 방법을 사용하여 적용할 수 있습니다. 개별 설명 방법은 각 인스턴스에서 사용한 후 그룹 전체에 대해 나열하거나 합산할 수 있습니다.
기계학습에서 해석력이 무엇인지에 대한 실질적인 합의는 아직까지는 진척되지 않은 상황입니다. 또한 이를 어떻게 측정해야 하는지도 명확하지 않습니다. 그러나 이에 대한 연구가 있으며 해석력을 평가하려는 시도가 이루어지고 있습니다.
해석력 평가를 위해 크게 세가지 방법으로 나타낼 수 있습니다.(Doshi-Velex and Kim, 2017)
1. 적용 수준 평가(실제 작업)
완성된 제품에 설명서를 첨부하여 최종 사용자가 이를 사용하는 방식입니다. X-ray에서 부상자의 골절을 찾아 표시하는 기계학습 기능을 갖춘 골절 감지 소프트웨어가 있을 때, 방사선 전문의는 적용 수준에서 골절 검출 소프트웨어를 직접 테스트하여 모델을 평가합니다. 이는 좋은 실험환경 설정과 품질을 평가하는 기준에 대해 이해하는 것이 필요합니다. 이에 대한 좋은 기준은 방사선 전문의와 같이 항상 같은 결정을 얼마나 잘 설명할 수 있는가에 달려 있습니다.
2. 인적 수준 평가(단순 작업)
이 평가는 단순화된 적용 수준 평가라 할 수 있습니다. 차이점은 이러한 평가가 특정 분야의 전문가에 의해 수행되는 것이 아니라 일반인을 대상으로 수행된다는 점입니다. 이는 실험을 더 저렴하게 만들고(특히 방사선 전문의를 활용하는 것보다 인건비가 절약될 수 있을 것입니다.) 더 많은 테스터를 찾는 것이 더 쉽습니다. 예를 들어 사용자에게 다른 설명서를 보여주고 사용자가 가장 좋은 설명을 선택하는 경우라 할 수 있습니다.
3. 기능 수준 평가(대리 작업)
이 평가는 사람을 필요로 하지 않습니다. 이는 사용된 모델의 수준이 이미 인적 수준 평가에서 다른 사람에 의해 평가 되었을 때 가장 잘 작동합니다. 예를 들어 최종 사용자가 의사 결정 트리를 이해하고 있다는 것으로 들 수 있겠습니다. 이 경우, 설명서 품질의 대용물 트리의 깊이고 볼 수 있겠습니다. 트리가 짧으면 설명성 점수가 더 좋을 것입니다. 트리의 예측 성능이 여전히 양호하고 큰 트리에 비해 너무 감소하지 않는다는 제약조건을 추가한다면 좀 더 합리적인 수준 평가라 볼 수 있겠습니다.
참고자료: https://christophm.github.io/interpretable-ml-book/scope-of-interpretability.html
https://christophm.github.io/interpretable-ml-book/evaluation-of-interpretability.html
'해석할 수 있는 기계학습 > 2. 해석력' 카테고리의 다른 글
[해석할 수 있는 기계학습(2-5)] 인간 친화적 설명 (1) | 2019.11.17 |
---|---|
[해석할 수 있는 기계학습(2-4)] 설명의 특징 (0) | 2019.11.14 |
[해석할 수 있는 기계학습(2-2)] 해석 가능 여부의 구분법 (0) | 2019.10.30 |