LG_Aimers Module 4. Explainable AI

먕먕·2022년 7월 25일

블로그에 포스팅하는 내용들은 강의 전체 내용이 아닌 내 기준, 나한테 필요한 내용들 기억하고 싶은 내용들 위주입니다
해당 내용의 출처는 LG Aimers(https://www.lgaimers.ai)에 있습니다


Part 1. Explainable AI (XAI)

supervised deep learning model의 한계점?
대용량 학습 데이터로 더 복잡해지고 이해하기 어려워짐(블랙박스)

예측 결과가 사람에 직접 영향을 미치는 경우 이는 문제가 된다
ex) 의료 진단, 대출 여부, 자율주행
예측의 이유와 원인을 설명할 수 있어야 한다

XAI 기법을 이용하면

  • 모델, 데이터 셋의 오류를 색출할 수 있다
  • 모델이 얼마나 편향 bias 되어있는지 알 수 있다
  • 모델의 신뢰 여부 결정

explainability(=interpretability)

  • 사람이 그 이유를 이해할 수 있게 해주는 것
  • 설명을 통해 모델의 결과를 예측할 수 있게 하는 것
  • 이유를 설명할 수 있게 해주는 것
  • 사람이 모델을 쓸 때 그 동작을 이해하고 신뢰할 수 있게 해주는 기계 학습 기술

주로 시각화를 통해서 모델 예측 결과에 중요한 영향을 미친 특징이나 데이터를 하이라이트해서 보여주는 방법들

  1. Local vs Global
  • 주어진 특정 데이터에 대한 예측 결과를 개별적으로 설명
  • 전체 데이터 셋에서 모델의 전반적인 행동을 설명
  1. White-box vs Black-box
  • 모델의 내부 구조를 정확히 알고있는 상태
  • 모델의 입력과 출력만 갖고 설명
  1. Intrinsic vs Post-hoc
  • 모델의 복잡도를 훈련하기 이전부터 설명하기 용이하도록 제안한 뒤 학습을 시켜서 그 후 학습된 모델을 가지고 설명
  • 임의의 모델 훈련이 끝난 뒤 방법을 적용하여 그 모델의 행동을 설명
  1. Model-specific vs Modle-agnostic
  • 특정 모델 구조에만 적용 가능
  • 구조와 관계없이 어느 모델에도 적용 가능

ex)

  • linear model, simple decision tree
    (global, white-box, intrinsic, model-specific)
  • grad-cam
    (local, white-box, post-hoc, model-agnostic)


개별 이미지의 예측 결과에 대한 설명을 히트맵처럼, 이미지에 중요하게 작용한 부분을 하이라이트해서 보여줌

입력에 대한 모델의 Gradient로 설명을 제공

  • gradient가 크다면 해당 pixel이 출력 값에 영향을 많이 미침 -> 중요
  • back-propagation으로 쉽게 계산 가능 -> 구현 쉬움
  • 설명이 noisy함(같은 예측 결과를 갖는 조금씩만 변화하는 이미지의 경우 설명은 각자 매우 다르게 나옴)

SmoothGrad
noise가 섞인 이미지의 입력 gradient를 구하는 과정을 여러번 수행해서(약 50회), 그 평균으로 설명을 제공
noisy graident를 많이 줄임
단 계산복잡도가 높다


Part 2.

1. Saliency map-based

CAM(Class Activation Map)
GlobalAverage Pooling(GAP)이라는 레이블을 만들어 설명을 제공

GAP : 각 Activation map의 모든 Acativation을 평균을 냄

이미지가 CNN의 입력으로 들어오면, 그 입력에 해당하는 activation들이 최종 layer에 activation map으로 나타남. 각 activation map들은 파란색 배경 이미지로 표시.
예측한 class에 대한 GAP로 학습된 weight를 활용해서 activation map을 결합.
최종 결합한 activation map과 원래 이미지를 결합하면 예측한 class에 대한 설명을 얻을 수 있음

