Notice
Recent Posts
Recent Comments
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Hello Potato World

[포테이토 스터디] Prototypes and Criticisms 본문

Study🥔/XAI

[포테이토 스터디] Prototypes and Criticisms

Heosuab 2021. 6. 22. 14:15

 

 

⋆ 。 ˚ ☁︎ ˚ 。 ⋆ 。 ˚ ☽ ˚ 。 ⋆ 

[XAI study_ Interpretable Machine Learning]

 

 


 6.3 Prototypes and Criticisms 


  • Prototypes이란, 모든 데이터를 대표하는 data instance
  • Criticisms란, Prototypes의 세트로 잘 표현되지 않는 data instance
    Prototypes와 Critisms은 Data를 설명하기 위해서도 사용되지만, Interpretable model을 만들거나 Black box 모델을 Interpretable하게 만들 때 사용될 수 있다.

 

- Simulated Data Distribution

Prototypes과 criticisms는 항상 데이터 내의 instances중 하나로 선택된다.

(아래 그림에서 마름모가 prototype으로 선택된 instance, 동그라미가 criticism으로 선택된 instance이다.)

 

 

- Data에서 Prototype을 찾는 방법

    1.  K-medoids

K-means와 연관된 클러스터링 알고리즘

  • Prototypes
    Cluster의 centroid를 prototype으로 선택
  • Criticisms
    prototypes만 찾아낼 수 있고, criticisms은 찾지 못함

 

    2. MMD-Critic

전체 Data의 분포와 선택된 Prototypes의 분포를 비교하여 차이를 최소화하는 방법
단일 framework로 prototypes과 criticisms 둘 다 찾아내 줄 수 있음

  • Prototypes
    Prototypes의 분포가 원래 Data의 분포와 가장 비슷할 수 있도록 선택
    다른 Data cluster 내에 있는 경우 Data가 많이 밀집되어 있는 영역의 Data point가 좋은 prototype
  • Criticisms
    선택된 Prototypes가 잘 설명하지 못하는 영역 내의 Data point를 Criticisms로 선택

 

 


6.3.1 MMD-Critic Theory


- MMD-Critic Procedure

  1. 찾고싶은 Prototypes와 Criticisms의 개수 지정
  2. Prototypes를 Greedy Search를 통해 선택. Data의 분포와 Prototypes의 분포가 최대한 가까울 수 있도록 선택
  3. Criticisms를 Greedy Search를 통해 선택.Data의 분포가 Prototypes의 분포와 다른 영역의 Point 선택

 

- MMD-Critic에 필요한 것들

    1. Kernel Function

Kernel : 두 개의 Data Point 사이를 근접성에 따라 가중치를 주는 Function

 

 

    2. Maximum Mean Discrepancy (MMD)

Kernel Function(K)를 사용하여 두 분포간의 차이를 측정

kernel을 통한 두 점 사이의 근접성 계산의 합을 통한 분포 비교

  • MMD-critic의 목표 : Minimizing MMD^2

(z : 선택된 Prototypes, x : 원래 data에 있는 Data Points)

  • 첫번째 Term : 모든 Prototypes 사이의 평균 근접도
  • 세번째 Term : 모든 Data Points 사이의 평균 근접도
  • 두번째 Term : 선택된 Prototypes와 모든 Data Points 사이의 평균 근접도 (최소화를 위해 가장 중요한 Term)

 

 

- MMD^2 측정의 예시

  • 첫번째 그림 : 원래 Data의 분포
  • 나머지 그림 : 다양하게 선택된 Prototypes와 같이 계산된 MMD^2의 측정치
    3번째 그림이 가장 낮은 MMD^2값 보임

(3번째 그림에서 빨간색으로 표시된 Prototypes의 분포가 원래 Data의 분포에 가장 근접한 모습을 볼 수 있음)

 

 

 

- Choice of Kernel(예시. radial basis function kernel):

두 점 사이의 Euclidean 거리와 scaling parameter를 사용하여 근접도 계산

 

 

- Prototype을 찾기 위한 Greedy Search

  1. 빈 prototype list 생성
  2. 각각의 Data를 순서대로 prototype list에 추가해서 MMD^2를 계산한 후에 이 값을 최소화 하는 Prototypes를 m개 선택(m은 지정된 값)
  3. Prototype list 반환

 

 

- Witness Function

특정 point x에서의 두 분포가 얼마나 다른지 측정하는 함수

  • 첫번째 Term : 점 x와 Data들 사이의 평균 근접도
  • 두번째 Term : 점 x와 Prototypes들 사이의 평균 근접도

  • 값이 0에 가까울수록 Data Point x에서의 두 분포는 비슷함
  • Witness 값이 Negative이면 : 두번째 Term이 더 크기 때문에 Prototypes가 필요 이상으로 선택됨(Overfitting)
  • Witness 값이 Positive이면 : 두번째 Term이 더 작기 때문에 Prototypes가 Data의 분포를 나타내기에 부족(Underfitting)

 

 

- 수동으로 선택된 여러 Data Point에서의 Witness Function Value (Evaluation)

 

 

 

 


6.3.2 Example


Handwritten Digit Dataset에 MMD-critic을 적용한 예시 

아래 그림은 Dataset에서 선택된 Prototypes를 시각화한 자료이다.

  • 각 숫자 당 이미지 수가 다름
  • 클래스 당 고정된 개수가 아니라 전체 데이터셋에서 고정된 수의 Prototype이 선택되었기 때문

 

 

 


6.3.3 Advantages


  • (어떤 연구에서) 새로운 이미지 한장을 받아 주어져있던 두 개의 이미지 중 하나의 class로 구분해야 하는 실험에서, Random Image가 아니라 Prototype의 이미지를 받았을 때 더 잘 구분해냈음
  • Prototypes와 Criticism의 개수를 마음대로 설정할 수 있음
  • Data의 분포만을 사용하기 때문에, 어떤 Dataset이나 머신러닝 모델에 적용될 수 있음
  • 알고리즘 구현이 쉬움
  • Criticisms의 선택은 Prototypes의 선택과 무관 (MMD-critic 제외)

 

 


6.3.4 Disadvantages


  • Criticism의 선택은 Prototypes의 선택에 크게 좌지우지함
  • Prototypes와 Criticisms 개수를 직접 설정해줘야 함
  • Kernel의 종류나 Kernel scaling 매개변수를 선택하는 방법이 명확하지 않음

 

 

 

 


References


[1] Interpretable Machine Learning, Christoph Molnar

 

 

 

 

 

 

Comments