1. Introduction
Machine Learning에서 어떤 특징점이 예측에 중요한 역할을 하는지 알아내는 것은 매우 중요합니다. 이를 통해서 Model의 성능을 향상시키는 방법을 알아내는 것, 예측에 대한 신뢰성 확보, 이상 탐지를 알아내는데 도움을 줍니다. 하지만 이 분야는 Ground Truth 가 없다는 점과 정확히 측정할 수 있는 수학적 방법이 없다는 점으로 인해 해결하기 쉽지 않습니다.
두 가지를 요약하면 즉, 정답이 없다는 것입니다. 하지만 이 논문에서는 수학적이진 않지만 실험적으로 어떠한 특징점이 중요한지 평가를 하는 방법을 소개합니다.
일반적으로 지금까지 대표적으로 사용되어 왔던 특징점의 중요도를 평가하는 방법에는 해당 특징점을 삭제한 후 기존 Model의 성능이 얼마나 떨어졌는지를 평가합니다. 만약 중요도 선정 알고리즘이 중요한 특징점을 잘 찾아낸다면, 해당 특징점을 지웠을 때 모델의 성능이 급격하게 하락할 것이라고 추측할 수 있기 때문입니다. 하지만 중요한 특징점을 찾아내 삭제한 후 학습한 딥러닝 모델의 성능을 평가하는 방법에는 치명적인 오류 2가지가 있습니다. 이는 중요한 특징점이 지워진 데이터는 기존 Model이 학습한 Training Dataset과는 완전히 다른 Distribution을 가진다(Distribution Shift 문제)는 것과 Model의 성능저하가 Distribution Shift에서 온 것인지 중요한 특징점이 삭제되어 성능저하가 발생한 것인지 알수 없다는 것입니다.
이러한 Distribution Shift 문제를 해결하기 위해서 중요하다고 생각되는 특징점이 제거된 Dataset을 재학습하는 절차를 통해 Distribution Shift 문제를 해결하였습니다(사실상 특징점이 제거된 Dataset으로 재학습한다는 것을 제외하면 기존의 평가방법과 다르지 않다).
그래서, 정보가 제거된 데이터셋(Remove)으로 Model을 재학습(Retrain) 했을 때 성능저하가 어떻게 일어나는지를 확인하여 해석하는 방법을 소개하며 이를 Remove and Retrain(ROAR)로 말하고 있습니다.
그리고 여러가지 실험을 통해서 기존의 특징점 중요도를 선정하는 알고리즘들의 성능을 3가지 데이터셋(Imagenet, Food101, Birdsnap)에 적용하여 평가합니다.
2. ROAR : Remove and Retrain
먼저 중요도를 선정하는 알고리즘은 Gradients or Sensitivity heatmaps, Guided Backprop, Integrated Gradients, Classific SmoothGrad, SmoothGrad²(SQ-SG), VarGrad를, 데이터 셋은 ImageNet, Food101, BirdSnap을 사용했습니다. 또한 Backbone으로는 ResNet-50(Pretrained with ImageNet)을 사용했습니다. 단순히 위의 중요도 선정 알고리즘을 독립적으로만 사용한 것이 아니라 결합해서도(예를 들면 VAR + GRAD) 평가합니다.
먼저 ROAR를 통해서 중요도를 선정하는 알고리즘을 평가하기 이전에 각 특징점들에 대해서 추정된 중요도를 정렬해야합니다.논문에서 사용된 중요도 선정 알고리즘의 특성들이 모두 다르기 때문에 각각 다른 정렬 방법을 사용했습니다.
각 알고리즘에서 산출한 중요도에 따라서 정렬한 다음 비를 나눕니다. 이 비를 점점 키워가면서(0%, 10%, 20%, … , 100%) 특징점을 지우고, 특징점을 지운 데이터셋을 새로 구성하고, 학습하고… 를 반복합니다. 매번 학습할때마다 Model의 학습 방향성이 달라기 때문에 같은 재학습을 5번 반복합니다. 그러니까 총 3개의 데이터셋에 대해서 6개의 알고리즘 선정작업을 하고 10개의 비를 적용하여 재학습을 하였으니, 컴퓨팅 파워가 굉장히 많이 필요합니다.
논문에서 언급하기에 재학습에 필요한 시간과 연산량은 당연히 많은 걸 인지하고 있으며 이는 Data Distribution Shift 현상을 극복하기 위해서는 어쩔 수 없기 수행해야 하는 절차라는 것을 반복해서 설득하고 있습니다. 또한 Retrain을 하지 않았을 때와 했을 때의 결과 변화를 Result에서 말하고 있습니다.
이 논문에서 주장하고 있는 ROAR 방법론을 수행하면 2가지 결과를 예측할 수 있습니다. 중요한 특징점을 지웠을 때 Model의 성능이 떨어진다는 것과 중요한 특징점을 지웠음에도 Model의 성능이 떨어지지 않는 것입니다.
첫번째 가능성은 당연하다고 생각합니다. 두번째 가능성은 두가지로 해석할 수 있습니다. 중요하지 않은 특징점을 지웠거나, 중요한 특징점을 지웠지만 여전히 Model이 의사결정을 하는데 중요한 특징점이 남아있다는 뜻입니다. 위의 두가지는 조금만 생각해보면 당연하다고 생각됩니다.
3. Result
어떤 중요도 선정 알고리즘이 더 유효한가를 보여주기 전 재학습이 정말로 필요한 것인가에 대해서 결과를 보여줍니다.
주황색 점선은 중요한 특징점을 지웠을 때의 결과이며, 파란색 점선은 중요하지 않은 특징점을 지웠을 때의 결과이고 검정 실선은 임의적으로 아무 특징점을 지웠을 때의 결과입니다. 재학습을 하지 않으면 Data Distribution Shift 현상 때문에 거의 선형적으로 Model의 성능이 떨어지는 것을 볼 수 있지만, 재학습을 했을 경우 정말 중요한 정보가 지워졌을 때만 성능이 떨어지는 것을 볼 수 있습니다. 이 결과를 통해 재학습을 하는 것이 꼭 필요하다는 것을 알 수 있습니다.
다음은 데이터셋별, 중요도 선정 알고리즘별 ROAR결과입니다. 중요한 특징점이 지워질 수록 점점 성능이 떨어지는 것을 볼 수 있어 대부분의 알고리즘이 그럭저럭 중요한 특징점을 지우고 있다는 것을 볼 수 있습니다. 또한 추가적으로 데이터셋에 대한 특성도 설명할 수 있습니다.
ImageNet은 거의 선형적으로 성능이 떨어지며, Food101데이터셋은 80%, 90%에서 급격히 성능이 떨어지며, Birdsnap은 10%, 20%에서 급격히 성능이 떨어지는 것을 볼 수 있습니다. 여기서 아래와 같은 생각을 해볼 수 있습니다.
- ImageNet은 중요한 특징점이 고르게 펴져있다.
- Birdsnap은 중요한 특징점이 한 곳에 집중되어 있다.
- Food101은 중요한 특징점의 산포도가 ImageNet과 Birdsnap의 중간정도이다.
위에서 볼 수 있듯이 데이터의 특성에 따라 같은 알고리즘의 경향성은 같지만 성능의 절대 값은 다르게 나옵니다. 서로 다른 알고리즘의 성능을 측정하기 위해서는 항상 같은 데이터 셋에서 수행되어야한다는 것을 명심해야합니다.
또한 이 논문에서는 Remove and Retrain 뿐만 아니라 Keep and Retrain도 진행했으며 이를 KAR이라고 일컫습니다. Keep and Retrain은 Remove and Retrain과 반대로 중요한 특징점을 삭제하는 것이 아니라 중요한 특징점만 남기는 것입니다.
아래의 그래프는 같은 데이터셋에서 ROAR와 KAR의 성능 경향을 보여주고 있습니다.
아래의 그래프는 같은 데이터셋에서 ROAR와 KAR의 성능 경향을 보여주고 있습니다.
위의 그래프에서 볼 수 있듯이 우리는 KAR가 성능에 대한 라는 것을 알았습니다. 모든 중요도 선정 알고리즘은 서로 비슷한 성능 변화도를 나타내는 것을 볼 수 있습니다. 이러한 결과는 KAR가 ROAR보다 수행하기에는 쉬운 벤치마크임을 보여줍니다. 하지만 글쓴이의 입장에서 KAR는 단조적인 변화와 드라마틱한 성능변화를 보여줄 수 없기에 ROAR가 더 괜찮은 벤치마크 방법이라고 생각합니다.
4. Conclusion
이 논문은 결과적으로 중요도 선정 알고리즘의 성능을 평가할 수 있는 ROAR라는 방법을 제안했습니다. 또한 Result 부분을 보면 일반적으로 사용되는 Gradients, Integrated Gradients, Guided Backprop 방법론은 임의로 특징점을 지우는 것 보다 더 성능이 나쁘거나 동등한 것으로 나타납니다. 그래프에서 볼 수 있듯이 같은 비율의 중요한 특징점을 지웠을 때 성능하락이 눈에 띄게 나타나지 않기 때문입니다. 또한 SmoothGrad와 같은 특정 결합 방식은 훨씬 연산 효율적이지만 성능이 개선되지는 않았습니다.
하지만 VarGrad와 SmoothGrad-Squared 방법은 굉장히 설득력있는 중요도 선정 알고리즘이며 임의로 특징점을 지우는 것보다 월등히 좋은 알고리즘임을 보입니다.
Reference
- A Benchmark for Interpretability Methods in Deep Neural Networks
- A Survey on Explainable Artificial Intelligence (XAI): towards Medical XAI
[##차금강##]
'Review' 카테고리의 다른 글
Real-world Super-resolution via Kernel Estimation and Noise Injection (0) | 2020.07.15 |
---|---|
Anomaly detection using one class neural networks (Raghavendra Chalapath, 2018) (1) | 2020.07.03 |
CVPR 2020 동향 분석 (0) | 2020.06.19 |
Tutorial on Few-Shot Object Detection #2 (6) | 2020.04.21 |
Tutorial on Few-Shot Object Detection #1 (1) | 2020.04.02 |