activation map에 activation이 크게 된다 = 그 map이 주어진 입력과 관련이 많다
그것을 결합하는 w가 크다 = 최종 분류에 큰 영향을 주는 activation

upsampling : cam을 구한 최종 layer는 해상도가 떨어지므로 upsampling을 통해 최종 시각화를 한다


각 pixel i, j에 대해서 모든 activation을 더하고 activation 크기로 나누면 GAP를 하는 것. class C에 대한 w가 activation k마다 있어서 GAP를 한 activation을 다시 결합해서 최종 점수 y를 계산.

activation map의 i,j번 pixel마다 w를 이용해 결합을 할 수 있고, 그 결합한 값이 cam이 된다.
이 cam 값들의 평균이 특정 class에 대한 분류 점수

단순한 이미지 분류 외에도 object detection, semantic segmentation 등의 복잡한 응용분야에도 적용 가능 (Weakly Supervised Learning)

장점

  • 모델이 중요하게 보고있는 object를 잘 잡아낸다

단점

  • model-specific함
  • GAP가 마지막에 달려있는 모델에만 적용 가능
  • 마지막 convolution layer의 activation map에서만 얻으므로 해상도가 떨어짐(정확한 boundary를 찾기는 어려움)

Grad-CAM
CAM을 Gradient 정보를 활용해서 확장
GAP가 없는 모델에도 actiavtion을 결합하는 방식을 보완


CAM의 경우 GAP 위에 붙어있는 최종 output layer에서 학습된 w를 사용했는데, 해당 activation에서 구한 gradient의 GAP 된 값을 w로 사용
--> 즉 특정 모델 구조를 갖고 학습된 w가 아닌 어느 모델이던 activation map의 gradient를 구한 다음 그것의 gap 값으로 w를 적용

학습된 모델이 제대로 예측을 하고 있는지, 예측에 편향이 있는지 볼 수 있음

장점

  • model agnostic함
  • 모델의 출력 구조와 상관없이 사용 가능 (모델의 출력에서 backbone이 되는 cnn의 activation layer까지 backprogation을 통해 gradient를 구할 수 있다면)

단점

  • activation을 결합하는 w로 평균 gradient를 사용하는데 이게 그렇게 정확하지 않음(gradient가 크다는건 해당 activation에 대한 출력 값의 민감도가 크다는 것이지만 최종 결과를 계산하는데 있어서의 중요도를 반영하지는 않다)

Perturbation-based

모델의 정확한 구조/계수는 모르는 상태에서 모델 입출력 정보만 갖고있는 경우
입력 데이터를 조금씩 바꾸며 출력을 보고 그 변화에 기반해서 설명

LIME(Local Interppretable Model-agnostic Explanations)
분류기가 매우 복잡한 비선형적 특징을 갖더라도 data point에 대해서는 선형적 모델로 근사화가 가능하다는 관점
데이터를 조금씩 교란, 그 출력들을 보고 pair들을 선형 모델로 근사화하여 설명을 구함

super-pixel로 segmentation을 하고 interpretable component를 얻음
이 조각들을 조합해서 score 확률을 확인

장점

  • black box 설명(입력과 출력만 있으면 어떤 모델에도 적용 가능)

단점

  • 모델을 여러번 evaluation해야함
  • 계산복잡도가 매우 높다 (black-box 모델의 한계)
  • 객체가 아닌 이미지 전체에 대해 분류하는 경우에도 잘 작동하지 못함

RISE(Randomized Input Sampling for Explaination)
여러번 입력을 perturb해서 설명을 구함

랜덤 마스크를 만들어서 마스크를 씌운 입력의 출력 결과를 보고 설명을 구함

단점

  • 매우 높은 계산 복잡도
  • random mask를 만드는 수에 따라 변하는 설명

Influence function-based

주어진 모델은 training set으로부터 학습한 것이므로 training image들의 함수라고 간주, 따라서 학습에서 가장 큰 영향을 미친 training image가 해당 분류에 대한 설명일 것이다

