Beyond Sparsity: Tree Regularization of Deep Models for Interpretability 발췌 요약

 

현재 딥러닝 모델은 온전히 Black Box Model로  Input → Output 변환에서 어떠한 과정으로 진행되었는지 전혀 알 수가 없다. 이러한 해석력 이슈를 해결하기 위해서 LIME에서 제시한 것처럼 지역적으로 선형모델을 근사하여 변수의 중요도를 파악하거나 CNN의 첫번째 Convolution Layer에 사용한 Gradient를 이용해서 픽셀을 중요도에 기반하여 히트맵으로 표현하는 방식 등이 제안된 바 있다. 

하지만 저자는 해석력에 대한 정의를 조금 더 엄격하게 보고, 사람이 모델을 직접 재현하여 설명 가능할 수 있어야 한다고 한다.We should think of interpretability as human simulatability. A model is simulatable if a human can take in input data together with the parameters of the model and in reasonable time, step through every calculation required to make a prediction (Lipton 2016).

그리고 이를 위해서 제안한 방식은 바로 Decision Tree Model(이하 DT)을 활용하는 것이다. Machine Learning 중에서 DT는 사람이 모사하여 설명할 수 있는(Simulatble) 대표적인 학습방식이기 때문이다.  

여기서 저자는 Optimization 과정 중에 Simulatability를 갖추기 위해 DNN을 Tree를 이용해서 Regularization하는 것을 제안하고 이를 Tree Regularization이라고 명한다.

RNN을 예로 들 때 저자가 제시한 Loss Function에서 Regularization 방식은 다음과 같다. 이 때 Pathlength는 DT의 Depth이며 DT는 Training Data의 Input과 DNN을 통해 산출된 Predicted Value을 Output으로 Fitting된 Model이다. 여기서 우리는 DT를 이용해서 Model을 근사한 결과를  얻게 되며 동시에 Tree의 Size를 설정하기 위해서 Tree의 Depth를 Loss Function에 추가한다.

이때 DT의 Depth는 동일한 값이 나올 경우가 많고(Not Differentiable) SGD를 유지하기 위해서 Surrogate Model을 활용한다.

해당 Regularization 기법을 Toy dataset에 적용해서 확인해보았다. Decision Function은 다음과 같고 2차원 평면([0,1]×[0,1] 내)에서 500개 Point를 표본으로 추출 후 이를 100 x 100 x 10개의 DNN의 Input으로 사용해서 Decision Function 위에 있으면 Positive, 아니면 Negative로 분류하였다.

아래는 Regularizer의 강도에 따른 Decision Boundary의 차이를 시각화 한 것이다.

toy_dataset
Source: http://www.shallowmind.co/jekyll/pixyll/2017/12/30/tree-regularization/

 

대체로 L1은 울퉁불퉁한 경계선을, L2는 전구 모양(?)의 경계선을, Tree Regularization은 축과 비슷한 형태의 경계선을 만드는 경향이 있다고 말한다 . L1 tends to be jagged lines, L2 tends to be more bulbous, and Tree regularization tends to prefer axis-aligned decision functions

참고문서: Interpreting Deep Neural Networks

Site Footer

Sliding Sidebar