2.6 Human-friendly Explanations

7 minute read

이번엔 사람이 “좋은” 설명으로 볼 수 있는 것과 해석가능한 머신러닝에 어떤 영향을 미치는지 더 자세히 알아봅시다. 인문학 연구(humanities research)가 도움이 될 수 있습니다. Miler(2017)는 설명에 대한 대규모 설문조사를 시행했었고 이번 장은 그에 대한 요약 내용을 다룹니다.

이번 장에서는 다음 내용들을 전달하고자 합니다. 어떤 사건에 대한 설명으로 사람은 사건이 발생했을 때와 발생 하지 않았을 때를 대조적으로 비교할 수 있는 짧은 설명(한두가지 정도)을 선호합니다. 특히 비정상적인 원인은 좋은 설명을 나타냅니다. 설명이란 설명하는 사람과 설명을 듣는 사람간의 사회적 상호작용입니다. 그렇기 때문에 서회적 문맥은 실제 설명에 큰 영향력을 가집니다.

만약 여러분이 특정 예측치나 행동에 대해 모든 요소를 고려하여 설명을 하려한다면 인간친화적인 설명을 원하는 것이 아닌 완전한 인과 속성(causal attribution)을 바라는 것입니다. 법적으로 특별히 모든 영향을 미치는 특성에 대해 알 필요가 있거나 머신러닝 모델을 디버깅해야하는 상황에서는 인과 속성을 바랄 것입니다. 이러한 상황에서는 이후 설명할 내용들은 무시하면 됩니다. 그러나 그외의 경우에서 설명을 듣는 사람이 일반인이나 시간이 별로 없는 사람들일 경우 아래 내용들이 도움이 될 것 입니다.

설명이란 무엇인가?

설명은 질문에 대한 대답이다 (Miller 2017).

  • 환자를 왜 치료할 수 없는가?
  • 왜 내 대출신청이 기각됐는가?
  • 왜 우리는 아직 외계인과 만난적이 없는가?

처음 두 가지 질문은 “항상” 설명해줄 수 있지만 세 번째의 경우는 “과학적 현상과 철학적인 질문”의 범주에 속합니다. “항상” 설명할 수 있는 것이 보다 해석가능한 머신러닝과 더 관련이 있기 때문에 이를 중점적으로 다루도록 하겠습니다. “어떻게”에 대한 질문에서 “왜”라는 질문으로 봐뀌는 경우는 다음과 같습니다. “어떻게 내 대출신청이 기각됐을까?”은 “왜 내 대출신청이 기각됐을까?”로 바뀔 수 있습니다.

“설명”이란 설명하는 것에 대한 사회적 그리고 인지적 과정뿐만 아니라 이 과정들에 대한 결과도 포함됩니다. 설명하는 당사자는 사람과 기계 모두 될 수 있습니다.

좋은 설명이란 무엇인가?

이번에는 “좋은” 설명에 대한 Miiler의 요약과 해석가능한 머신러닝에 대한 구체적인 의미에 대해 좀 더 알아보겠습니다.

