Explainable AI - 2

문영제·2022년 7월 17일
0

LG AImers

목록 보기
17/24

Explaining Ways with Saliency Maps

Class Activation Map


• Class Activation Map(CAM) : Global Average Pooling(GAP)이라는 특정한 레이어를 만들고 그것을 활용하여 설명을 제공하는 방법, activation을 결합하여 설명을 만드는 방법으로 activation map에 activation이 크게 된다는 것은 MAP이 주어진 입력과 관련이 많다는 것이다.
또한 레이어를 결합하는 w가 크다는 것은 최종 분류에 큰 영향을 주는 activation이라는 뜻으로 그것을 결합하면 입력에 대한 예측을 잘 설명하는 방식이 되는 것이다.

  • CAM을 구한 CNN최종 레이어의 해상도는 원래 이미지에 비해 떨어지므로 upsampling을 통해 최종 시각화를 함
  • GAP Layer: 각 activation map 내 모든 activation의 평균을 내는 연산

Alternative view of CAM

CAM내 c 클래스의 로짓(sigmoid function의 역함수)는 아래와 같다.

해당 합을 재정의하면 다음과 같이 정의할 수 있다.

그 결과, class가 같거나 매우 다른 입력들이 주어졌을 때에도 분류기는 제대로 정답을 예측하고 있으며 그 예측에 대한 설명도 그림 내에서 정답에 해당되는 객체들을 잘 찾아내어 하이라이트 하고 있는 것을 알 수가 있다.
이는 사물 탐색, 영어의 분절화 등 더 복잡한 응용분야에도 적용가능하다. 이러한 방식을 weakly supervised learning 이라 한다.

Pros and Cons of CAM

  • 장점 : 모델이 중요하게 보고 있는 이미지내의 object들을 정확하고 깔끔하게 잡아냄
  • 단점 : model-specific하다. 항상 GAP가 마지막에 달려있는 모델에만 적용이 가능, 캠의 설명은 마지막 convolutional layer에서만 얻을 수 있으므로 해상도가 많이 떨어진다.

Grad-CAM

CAM을 gradient 정보를 활용해서 확장한 방법으로, GAP가 없는 모델에도 activation을 결합하는 방식을 보완하여 activation map에서도 그 activation map의 gradient를 구한 다음에 Gradient의 평균값으로 w를 적용한다. 그 결과, 학습된 모델이 과연 제대로 예측을 하고 있는지, 모델의 예측에 편향성이 존재하지 않는지도 알아낼 수 있다.

Pros and Cons of Grad-CAM

  • 장점 : model agnostic하다. 즉, 모델이 어떤 출력 구조를 가지고 있더라도 상관없이 사용할 수 있다.
  • 단점 : 가끔 평균 gradient가 정확하지 않을 때가 있다.

Perturbation-based

모델의 정확한 구조나 계수는 모르는 상태에서 그 모델에 대한 입출력에 대한 정보를 가지고 있는 경우 설명을 하는 방법으로, 입력데이터를 조금씩 바꾸면서 그에 대한 출력을 보고, 그 변화에 기반하여 설명

LIME(Local Interpretable Model-agnostic Explanations)

어떤 분류기가 딥 러닝처럼 매우 복잡한 비선형적 특징을 가지고 있더라도 주어진 데이터 포인트들에 대해서는 아주 local하게는 다 선형적인 모델로 근사화가 가능하다는 관찰에서 출발하였다.
주어진 데이터를 조금씩 교환해 가면서 그 교환된 입력 데이터를 모델에 여러 번 통과시키고 결과 출력을 보고 입출력 pair들을 간단한 선형 모델로 근사함으로써 설명을 얻어내는 방법이다.

Example: Image Segmentation

super pixel로 segmentation을 해주고 interpretable components를 얻는다. 그 후 super pixels들을 교란 시켜서 다양한 교란된 그림을 얻는다. 교란된 이미지와 출력확률의 pair를 이용해서 각 super pixel들을 잘 결합하는 선형계수들을 학습하고, 그 계수들을 통해 super pixel들을 다시 결합했을 때 나오는 이미지가 최종 설명이 된다.

  • 각각의 예측에 대해서 서로 다르지만 정확한 설명들을 만들어냄

Pros and Cons of LIME

  • 장점 : Black box 설명 방법으로, 딥러닝 모델뿐만 아니라 주어진 입력과 그에 대한 출력만 얻을 수 있다면 어떤 모델에 대해서도 다 적용할 수 있는 설명 방법이라고 할 수 있다.
  • 단점: 주어진 모델을 여러 번 재평가해야 함, 계산 복잡도가 매우 높음, 이미지 전체의 특성에 대한 분류를 하는 경우에 잘 동작하지 않는다.

RISE(Randomized Input Sampling for Explanation)

LIME과 비슷하게 여러 번 입력을 변화시켜서 설명을 구하는 방법으로, 여러 개의 랜덤 마스킹이 되어 있는 입력에 대한 출력스코어를 구하고 그 확률들을 이용해서 마스크에 대한 가중치를 둬서 평균을 냈을 때 나오는 것을 설명 MAP이라 한다. 그 결과, 올바른 예측을 하는데 있어서 중요한 이미지의 구분들을 잘 찾아내며 lime과 비교해도 한계가 없고, 매우 깨끗한 설명을 구할 수 있다.

Pros and Cons of RISE

  • 장점 : 더욱 clear한 saliency-map이다
  • 단점 : 매우 높은 계산 복잡도, 라임보다도 훨씬 많은 랜덤마스크를 만들어야함, 랜덤한 노이즈도 존재

Influence function-based

주어진 모델이 어떤 training set으로부터 학습한 것이므로 그 데이터 셋에 있는 training image들의 함수라고 볼 수 있고 각 테스트 이미지를 분류하는데 가장 큰 영향을 미친 training image가 해당 분류에 대한 설명이라고 제공하는 것

Influence Function

Training 이미지 없이 모델을 훈련시켰을 때 해당 test이미지의 분류 스코어가 얼마만큼 변할 것인지를 근사화 하는 함수로, 더 제대로 된 특징들을 잘 뽑아내서 학습하고 분류하게 된다.

profile
부산사는 아저씨

0개의 댓글