늦깎이 공대생의 인공지능 연구실
[해석할 수 있는 기계학습(2-1)]해석력(Interpretability) 본문
새로운 기술을 개발했다는 소식을 뉴스를 통해 보게 되었을 때 거의 대부분의 사람들은 기술의 원리를 완벽히 이해하기는 어렵지만 이를 어느 분야에서 사용할 수 있을지에 대해서는 어느 정도 알 수 있습니다. 그리고 실제로도 이를 사용할 줄 아는 것 만으로도 충분합니다. 그러나 이러한 기술을 만든 개발자의 입장에서 자신이 만든 기술이 어떤 알고리즘을 가지고 있는지 논문과 같은 설명서를 만들어서 사람들에게 설명할 수 있어야 합니다. 만약 그렇지 못하다면 이 알수 없는 기술에 대한 신뢰를 얻기 힘들게 됩니다.
위와 같은 기술 혹은 알고리즘처럼 특정한 기능을 수행하고 있는 기능에 대해 상세하게 설명할 줄 아는 능력을 우리는 해석력(Interpretability)라고 합니다. 이러한 해석력에 대해 학자들은 다음과 같이 정의합니다.
해석력은 사람이 결정의 원인을 이해할 수 있는 정도를 나타낸다. - Tim Miller
해석력은 사람이 모델의 결과를 일관되게 예측할 수 있는 정도를 말한다. - Been Kim
이는 다시 말해서, 기계학습 모델의 해석력이 높을수록, 특정한 결정 혹은 예측이 어떤 방식으로 이루어졌는지를 이해하는 것이 더욱 쉽다는 의미입니다.
안타깝게도 현재의 시점에서 딥러닝 기반의 기계학습의 가장 큰 단점은 입력을 통해 나온 출력의 결과를 해석하는 것이 매우 난해하다는 점입니다. 즉, 학습된 모델에 대해 해석하는 것이 쉽지 않다는 것이지요. 사람의 입장에서 결과물이 정확한지에 대해서는 통계를 통해 분석할 수 있지만 기계학습을 통해 만들어진 모델이 왜 이러한 결과를 도출해 냈는지는 알 수 없다는 것이지요.
위의 이미지처럼 고양이가 내놓은 결과는 고양이 자신만 알 수 있습니다. 원리를 알고 싶어하는 사람의 입장에서는 참으로 답답한 경우가 아닐 수 없습니다.
기계학습으로 학습된 모델은 실제 사람보다 더 뛰어난 성능을 보이기에 종종 어떤 사람들은 모델의 원리에 대해 해석력이 중요하지 않다고 생각하실 수 있습니다. 왜냐하면 굳이 분석을 하지 않더라도 학습 방식을 바꾸는 식으로 성능을 향상시킬 수 있기 때문입니다. 그러나 우리는 종종 이러한 훌륭한 성능을 나타내는 모델이 사람의 입장에서 생각해도 어처구니 없는 실수가 발생하기도 합니다. 이러한 경우가 발생하였을 때엔 더더욱 학습된 모델이 어떻게 그러한 판단을 했는지 알고싶어 하지요. 거의 흔치 않은 실수인데 이정도는 넘어가도 되는건 아닐까요?
지난 2016년 자율주행모드로 주행하던 자동차가 트럭에 부딪쳐 운전자가 숨지는 사고가 발생하였습니다. 사고 원인은 자율주행중이던 자동차가 트럭의 하얀 화물 부분을 '밝게 빛나는 하늘'로 착각하여 이를 장애물로 판단하지 못해 차량을 멈추지 못했던 것입니다. 결국 예상치 못했던 변수에서 차량의 자율주행 인공지능이 이를 판단하지 못해 소중한 생명을 잃게된 안타까운 사건이었지요. 이는 학습된 모델을 실제에 적용함에 있어 상당히 어려운 점이자 우리들이 학습된 모델에 대한 해석력이 필요한 이유라고 할 수 있겠습니다.
기계학습 모델에 대해 해석할 수 있게 된다면 우리는 디버깅을 거쳐 조금 더 발전된 인공지능을 개발할 수 있게 될 것입니다. 특정한 물체를 감지하기 위해 학습된 데이터에서 사람의 입장에서 애매하거나 잘못된 경우가 발견되었을 때 이를 해석하고 좀 더 정확한 데이터를 사용하거나 감지되는 변수를 제거하는 방법으로 학습을 진행한다면 학습된 모델의 정확도는 더욱 높아질 수 있을 것입니다.
우리는 흔히 딥러닝으로 학습된 모델의 내부 구조를 블랙박스라고 표현합니다. 모델의 구조는 어떻게 생겼는지 알기 어렵기 때문이지요. 모델의 블랙박스를 열고 조금씩 분석해 나아간다면 언젠가는 기계학습 또한 완벽하게 분석이 가능한 날이 올 것이라 기대해봅니다.
참고자료: https://christophm.github.io/interpretable-ml-book/interpretability-importance.html
'해석할 수 있는 기계학습 > 1. 소개' 카테고리의 다른 글
[해석할 수 있는 기계학습(1-2)]기계학습 용어 정리 (0) | 2019.08.31 |
---|---|
[해석할 수 있는 기계학습(1-1)] 기계학습이란 무엇일까? (1) | 2019.08.29 |