Preliminaries

  1. IID(Independent and identical distributed) : 인공지능 알고리즘들은 IID로 소스/타깃 데이터에 대한 주요 가정을 합니다. 이 가정은 주로 2가지입니다 [1].
    • 독립성(Independence): 각 데이터 포인트가 서로 독립적이라는 것을 의미합니다. 즉, x1이 다른 x2에 영향을 미치지 않는 것을 의미합니다.
    • 동일 분포(identically distributed): 모든 데이터가 같은 확률분포에서 추출되었다는 것을 의미합니다.  즉 x1을 뽑든 x2을 뽑든, test data에서 x3을 뽑든 동일분포에서 나왔음을 가정합니다. 따라서, 데이터 셋이 통계적으로 유사한 통계량값을 가진다는 것을 의미합니다. 
  2. Domain shift: training(source)와 test data (target) 데이터가 다름을 의미하는 문제입니다. 여기서 "domain"이란 "source data"을 의미합니다.  수학에서 배우는 정의역(domain)은 주로 가능한 입력값의 전체를 의미하는 것이라, 머신러닝에서의 domain이랑은 개념이 다소 다릅니다.
    • domain shift은 distribution shift라고도 불립니다. 

 

주요 기술개념 1: Domain adaptation

Domain Adopation(DA): 특정 학습데이터로 학습된 모델이, 다른 분포에서 온 테스트데이터에서 잘 예측하기를 원하는 것입니다. 예를 들어, A라는 고객의 이메일의 스팸필터링이, B라는 고객의  스펨필터링에도 잘 동작하는것을 원하는 시나리오가 대표적입니다. A라는 고객과 B라는 고객이 주로 오는 스팸이 다를 것(non indentical distributed)이기 때문입니다.

일반적인 머신러닝에서는 입력 스페이스가 X, 출력이 Y, 인공지능 모델 h가 X을 잘 학습해서 Y을 예측하기를 바랍니다. 이를 수식으로 표현하면 아래와 같습니다.

  • $h: X \rightarrow Y$ : 인공지능 모델이 입력 X을 학습하여 Y을 출력하게 만듬
  • $S= \{(x_{i},y_{i})\in (X\times Y)\}_{i}^{m}$: S은 학습샘플을 의미합니다. 총 데이터수는 1부터 m까지 m개가 있으며, 각 순서는 i입니다. 각 데이터포인트는 입력과 출력을 튜플로 $ (x_{i},y_{i}) $로 가집니다.

주간 / 야간의 운행 이미지. 주간이미지(source data)로 야간 주행이미지(target data)을 잘 예측해야하는 시나리오. https://paperswithcode.com/task/domain-adaptation

일반적인 지도학습에서는 IID를 가정하기에 모든 i의 데이터포인트 $ (x_{i},y_{i}) $가 하나의 분포에서 왔다고 가정합니다. 즉, $D_{s}$에서 왔다고 생각하는것입니다. Domain Adopation(DA)은 서로 다른 분포지만 어느정도 유사한 분포에서 동작하기를 의미하는 것입니다. 수식으로 표현하면, $D_{S}$에서 학습했던 내용을 $D_{T}$로 트랜스퍼하는 과정을 의미합니다.

Domain adoptation의 상세한 기술들은 문제 상황에 따라서, 3가지 정도로 요약됩니다.

  1. Unsupervised domain adaptation: 소스데이터의 라벨링된 데이터 + 레이블 안된 소스 데이터 + 레이블안된 타깃데이터를 학습
  2. Semi-supervised domain adaptation: 소수의 labeled target 데이터를 학습
  3. Supervised domain adaptation: 모든 데이터가 라벨링 된 경우 

 

supervised domain adapation의 한 예시로는 "Semantic alignment loss"을 이용한 사례입니다. 소스 데이터는 누끼가 잘 따진 이미지 상품 이미지이며, target data은 실제이미지들을 의미합니다. 비전 인코더 $g$을 잘 통과시킨 후, constrative learning으로 유사한 클레스/다른 클레스임을 알려주며, 마지막 분류만 classification loss로 적용한 사례입니다.

https://openaccess.thecvf.com/content_ICCV_2017/papers/Motiian_Unified_Deep_Supervised_ICCV_2017_paper.pdf

 

위와 같은 지도학습은 전체적으로 아래와 같은 스킴처럼 될 것 같습니다. domain 1 (source)의 결정경계를 학습할거지만 domain 2의 의미론적인 임베딩값들은 domain1과 유사하게 맞추는 과정입니다.

https://www.v7labs.com/blog/domain-adaptation-guide#h1

 

주요 기술개념 2: Domain generalization

domain generalization은 그리 연구가 오래된 분야는 아닙니다. 2011년에 본격적(formal)하게 처음 소개가되었습니다[2]. non-IID로 인한 OOD(out of distribution)문제에서  가장쉬운 방법은 일부 target data을 구해서 모델을 target domain에 맞추는 방법입니다. 하지만 현실적으로는 target domain에 대한 데이터를 모두 구할 수 없는게 현실입니다. 구할 수 있는 target data을 구하더라도 아직 안알려진경우도 대부분일 수 있습니다. 