influence function
영향력을 계산


Part 3.

XAI 기법들을 정량적으로 비교하고 평가하는 방법

  • AMT (Amazon Mechanical Turk) test
    사람들이 직접 퀴즈를 내고 평가
    단점 : 매우 값이 비싸고 시간이 오래걸림

  • annotation
    사람들이 미리 만들어둔 annotation data 이용

    pointing game
    bounding box를 활용
    가장 중요하게 여겨지는 pixel이 bounding box 안에 포함이 되는지 정확도를 계산
    weakly supervised semantic segmentation
    classification label만 주어졌을 때, 그것을 활용해 pixel 별로 객체의 label을 예측하는 semantic segmentation
    piexel별로 정답 label이 다 주어진 것은 아니기에 weakly supervised
    평가 방법으로 IoU(intersection over Union) 활용
    정답 Map과 만들어낸 segmentation map이 얼마나 겹치는지 평가

단점 : 사람이 직접 제공한 annotation을 활용해야함. Bounding box나 annotation이 좋은 설명을 제공하는 정답인가도 명확하지 않음

  • motivation
    pixel을 교란하여 출력값이 어떻게 변하는지를 test

    AOPC(Area Over the MoRF Perturbation Curve)
    주어진 이미지에 대해서 XAI 기법이 설명을 제공하면, 그 제공한 설명의 중요도 순서대로 pixel을 정렬하고, 그 pixel을 교란하였을 때 원래 예측한 score가 얼마나 빠르게 변하는지 확인
    Deletion
    중요한 순서대로 pixel을 지워가며 분류 확률값이 떨어지는지 봄
    낮을수록 좋음
    Insertion
    백지에서 중요한 순서대로 pixel을 추가
    클수록 좋음

사람의 직접적 평가나 annotation을 활용하진 않음
단점 : 어떤 pixel을 지우고 model에 넣었을 때, 해당 이미지는 model의 training image 분포와 다르기에 출력 score가 정확하지 않을 수도 있음

  • ROAR(RemOve And Retrain)
    XAI가 생성한 주요 pixel를 지우고, 지운 data로 model을 재학습하고 정확도가 얼마나 떨어지는지 확인

객관적이고 정확한 평가가 가능하나
단점 : pixel을 지우고 재학습해야하므로 복잡도가 매우 높음

XAI 방법의 신뢰성
Sanity check
중요한 pixel들을 highlight하는 것이 Edge detector처럼 작용
object를 잘 찾아내는 것이 좋은 설명인가?
model randomization test
layer의 계수를 randomize
오른쪽(randomized 된 layer가 많을 수록) 아무 의미가 없는 해석이 나와야하지만, 크게 설명이 바뀌지 않는 경우가 있음
즉 분류기의 예측과 관련없이 edge detector로 작용하고 있음을 확인
adversarial attack
입력 이미지 pixel을 아주 조금만 바꾸되, 생성된 설명을 아주 다르게 바꿔버릴 수 있다
(deep learning model의 적대적 공격 : 입력 이미지에 약간의 변형을 가하게 되면 분류기의 예측 결과를 완전히 다르게 만들 수 있다)
많은 설명 방법들이 gradient와 연관된 값들을 사용하는데, decision boundary가 불연속적으로 나온다면 gradient의 방향이 급격하게 바뀌어 입력이 조금만 바뀌어도 gradient가 크게 바뀜
--> relu 대신 softplus라는 activation function을 사용

적대적 공격은 입력을 바꾸는 것을 통해서만 가능한 것이 아니라
model manipulation을 통해서도 가능함
XAI 기법으로 모델 편향도 알 수 있는데, 이때 모델을 재학습 시키는 것이 아니라 계수를 조금만 바꿔서 설명만 바꿔버릴 수 있음

XAI는 명확한 수학적 정의를 내릴 수 없어서 여러가지 방향에서 다양하게 연구되고 있음!

0개의 댓글