설명은 대조적이다 (Lipton 19901). 사람은 보통 이 예측값이 왜 나타났는지 묻지않고 다른 예측값 대신 왜 이 예측값이 나타났는지를 물어봅니다. 우리는 “입력값 X가 바뀌면 예측값이 어떻게 바뀔까?”와 같은 조건법적인 경우를 생각하곤 합니다. 집값 예측의 경우 집주인의 입장에서는 예상한 가격보다 왜 예측된 값이 더 높은지 궁금할 것입니다. 제 대출신청이 기각됐을 경우 저는 왜 기각됐는지 모든 요소를 다 들어보는 것보단 대출을 다시 받게하려면 뭐가 더 필요한지에 더 관심이 있습니다. 현재 저의 신청서과 신청을 받을 수 있는 수준의 신청서간의 차이를 알길 원합니다. 설명가능한 머신러닝을 위해 대조적인 설명이 중요하다고 생각게되는 것은 큰 발견입니다. 대부분 해석가능한 모델들에서는 한 관측치에 대한 예측값과 인공적으로 만든 데이터의 예측값 또는 관측치들의 평균 예측값의 차이로 설명을 나타낼 수 있습니다. 의사는 “왜 이 약이 환자에게 안들을까?”라고 생각할 수 있습니다. 그리고나서 약 반응이 있었던 환자와 없는 환자를 비교해서 설명을 원할 것입니다. 대조적 설명은 완전한 설명보다 더 이해하기 쉽습니다. 의사의 질문에 대한 완전한 설명은 다음과 같은 내용을 다룰 수 없습니다. 10년째 투병중이고 11개의 유전자가 과민 반응을 보이며 환자의 몸은 약에 대한 부작용으로 빠르게 악화되고 있다, … 등. 대조적인 설명은 다음과 같이 더 간단하게 나타낼 수 있습니다. 반응 환자와 대조적으로 최선의 설명은 무반응 환자는 특정 유전 조합의 경우 이 약이 덜 효과적이였다. 최고의 설명은 관심 대상과 참고 대상의 가장 큰 차이를 부각시키는 것입니다.
해석가능한 머신러닝이 여기서 의미하는것: 사람은 한 예측값에 대해 완벽한 설명을 원하지 않고 다른 예측값(인위적으로 만든)의 예측값과 차이가 무엇인지 비교하길 원합니다. 대조적인 설명을 만든다는 것은 비교할 참고 대상에 대한 것이 필요하기 때문에 상황에 따라 다릅니다. 설명해야할 데이터가 무엇인지나 설명을 듣는 사용자에 따라서도 다릅니다. 집값 예측 웹사이트 유저는 그들의 집값, 다른 집값 또는 주변 평균 집값과 비교해서 집값 예측에 대한 설명을 원할 것입니다. 대조적인 설명을 자동으로 만들어내는 방법은 데이터에서 이에 대한 프로토타입을 찾는것도 해당됩니다.

설명이란 선택되는 것입니다. 사람들은 사건에 대한 사실적이고 완벽한 리스트를 전부 다루는 설명을 기대하지 않습니다. 다양한 가능성에서 한 두개정도 골라 사용합니다. 이를 증명해보자면 티비 뉴스를 한번 틀어봅시다. “주가의 하락은 최근 소프트웨어의 업데이트로 인해 회사 제품에 대한 반발이 커지고 있기 떄문이라고 합니다.” “Tsubasa와 그의 팀 약한 수비로 인해 경기에서 패배 : 그들은 전략을 쓰기엔 상대팀에게 너무 많은 공간을 내주었습니다.” “기관들과 정부에 대한 불신이 커지는 것이 투표율을 떨어뜨린 가장 큰 요인입니다.”
사건에 대한 진상은 Rashomon Effect라고 불리는 다양한 원인에 의해 설명될 수 있습니다. Rashomon은 사무라이의 죽음에 관해 모순된 이야기(설명)을 말하는 일본 영화입니다. 머신러닝 모델은 서로 다른 특성들로 좋은 설명을 만들어내는 경우 더 유리합니다. 서로 다른 특성들로 여러 모델들을 섞는 앙상블 방법들(서로다른 설명)은 이 “이야기들”을 평균내는 것은 예측값을 보다 더 일반화시키고 정확하게 하기 때문에 일반적으로 더 성능이 좋습니다. 그러나 이는 하나의 예측값이 만들어진 이유에 대해 하나의 선택적인 설명보다 더 많은게 있다는 것을 의미합니다.
해석가능한 머신러닝이 여기서 의미하는것: 뭐가 굉장히 복잡하더라도 한 가지에서 세 가지 정도의 이유만 나타내서 설명을 아주 짧게 만드는 것입니다. “LIME“같은 방법이 여기에 적합한 방법입니다.

설명은 사회적입니다. 설명하는 사람과 듣는 사람의 의사 소통 또는 상호작용의 일부분입니다. 사회적인 문맥이 설명에 대한 내용과 성격을 결정합니다. 왜 디지털 암호화가 그렇게 가치가 있는지 기술자에게 설명하고자 한다면, 다음과 같은 말을 하고 싶습니다: “중앙 기관이 통제할 수 없는 분권형, 분산된, 블록체인 기반의 원장이 재산을 안전하게 보유하길 원하는 사람들에게 소문이 퍼지는 것은 높은 수요와 가격을 설명해줍니다.” 하지만 제 할머니에게 저는 이렇게 말하곤 했습니다: “할머니, 암호화는 컴퓨터 금과 약간 비슷해요. 사람들은 금을 좋아하고 많이 투자하고, 젊은이들은 컴퓨터 금을 좋아하고 많이 투자해요”
해석가능한 머신러닝이 여기서 의미하는것: 머신러닝이 적용된 사회적 환경과 대상에 관심을 가지는 것입니다. 머신러닝 모델이 사회적인 부분을 올바르게 만들 수 있는 것은 전적으로 여러분의 특정 분야에 달려있습니다. 도움받을 수 있는 인문학에 대한 전문가를 찾으세요(예: 심리학자, 사회학자).