그렇기에 target data을 모르는 경우에도 domain shift 문제를 해결할수 있도록하는 domain generalization 이 연구초점이 주로 되고 있습니다. domain generalization (DG)의 주목적은 한 또는 소수의 연관된 데이터로 모델을 학습시키고, 꽤 이질적인 도메인이더라도 일반화가 잘 되는 모델을 만들고 싶은게 주 목적입니다.

https://www.sciencedirect.com/science/article/abs/pii/S0951832023001035

 

domain generalization 문제의 정의는 아래와 같이 해볼 수 있습니다[3].

  • $S=\{S_{k}=\{(x^{k},y^{(k)})\}\}_{k=1}^{K}$: K개의 소스 도메인이 여러개 있다고 생각해볼 수 있습니다. 예를 들어, 차량인식이라면, 한국차, 일본차, 독일차 정도의 차량별로 소스 도메인이 있다고 K을 정의해볼 수 있습니다.
  • $P_{XY}^{k}$: 각 소스 도메인별로 X, Y가 결합확률로 표현될 수 있습니다. 예를 들어, 한국차 2000cc 중, 흰색 색차량 중에 택시로 많이 이용되는 차량이라는 X라면, Y은 중형차라는 라벨로 확률분포를 예상할 수 있는 것을 의미합니다 .독일은 3000cc, 벤츠의 중대형차가 많겠죠.
  • $f:X\rightarrow y$: 예측모델f은 소스도메인 x만가지고 y을 에측해야하고, 
  • $\mathcal{T}=\{ x ^{\mathcal{T} \}$ 에대해서도 예측이 정확했으면 합니다.
  • $P_{XY}^{\mathcal{T}} \neq P_{XY}^{(k)} $: 문제로 어떤 k이든지 unseend target domain으로부터 관찰된적 없는 경우를 의미합니다.

이 DG도 다시 크게 2부류로 source domain이 몇개인지로 다시 나뉩니다. 

  1. Multi-Source DG: 소스 도메인이 2개 이상인 경우
  2. Single-Source DG: 훈련데이터가 1개인 경우 (매우 homogenous data)

 

Histopathology에서의 적용

조직병리학에서의 domain shift은 주로 1)염색 프로토콜, 2) 스캐너에 따른 domain shift가 발생한다고 생각됩니다. 이 두문제를 해결하는 방법은 크게 3가지로 구분할 수 있습니다.

염색이 다르거나, 스캐너가 달라서 내가 학습했던 source domain과 실제 예측하는 경우가 매우 다른 타깃 도메인을 예측하는 경우 주로 실패하게됩니다(여기서는 single domain source)

domain shift 문제 [4]: https://www.diva-portal.org/smash/get/diva2:1478702/FULLTEXT02.pdf

 

이를 해결하기 위한 방법으로는 3가지를 제시해볼 수 있습니다[4].

  1. 컬러 및 색상강도 증강(Color & Intensity Augmentation): 염색의 색상 차이를 통해 학습을 강화하고, source domain의 범위를 확장할 수 있습니다. 예를 들어, RGB을 HSV 컬러 시스템으로 변환 후에, 색상(Hue), 채도(Saturation), 밝기(Value)를 조절함으로써 사람이 인지하는 색상의 범위 내에서 이미지의 범위를 넓혀 변환하여 작업할 수 있습니다. 이는 domain generalization의 목표와 매우 유사하며, 이는 unseen target domain $D_{mathcal{T}}$의 분포에서도 강건하게 학습될 수 있도록, 훈련때부터 훈련 데이터를 증강하여 domain generalization을 적용하는 것입니다.
  2. 염색 정규화(Stain normalization): 염색의 일관성을 유지하게 염색 스타일을 소스도메인에 맞추는 것을 의미합니다. 염색 정규화는 타깃 도메인이 매우 다를 것이라, 소스도메인에서 참조할만한 이미지(reference image)을 하나 뽑아서, 이 reference image에 모두 target domain을 변환하는 것을 의미합니다. 즉, 소스 도메인에 맞추는 것을 의미합니다. domain adaptation에 가깝습니다. domain adaptation을 일반적으로 target domain을 어느정도 아는 편이지만, stain normalziation은 target domain을 모르더라도 내가 원하는 reference image에 맞추기만 되기에, 약간 차이가 있습니다. 그리고, 훈련 데이터도 reference image에 모두 맞추기 때문에 아래의 그림처럼 source domain의 범위도 좁아집니다.
  3. Cycle-GAN stain normalization: Cycle GAN을 이용하는 경우 image-to-image style transfer가 가능합니다. 그렇기에 아래의 그림처럼 source domain을 아래의 target domain에 맞춰서 진행할 수 있고, source domain의 일부 다양성을 일부러 좁히지 않고 예측합니다. domain adaptation에 가깝고 target domain을 source domain에 맞춰야하기이 이미 이미 분포를 알아야하고 학습해야합니다.

 

 

[1]: https://www.linkedin.com/pulse/statistical-inference-vs-machine-learning-iid-ajit-jaokar-ss88e/

[3] : https://arxiv.org/abs/2103.02503

[4] https://www.diva-portal.org/smash/get/diva2:1478702/FULLTEXT02.pdf

반응형

+ Recent posts