늦깎이 공대생의 인공지능 연구실
[해석할 수 있는 기계학습(6-0)] 예제 기반 설명(Example-Based Explanations) 본문
[해석할 수 있는 기계학습(6-0)] 예제 기반 설명(Example-Based Explanations)
Justin T. 2020. 12. 1. 09:48예제 기반 설명(Example-Based Explanation) 방법은 기계학습 모델의 동작을 설명하거나 기본 데이터 분포를 설명하기 위해 데이터 집합의 특정 인스턴스를 선택합니다.
예제 기반 설명은 대부분 모델 불특정성인데, 기계학습 모델을 해석할 수 있게 해주기 때문입니다. 모델 불특정성 방법과의 차이점은 예제 기반 방법이 특성 요약을 만드는 것이 아니라 데이터 집합의 인스턴스를 선택하여 모델을 설명한다는 것입니다(예: 특성 중요도 또는 부분 의존도). 예제 기반 설명은 인간이 이해할 수 있는 방식으로 데이터의 예를 나타낼 수 있는 경우에만 의미가 있습니다. 이러한 예제 기반 설명은 이미지를 직접 볼 수 있기 때문에 이미지에 적합합니다. 일반적으로 예제 기반 방법은 인스턴스의 특성값이 더 많은 컨텍스트를 가진 경우 잘 동작합니다. 즉, 이미지나 텍스트와 같이 데이터가 구조를 갖는다는 의미입니다. 한 인스턴스는 수백 또는 수천 개의 (구조화되지 않은) 특성으로 구성될 수 있기 때문에 표 형식의 데이터를 의미 있게 표현하기가 더 어렵습니다. 인스턴스를 설명하는 모든 특성값을 나열하는 것은 일반적으로 유용하지 않습니다. 특성이 몇 개만 있거나 인스턴스를 요약할 수 있는 방법이 있는 경우 이 방법이 제대로 작동합니다.
예제 기반 설명은 기계학습 모델의 멘탈 모델(Mental Model)과 기계학습 모델이 훈련된 데이터를 구성하는 데 도움이 됩니다. 특히 복잡한 데이터 분포를 이해하는 데 도움이 됩니다. 하지만 예졔를 바탕으로 한 설명이란 무슨 뜻일까요? 우리는 종종 우리의 직업과 일상 생활에서 이러한 방법을 사용합니다. 먼저 몇 가지 예를 들어 보겠습니다.
내과의사가 거친 기침을 하고 미열이 있는 환자를 보고 있습니다. 환자의 증상은 비슷한 증상을 보이는 수년 전 다른 환자를 떠올리게 합니다. 의사는 현재 자신의 환자가 같은 병에 걸릴 수 있다고 의심하고 이 특정 질병에 대한 검사를 위해 혈액을 채취합니다.
어느 데이터 과학자가 고객 중 한 명을 위해 새로운 프로젝트를 진행하고 있습니다. 프로젝트의 목적은 키보드 생산 기계 고장으로 이어지는 위험 요인의 분석입니다. 데이터 과학자는 자신이 작업한 유사한 프로젝트를 기억하고 있으며 고객이 동일한 분석을 원한다고 생각하기 때문에 이전 프로젝트의 코드 일부를 재사용합니다.
사람이 살지 않는 불타는 목조주택의 창문 선반에 새끼 고양이 한 마리가 앉아 있습니다. 소방차는 이미 도착했고 소방관 중 한 명이 새끼 고양이를 구하기 위해 건물 안으로 들어가는 위험을 감수할 수 있는지 여부를 잠시 고민합니다. 그는 그가 소방관으로서의 삶에서 비슷한 사건들을 기억합니다. 한동안 서서히 불타던 낡은 목조주택은 불안정한 경우가 많았고 결국 무너졌습니다. 이 사건의 유사성 때문에 그는 들어가지 않기로 결심합니다. 집이 무너질 위험이 너무 크기 때문입니다. 다행히도, 고양이는 창문 밖으로 뛰어나와 안전하게 착륙하고 아무도 화재에서 다치지 않습니다. 해피엔딩으로 끝났네요.
위 이야기들은 우리 인간들이 어떻게 생각하는지를 예시나 유추로 보여줍니다. 예제 기반 설명의 청사진은 다음과 같습니다. B는 A와 A가 Y를 일으킨 것과 비슷해서 B도 Y를 일으킬 것으로 예상합니다. 암묵적으로 일부 기계학습 접근 방식은 예제 기반 방식으로 작동합니다. 의사결정 트리는 대상을 예측하는 데 중요한 특성의 데이터 포인트와의 유사성에 따라 데이터를 노드로 분할합니다. 의사결정 트리는 유사한 인스턴스(= 동일한 터미널 노드에서)를 찾고 해당 인스턴스의 결과 평균을 예측값으로 반환하여 새 데이터 인스턴스에 대한 예측을 가져옵니다. knn(k-최근접 이웃) 방법은 예제 기반 예측과 함께 명시적으로 작동합니다. 새 인스턴스의 경우 knn 모델은 k-최근접 이웃(예: k=3 가장 가까운 인스턴스)을 찾고 이러한 이웃의 결과 평균을 예측으로 반환합니다. knn의 예측은 k 이웃을 돌려보냄으로써 설명이 됩니다. 다시 말하지만, 하나의 인스턴스를 나타낼 수 있는 좋은 방법을 가지고 있을 때에만 의미가 있습니다.
지금부터 다음과 같은 예제 기반 해석 방법을 다루고자 합니다.
- 반사실적 설명(Counterfactual explanation)은 한 인스턴스가 예측을 크게 변경하기 위해 어떻게 변화해야 하는지를 알려줍니다. 반사실적 인스턴스(instance)를 생성함으로써 모델이 예측하는 방법과 개별 예측을 설명할 수 있는 방법에 대해 알아봅니다.
- 적대적 예제(Adversarial example)는 기계학습 모델을 속이는 데 사용되는 반사실적 예제들입니다. 예측을 뒤집고 설명하지 않는 점을 강조합니다.
- 프로토타입(Prototype)은 데이터에서 대표적인 인스턴스의 선택이며, 크리티시즘(Criticism)은 그러한 프로토타입으로 잘 표현되지 않는 인스턴스들입니다.
- 영향력 있는 인스턴스(Influential instance)는 예측 모델 또는 예측 그 자체의 매개변수에 가장 큰 영향을 미친 학습 데이터 포인트입니다. 영향력 있는 인스턴스를 식별하고 분석하는 것은 데이터의 문제를 찾고, 모델을 디버깅하고, 모델의 동작을 더 잘 이해하는 데 도움이 됩니다.
- k-최근접 이웃 모델(K-nearest neighbors model): 예제에 근거한 (해석 가능한) 기계 학습 모델입니다.
참고자료: https://christophm.github.io/interpretable-ml-book/example-based.html
'해석할 수 있는 기계학습 > 6. 예제 기반 설명' 카테고리의 다른 글
[해석할 수 있는 기계학습(6-4)]영향력 있는 인스턴스(Influential Instances) (0) | 2021.04.05 |
---|---|
[해석할 수 있는 기계학습(6-3)]프로토타입과 크리티시즘(Prototypes and Criticisms) (0) | 2021.03.20 |
[해석할 수 있는 기계학습(6-2)]적대적 예제(Adversarial Examples) (1) | 2021.02.04 |
[해석할 수 있는 기계학습(6-1)]반사실적 설명(Counterfactual Explanations) (0) | 2021.01.30 |