설명은 비정상에 더 집중합니다. 사람들은 사건을 설명하기위해 비정상적인 원인에 더 많이 집중합니다 (Kahnemann and Tversky 19812). 거의 발생하지 않는 작은 확률의 원인들이 있습니다. 이런 비정상적인 원인에 대한 제거는 결과값에 큰 변화를 줄 수 있습니다(조건적인 설명). 우리는 이 “비정상”적인 원인들을 좋은 설명으로 생각해야합니다. Štrumbelj and Kononenko (20113)의 예제에서는 선생과 학생간의 평가 상황에 대한 데이터가 있다고 가정합시다. 학생은 수업을 듣고 성공적으로 발표한 후 바로 수업을 통과했습니다. 선생은 학생들의 지식을 평가하기위해 몇가지 추가적인 질문을 할 수 있습니다. 이 질문들에 대해 대답하지 못한 학생은 탈락입니다. 학생들은 선생들의 질문(학생들을 평가하기로 경정했다고 가정)을 정확히 대답하기 위해 서로 다른 확률로 해석해서 각기 다른 수준의 준비를 할 수 있습니다. 우리는 이 학생이 과연 이 수업을 통과할 것인지 예측하고 예측을 설명하고 싶습니다. 더 이상 선생이 물어볼게 없다는 100%로 통과하고 아닌 경우에는 학생이 준비한 수준과 정확히 질문에 대답한 결과에 따라 다릅니다. 시나리오 1: 선생은 보통 학생들에게 추가적인 질문을 합니다(예: 100번 중 95번). 공부하지 않은 학생(추가 질문을 안받을 확률 10%)은 운이 없었고 대답하지 못할 추가 질문을 받게 됐습니다. 이 학생은 왜 수업을 통과하지 못했을까요? 저는 이 학생의 잘못은 공부를 하지 않은 것이다 라고 말할 것입니다. 시나리오 2: 선생은 학생들에게 거의 추가적인 질문을 하지 않습니다(예: 100번 중 2번). 이 추가 질문에 대한 공부를 하지 않은 학생에 대해 우리는 질문을 거의 안하기 때문에 수업을 통과할 확률이 높다고 예측할 것입니다. 물론 이 학생들 중 하나는 이 질문에 대한 공부를 하지 않을 것이고 이 질문을 받지 않을 확률은 10%이다. 그는 운이 없었고 선생은 추가 질문을 하게됐습니다. 그리고 그 학생은 대답하지 못하고 수업을 통과하지 못하게 되었습니다. 실패의 원인이 무엇이었을까요? 이번에는 “선생이 학생을 평가했기 때문입니다”가 더 좋은 설명이라고 말할 수 있습니다. 선생은 평가를 하지 않을거 같았는데 비정상적으로 행동 했습니다.
해석가능한 머신러닝이 여기서 의미하는것: 예측값에 대한 입력 특성들 중 하나가 비정상적(흔하지않은 범주의 유형같은)이고 이 특성이 예측값에 영향을 미친다면 다른 “정상” 특성들이 예측값에 대해 동일한 영향을 갖는다고 하더라도 설명에 포함해야합니다. 집값 예측에서 비정상적인 특성의 예로는 두 개의 발코니를 갖는 비싼집이라고 할 수 있습니다. 일부 attribution 방법에서 두 발코니가 상위 평균 주택 크기, 좋은 이웃 또는 최근의 재건축만큼 가격 차이를 나타낸다고 하더라도, 비정상적인 특성인 “두 발코니”는 그 집이 왜 그렇게 비싼지 가장 잘 설명할 수 있을 것입니다.

