Study With Inha

[Data-centric AI - 3편] ICLR 2022, Domino: Discovering Systemaic Errors with Cross-modal Embeddings 논문 리뷰 본문

Computer Vision 시리즈물 연재

[Data-centric AI - 3편] ICLR 2022, Domino: Discovering Systemaic Errors with Cross-modal Embeddings 논문 리뷰

강이나 2024. 3. 14. 19:30

DOMINO: DISCOVERING SYSTEMATIC ERRORS WITH CROSS-MODAL EMBEDDINGS


https://arxiv.org/pdf/2203.14960.pdf

 

1. Introduction

만약 데이터 중 중요한 subset (or slice)가 label되어 있지 않거나 error가 존재한다면, 최종 모델 성능에 영향을 미칠 수 있다.
따라서 underforming slice*를 찾아낸 뒤 이에 적합한 label을 붙여줄 수 있다면,
모델의 robustness 및 trainin dataset을 업데이트 하는 데에도 도움을 줄 수 있다.
(*slice: a group of data examples that share an attribute or characteristic)

 

본 논문에서는 이러한 태스크를 해결하기 위해 Slice Discovery Method (SDM)를 제안한다.
Slice Discovery란 unstructured input data (=이미지, 비디오와 같은 비정형 데이터)에서
model이 잘 맞추지 못하는 semantically meaningful subgroup을 찾아내는 것을 뜻한다.
(즉, 중요한 데이터셋인데 모델이 정답을 맞추지 못하는 subgroup 혹은 slice들을 식별하는 작업을 말한다.)

 

이상적인 SDM은 아래 두 가지 조건을 충족하는 데이터들을 자동으로 식별할 수 있어야 한다.

  1. Slices should contain examples on which the model underperforms, or has a high error rate.
    (= 높은 에러율을 가지고 있거나 성능이 저하되는 이미지들을 지닌 slice여야 함)
  2. Slices should contain examples that are coherent, or align closely with a human-understandable concept.(=여기서 말하는 Slice는 어느정도 일관성이 있는 이미지들을 포함하는 그룹을 지칭하며, 사람이 생각했을 때 의미론적으로 공통점이 있는 하나의 집단이어야 함)

이런 역을을 하는 SDM은 정형화된 정량적 평가(=quantitative evaluation) 프레임워크가 없다는 점
이전에 시행되어 왔던 정성적인 평가(=qualitative evaluation)에 따르면 기존의 SDM 방법 결과를 전문가가 확인해 보았을 때 slice들이 의미론적인 일관성이 없는 경우가 많았다는 점이 한계점으로 지목되어 왔다.

본 논문에서 제안하는 Domino는 일관성 있는 slice들을 식별하기 위해서
cross-modal embedding을 활용한 새로운 SDM 접근법이다.
Cross-modal representation은 input과 관련된 text에서 semantic meaning을 포함하고 있기 때문에,
slice 내의 일관성을 증진시킬 수 있을 뿐만 아니라 slice에 대한 설명도 생성해 낼 수 있다.

 

 


5. Domino

Vison과 Language 간의 cross modality를 활용한 SDM인 Domino는 아래와 같은 과정을 거치게 된다.

  • Embed: 이미지와 텍스트를 같은 embedding sapce에 보내는 과정
  • Slice: Input에 대한 model embedding, 모델 prediction, 그리고 실제 label을 사용해 error-aware할 수 있는 model을 사용하여 cross-modal embedding space에서 성능이 낮은 영역을 찾아 냄. 이를 통해 $\hat{k}$ slicing function을 얻을 수 있게 됨.
  • Describe: 마지막으로 첫 번째 step에서 학습된 text embedding function $g_{text}$를 사용하여 발견된 slice들인 $\hat{k}$에 대한 natural language description을 얻음.

 

(Embed) EMBEDDING INPUTS WITH CROSS-MODAL REPRESENTATIONS

Text pair가 있는 example들에 대해서 text와 image를 같은 latent representation space에 보냄으로써, cross-modal representation learning을 하게 된다.
이 때 이미지 embedding과 텍스트 embedding 간의 거리(=$dist(g_{input}(v_i)$, $g_{text}(t_j))$)는
pair 간의 semantic similarity를 나타낸다고 할 수 있다.
이런 cross-modal learning에서의 semantic knowledge는 일관된 slice를 찾는데에 활용될 수 있다.

본 방법은 pretrained cross-modal embedding function을 사용한다는 점과,
paired input-text 데이터셋은 cross-modal embedding fuction을 학습할 때 쓰일 수 있다는 점을 가정한다.
이런 paired input-text 데이터셋은 custom cross-modal model을 사용해야 할 때만 필요하다.

Domino는 4개의 cross-modal embedding을 사용했다.
(CLIP, ConVIRT, MIMIC-CLIP, 그리고 EEG-CLIP를 사용함)

 

(Slicing) CLUSTERING EMBEDDINGS WITH ERROR-AWARE MIXTURE MODEL

Domino는 입력 데이터를 일관적이고 성능이 낮은 slice $\hat{k}$를 찾아낼 수 있는 function을 찾는 것을 목표로 한다.
이 단계에서 활용하는 Mixture Model은 input embedding, class labels, 그리고 model predictions를 활용한다.
해당 단계에서는 데이터셋은 아래와 같은 과정으로 생성된다고 가정한다.

  1. each example is randomly assigned membership to a single slice according to a categorical distribution $S ∼ Cat(p_S)$ with parameter $p_S$
  2. Given membership in slice j, the embeddings are normally distributed Z|S(j) = 1 ∼ N(µ(j), Σ(j)) with parameters mean µ(j) ∈ Rd and covariance $Σ(j) ∈ S^{d}_{++}$ (the set of symmetric positive definite d × d matrices), the labels vary as a categorical $Y|S(j) = 1 ∼ Cat(p(j))$ with parameter p(j).
  3. the model predictions also vary as a categorical  $\hat{Y}|S^{(j)} = 1 ∼ Cat(\hat{p}^{(j)})$ with parameter $p(j)$. This assumes that the embedding, label, and prediction are all independent conditioned on the slice.

 

(Describe) GENERATING NATURAL LANGUAGE DESCRIPTIONS OF DISCOVERED SLICES

발견한 slice에 대한 공통된 특징에 대해 natural language description을 생성하는 단계다.
이 단계에서는 paired input-text가 있어야 할 필요는 없으며, 아래와 같은 과정을 거치게 된다.

  1. cross-modal function $g_{text}$를 통해 $D_{text}$ 내에 있는 phrase에 대한 $z^{text}_{j}$들을 얻어낸다.
  2. input embedding들의 weighted average를 통해 slice의 prototype embedding을 찾아낼 수 있다.
  3. 또한 각 클래스에 대한 prototype embedding을 구해야 한다.
  4. 그 후 slice의 정보를 distill하기 위해서 slice와 class의 prototype embedding 간의 차를 구해서 가장 공통점이 많은 class를 찾아낼 수 있다.
  5. 마지막으로, slice에 대한 description을 알아내기 위해서 slice prototype embedding과 text embedding 간의 dot product를 계산하여, 가장 높은 값을 내고 있는 phrase를 찾아낸다.
반응형
Comments