본문 바로가기
데이터사이언스/인공지능을 처음공부하는 사람들을 위한 글

인공지능 모델의 해석력과 모델의 성능에 관하여

by 미스터탁 2022. 9. 15.

기본적으로 우리가 데이터를 활용하여 여러 머신러닝을 적합시키고 실험설계를 하고 결과를 내는 이유는 예측모델의 성능을 높이는 것에 있다. 물론, clustering, PCA등 unsupervised learning의 기법들을 활용할 때에도 있지만, 우리는 대부분 supervised learning에 초점을 두고 많이 공부한다. Kaggle등과 같은 머신러닝 대회 플랫폼만 보더라도, 성능을 0.0001%라도 올리는 것에 치중되어 있다라는 것을 알 수 있다. 필자 또한, 어떻게 하면 성능을 높일 수 있을지에 대해 많이 고민 하였고, 현재도 많이 고민하고 있다. 

 

그러나, 데이터 분석을 할 때에는 잊지 말아야 할 사실이 있다. 바로 모델의 해석력이다. 일반적으로 모델의 해석력과 성능은 반비례 관계를 가지고 있다. 선형 회귀(Linear Regression) 모델을 생각해보자. 우리는 직선의 방정식으로 모델을 적합시킬 수 있다. 물론, 이 모델은 예측 성능이 매우 떨어질 확률이 높다 (복잡한 문제에 대해서). 그러나, 우리는 직선의 방정식을 통해 독립변수가 종속변수에 어떻게 얼마나 영향을 끼치는지 해석할 수 있다. 

 

 

비슷한 모델로 의사결정 나무(Decision Tree)를 들 수 있다. 이 모델 또한, 매우 직관적이고 해석력이 높은 모델이다. 밖이 맑고 습도가 낮으면 테니스를 한다”, 다만 습도가 높으면 하지 않는다처럼 종속 변수가 독립 변수의 어떤 특정 조건에 의해 잘 나눌 수 있는가를 설명할 수 있다는 장점이 있다 (물론 성능 자체는 높지 않다). 

 

 

그렇다면, 왜 해석력이 중요할까?

보험회사를 생각해보자, 보험 사기를 예측하는 모델을 만드는 것이 목표인데, 선형 회귀 모델로 성능이 70%, 굉장히 복잡한 ensemble model은 성능이 75%가 나왔다고 가정해보자. 우리는 최종적으로 어떠한 모델을 사용하는 것이 맞을까?

물론, 이는 다양한 의견이 있을 가능성이 높고 상황에 따라 다른 의사결정을 내릴 수 있다. 하지만 우리는 여기서 '무조건 ensemble model을 선택해야 한다' 는 잘못된 의사결정이라는 것을 알아야 한다. 

 

사실 5%의 성능 차이는 매우 매우 큰 차이다. 2~3%의 차이만 있어도 우리는 그 모델의 장점을 어필하면서 논문을 쓸 수 있을정도 이기 때문이다. 그러나, 현업에서 중요하게 여기는 것은 5%의 예측 성능을 더 높이는 것 보다, 어떤 사람이 보험 사기를 치느냐? 가 더 중요할 수 있다. 그 원인을 파악하고 미리 예방을 하는 것이 더욱더 중요하기 때문이다.

 

이와 마찬가지로, 제조 분야에서 어떤 공정에서 제품의 불량을 일으킬까? 질병에 걸리는 유전적 환경적 요인은 무엇이며 어떻게 예방을 해야 할까? 등 우리는 다양한 분야에서 우리는 원인을 중요시 여긴다. 즉, 우리가 예측하고자 하는 것의 근본적인 목적은 예측 그 자체 보다 원인 파악과 예방, 추후 조치에 초점이 맞춰져 있다

 

앞서 언급한 바와 같이, 여러 머신 러닝 모델들은 해석력과 성능이 반비례의 관계가 있으며, 우리는 적절한 모델을 목적에 맞게 선택 해야 하다. 우리의 문제는 해석력을 필요로 하지 않는 문제라면 (예를 들어, 얼굴 인식과 같은), 딥러닝과 같은 모델을 선택하는것이 맞을 것이다. 만약 우리의 문제가 해석력을 필요로 하는 문제라면, 성능은 다소 낮더라도, 해석력이 높은 모델을 고려해야 하는 것이 합리적일 것이다. 

 

 

반응형

 

 

 

최근에는, 높은 성능을 가지는 모델(딥러닝, Ensemble learning)들에 대해서도 해석력을 높이기 위한 연구들이 많이 진행 되어 오고 있다. Randomforest, xgboost와 같은 tree기반 ensemble model들은 변수 중요도를 제공하지만, 이는 모델의 해석력과는 별개이다. 단순히 학습 데이터 내에서 많이 쓰이는 변수등을 의미한다. 이와 다르게 Shap value는 각 변수의 해석이 가능토록 한다. 아래 그림은 은행 이용 고객 수입 50만 달러 이상인지 여부 예측한 ensemble 모델에 대해서, 교육 수준과 나이를 활용한 Shap value를 시각화 시킨 것이다. 이를 해석하면 다음과 같다.

 

Education-Num값이 크면
Age
20일때에는 Age의 영향력이 감소
Age
30쯤 일대의 Age의 영향력은 더 증가
10대후반 ~ 20대초반에 교육수준이 높다 (대학생일 가능성)
10대후반 ~ 20대초반에 교육수준이 낮다 (바로 취업할 가능성)

즉, 사회 초년생때 대학을 가지 않고 취업을 할 때에는 돈을 더 벌 확률이 높지만, 30대가 넘어가면서 대학을 간 사람이 돈을 더 벌 확률이 높다라는 것을 알 수 있으며, 60대 이후에는 전체적으로 돈버는 양이 줄어든다 라는 것을 알 수 있다. Shap value는 이처럼 보다 더 깊은 해석을 가능토록 한다. 

 

매우 해석력이 떨어진다고 알려져 있는 딥러닝 모델에서도, Shap value와 Grad CAM등을 활용하면 아래 그림과 같이 어떠한 부분이 해당 그림을 해당 label로 예측하게 했는지 알 수 있다. 

 

이와 같이, 최근에는 복잡한 모델을 해석을 할수 있도록 하는 연구들이 많이 진행 되어 오고 있다. 우리가 기억해야 할 것은, 실제로 모델을 적합시키는 이유와 목적에 대해 다시 한번 생각해볼 필요가 있다는 것이다. 0.001%의 성능에 집착 하는 것보다, 해석가능 한지, 어떠한 insight를 얻을 수 있는지 등에 대해 생각 해볼 필요가 있으며, 그 목적에 맞는 모델을 선택 해야 한다.

반응형

댓글