설명은 신뢰적입니다. 좋은 설명은 현실(예: 여려 상황들)에서 사실로서 증명됩니다. 그러나 혼란스럽게도 이것이 “좋은” 설명에 대한 가장 중요한 요소는 아닙니다. 예를 들어 선택성이 신뢰적보다 더 중요한 것처럼 보이기도 합니다. 한 두가지 가능한 원인들을 선택한 설명은 연관된 모든 원인들의 아주 일부분 입니다. 선택성은 진실의 일부를 생략합니다. 예를 들어 한두 가지의 요소만 주식 시장의 붕괴를 일으킨다는 게 아닙니다. 진실은 수백만명의 사람들에게 결국 붕괴를 야기된 방식으로 행동하도록 영향을 주는 수백만개의 원인이 있다는 것입니다.
해석가능한 머신러닝이 여기서 의미하는것: 설명은 가능한 사실적으로 사건을 예측해야합니다. 머신러닝에서는 충실도라고 부르기도 합니다. 두 번째 발코니가 집값을 올린다고 말한다면 다른 집(또는 적어도 하나에서 비슷한집들까지)에도 적용되어야 합니다. 사람들에게 설명의 충실도란 선택적, 대조적 그리고 사회적인면만큼 중요하진 않습니다.

좋은 설명은 설명을 듣는 대상에 대한 믿음이 일관돼야 합니다. 사람들은 이전 경험에 대한 신뢰와 일관되지 않는 정보는 무시하려는 경향이 있습니다. 이러한 효과를 confirmation bias(Nickerson 19984)라고 합니다. 설명은 이러한 편견들로 인해 모면되지 않습니다. 사람들은 그들의 생각과 다른경우 가치를 낮게 평가하거나 설명을 무시하곤 합니다. 믿음에 대한 것은 사람마다 다르지만 정지적인 세계관같이 집단을 기반으로하는 기본 믿음도 있습니다.
해석가능한 머신러닝이 여기서 의미하는것: 좋은 설명은 이전 믿음과 일관성을 가져야합니다. 이를 머신러닝에서 적용하는 것은 어렵기도하고 예측 성능이 크게 떨어질수도 있습니다. 주택규모가 예측가격에 미치는 영향에 대한 이전의 믿음은 집이 클수록 가격이 더 높다는 것입니다. 모델이 몇몇 집의 예상 가격에 집 크기의 부정적인 영향을 나타낸다고 가정해 보겠습니다. 이 모델은 (일부 복잡한 상호작용 때문에) 예측 성능을 향상시키기 때문에 이것을 학습했지만, 이러한 행동은 우리의 이전의 믿음과 강하게 모순됩니다. 단조성 제약조건을 적용하거나(이 특성은 한 방향의 예측에만 영향을 미칠 수 있음) 이 속성을 가진 선형 모형과 같은 것을 사용할 수 있습니다.

좋은 설명은 일반적이고 개연성이 있습니다. 많은 사건을 설명할 수 있는 원인은 매우 일반적이며, 좋은 설명으로 여겨질 수 있습니다. 이는 비정상적인 원인이 좋은 설명을 한다는 주장과 모순됩니다. 제가 보기에 비정상적인 원인은 일반적인 원인보다 더 낫습니다. 비정상적인 원인은 지정된 시나리오에서 드물게 나타납니다. 비정상적인 사건이 없는 경우, 일반적인 설명은 좋은 설명으로 간주됩니다. 또한 사람들은 동시 사건의 확률을 잘못 판단하는 경향이 있다는 것을 알아야합니다. (Joe는 사서이다. 수줍음을 많이 타는 사람인가 아니면 책 읽는 것을 좋아하는 수줍은 사람이 될 가능성이 더 높은가?) 좋은 예는 “집이 크기 때문에 비싸다”입니다. 이것은 왜 집이 비싸거나 싸는지에 대한 매우 일반적인 좋은 설명입니다.
해석가능한 머신러닝이 여기서 의미하는것: 일반성은 속성으로 쉽게 측정할 수 있으며, 이는 설명이 적용되는 관측치 수를 총 관측치 수로 나눈 값입니다.


  1. Lipton, Peter. “Contrastive explanation.” Royal Institute of Philosophy Supplements 27 (1990): 247-266. 

  2. Kahneman, Daniel, and Amos Tversky. “The Simulation Heuristic.” Stanford Univ CA Dept of Psychology. (1981). 

  3. Štrumbelj, Erik, and Igor Kononenko. “A general method for visualizing and explaining black-box regression models.” In International Conference on Adaptive and Natural Computing Algorithms, 21–30. Springer. (2011). 

  4. Nickerson, Raymond S. “Confirmation Bias: A ubiquitous phenomenon in many guises.” Review of General Psychology 2 (2). Educational Publishing Foundation: 175. (1998).