【DG】 Survey DG papers 1 - IBN-net and Relative papers

Survey DG papers1: IBN-net과 관련된 14개의 논문들

정확히 과제를 해결하기 위해, 논문들을 읽으면서 고려해야할 사항은 다음과 같다.

  1. Top down 방식으로, DG에 정확하게 알아가자.
  2. 기존 문제점에서, DG 논문들이 해결하려고 하는 것이 무엇인지?
  3. DG의 많은 방법론들.
  4. 그들의 공통점과 차이점
  5. 최근 DG 논문들의 최근 경향, 발전 방향
  6. 최근 DG논문들의 문제점과 약점이 무엇인지?

논문을 정리하면서 고려해야할 사항은 다음과 같다.

  1. 요약은 1논문당 15줄 이상을 넘어가지말자.
  2. 핵심만 파악한다.
  3. 디테일한 요소는 중요하지 않다.

image-20210628170014350



1. IBN-net -ECCV18

  • IN(Instance Normalization)과 BN(Batch Normalization)에 대한 깊은 탐구와 적절한 사용을 한다. (IN, BN 수학수식 참조)
  • Main Issue: the appearance gap
    • 해결방법1: Finetunning -» trivial solution
    • 해결방법2: appearance invariance를 Feauture가 배우도록 유도하기
      • Max pooling, deformable conv -» spatial invariance 일뿐.
      • Appearance invariance == The invariance of arbitrary image styles and virtuality (reality)
  • IBN-Net만의 특장점, 차이점
    1. combining IN (Sample variance에 영향 적음) and BN (recognition 성능 향상)
    2. IN과 BN의 적절한 사용
      image-20210624121019069
  • Contributions
    1. Style Transform의 IN을 사용해서, distorted ImageNet에 대해서 SOTA
    2. 실험을 통한 IN과 BN 분석
      1. IN: visual and appearance invariance BUT> drops useful content information
      2. BN: Feature와 individual samples 간의 차이를 줄여서, 학습 수렴을 가속화. BUT> Appearnce 변화에 약한 CNN 탄생
  • Relative Works
    1. Domain Adapataion 을 위해서 사용하던 기법들 (하지만 이것도 결국 Target Domain에 의지함)
      • MMD(maximum mean discrepancy)
      • CORAL(correlation (covariance) allignment)
      • AdaBN
      • GAN
      • Adversarial Loss
      • Pseudo Label Generation
    2. Domain Generalization 과거 기법들 [아래 논문들 참조]
      • domain agnostic representations 을 학습하거나 모든 domains에 대한 공통점을 학습하려고 노력함
      • 하지만 이 방법들도 Source domain datasets (:= related source domains) 에 많이 의존한다.
    3. IBN 논문에서는 / 앞으로 DG를 위해 내가 생각해야할 포인트
      1. DA처럼 Target에 의존하지 않고, 이전 DG처럼 Sources에 의존하지 않는 Generalization 기법을 찾고자 한다. (DG가 Source에 의존하지 않는 것은 불가능하다. 하지만 최대한 의존하지 않으면서 모델을 학습시키고자 노력한다.)
      2. IN와 같이 appearance invariance 성질을 가진 Layer 를 찾아 모델에 넣었다.
  • Method
    image-20210625112223341

1.1 읽어야할 다음 논문 List

  1. IN을 사용해서 individual contrast를 제거함으로써 Style transfer를 수행하는 논문들
    • (#NO 핵심이 없고 메소드도 명확하지 않고 이해가 안된다) Improved texture networks: Maximizing quality and diversity in feed-forward stylization and texture synthesis. CVPR (2017)
    • (#13) A learned representation for artistic style. ICLR (2017)
    • (#14) Arbitrary style transfer in real-time with adaptive instance normalization. ICCV (2017)
  2. 다양한 Adpatation 기법들
    • (#2) AdaBN: Adaptive Batch Normalization
    • MMD: (#3) Deep Domain Confusion: Maximizing for Domain Invariance, (#4) Learning Transferable Features with Deep Adaptation Networks
    • CORAL: (#5) Deep coral- correlation (covariance) alignment for deep domain adaptation
  3. DG 논문들
    • (#7) Undoing the damage of dataset bias. ECCV (2012)
    • (#8) Domain generalization via invariant feature representation. ICML (2013)
    • (#9) Domain generalization for object recognition with multi-task autoencoders. ICCV (2015)
  4. 참고사항!!
    • feature correlations matrix := covariance matrix := feature dot similarity := a gram matrix
    • Instacne Normalization을 해주고 feature dot similarity matrix == correlations matrix
    • 헷갈리지만, 다 비슷비슷하다. 코드를 보면서 필요한 것을 사용하자.

1.2. DA: AdaBN -arXiv16

image-20210624170117661

  • “Label(Contents) 와 관련된 내용은 Conv/FC의 weight에 저장되어 있고, Domain 에 관련된 내용은 BN에 저장되어 있다는 가설”을 제시한다.
  • 새로운 Domain Dataset에 대해 위 알고리즘 방법을 사용해서 BN mean, standard diviation를 바꿔, 모델 Transfer를 진행한다.
  • 이미 학습된 γ (감마) and β (배타) 에는 이미 Source 의 Style이 남아있으니… mean, standard diviation 이라도!! Target 전체 이미지의 평균, 표준편차값을 이용하여 Target domain에 그나마 적절한 BN을 수행하겠다.
  • (Me: Conv/FC의 weight에 Invariance 성질을 어떻게 넣을까??)

1.3. DA: Maximizing for Domain Invariance -arXiv14

image-20210624173047684

  • Additional domain confusion Loss == domain confusion metric == MMD
  • 이미지 feature 각각의 (1대1 매칭) 거리 비교는 아니고, 데이터셋 전체의 Feature Centroids를 비교해서 domain confusion을 구한다. 이미지 아래 수식 참조.
  • domain confusion 이 최소화 되도록 Model 에 Loss를 준다. 또한 domain confusion 계산값을 이용해 feature를 뽑아야하는 layer와 fc-dimmension을 설정한다.

1.4. DA: MK-MMD -ICML15

image-20210624181611015

Paper: Learning Transferable Features with Deep Adaptation Networks

  • Deep Adaptation Network (DAN)
  • reproducing kernel Hilbert space (RKHS) 개념을 사용해서, 기존의 MMD를 multiple kernel variant of MMD (MK-MMD) 으로 바꿔 사용
  • Feature map 그대로에 대한 Distance를 비교하는 것이 아니라, Feature에 특정한 kernal (다양한 종류의 행렬변환/ 비선형 변환등 모두 가능) 을 적용해 새로운 Feature를 만들고 그것에 대해서 Distance를 비교한다. 이때 Kernel은 PSD kernal을 사용한다고 한다, -» 딥한 수학적 내용이어서 이해는 이정도만 하자.
  • 위의 수학 수식과 개념은 복잡해도, 코드를 확인해보면 별거 없다. Source와 Target Feature에 Gaussian_kernel을 적용하고 두개의 Distance를 비교하는듯 하다. MK-MMD

1.5. UDA: Correlation alignment -ECCV16

image-20210625094104371

  • CORAL Loss 코드 링크 (frustratingly easy domain adaptation - 2009): “각 Domain의 Feature들 사이의 공분산” 차이를 최소화하여, UDA 하고자 한다. 위 이미지에서 [위 파란색 박스 공분산 수식] 보다는 [아래 파란색 박스 공분산 수식]을 보고 코드와 비교해서 이해하도록 하자. 아래 공분산 수식에서 X_k 가 k번째 이미지의 Feature를 의미한다.
  • 주의!!! 이것말고 아래 논문들이 CORAL은 Channel-wise 이다. 이 논문에서는 1 Image 1 vector (N images M dim vector) NxM matrix 를 이용한다.
  • MMD(1.3) 기법과 유사한 방법이지만, MMD에서는 Feature들의 평균을 비교했다면, 이 논문에서는 Feature들의 공분산 을 비교한다. MMD(1.3=DDC)기법보다는 강력하고 MK-MMD(1.4=DAN)기법보다는 심플한 방법이다.
  • (이 이후에, AdaptSeg, ADVENT가 나오면서 Adversarial Learning을 기법을 이용한 Adaptation 기법들이 주를 이루기 시작했다.)

1.6. UDA: by Backpropagation -14

image-20210625104232598

  • gradient reversal layer 가 핵심이다. 기존 Gradient 에 -1 을 곱해서 반대 Gradient를 준다.
  • AdaptSeg와 Advent 같은 Adversarial learning 과 비슷하면서도 다른 방법이다. Network에 혼란을 주겠다는 같은 목적을 가지고 있지만, Adversarial 처럼 직관적이고 정확한 gradient를 주기에는 무리가 있는 고전방법이다.

1.7. DG: Undoing dataset bias -ECCV12

image-20210625131907136

  • SVM과 Visual world 관점에서 Optimization이 이뤄지기 때문에, CNN과는 다른 관점으로 이해할 필요가 있다. (이 방법론을 차라리 CNN weight로 바꿔 생각해보자. 이해가 더 쉽다.)
  • 모델을 통해서 학습하고자 하는 것은 2가지 이다. (1) bias vectors (2) visual world weights(=모든 데이터셋을 위한 Main Model)
  • 핵심: Dataset에 대한 Bias를 인정하고, 한 Dataset에 특화된 모델(w_i)에서 (1) Bias 성질과 (2) General model W_vw 를 분리해내고자 노력한다. 즉 모든 Source domains에 대한 공통 weights 을 학습하고자 노력한다.
  • IBN-net, RobustNet 관점에서 Appearnce invariance 성질을 가진 Feature/Model/Weight를 학습하고자 하는 노력은 동일하다. 하지만 Source datasets에 너무 많이 의존한다는 단점을 가진 과거 기법이다.

1.8. DG: via invariant feature representation -ICML13

image-20210625140507733

  • 이 논문은 (1.4) MK-MMD 에서 Deep Learning 기법이 아닌 고전적인 기법을 사용한 논문이라 이해하면 된다. 또한 MMD는 Source와 Traget을 이용해서 Adaptation 을 수행한다면, 이 논문에서는 Multi-sources 를 사용해서 Multi-Adaptation 모델을 만든다. 이 논문의 저자들은 이것을 Generalization이 이뤄진 것이라 주장한다. 하지만 지금 관점에서는 domain agnostic representations in terms of ONLY Source domains 을 학습한다고 느껴진다.
  • MMD 처럼 어떤 Source Domain의 이미지가 Input으로 들어가든, Output 값의 평균이 비슷하도록 만든다. 즉 적절한 Kernel을 만들어(학습시켜) G가 Zero가 되도록 만든다.
  • Paper key sentences
    1. Domain-Invariant Component Analysis (DICA) extracts invariants
    2. minimizing the dissimilarity across domains
    3. preserving the functional relationship between input and output variables
    4. Using dimension reduction algorithms including kernel principal component analysis (KPCA)

1.9. DG: with multi-task autoencoders -ICCV15

image-20210625151631090

  • 같은 Class, 다른 Domain의 이미지를 Reconstruction하는 Task를 (서로 다른 Domain에 대해서) Multi로 수행하여 Weight가 Domian General하게 만든다
  • 위와 같은 알고리즘으로 만든 W는 Image classification을 위해서 사용된다.
  • Domain Generalization이라고 하지만, Multi-sources를 활용한 Self-supervised Learning 기법이라고 하는게 맞겠다. 저자는 이 아이디어가 domain invariance에 유용한 Backbone을 만들 수 있을거라 주장한다. 하지만 이 아이디어를 Contrastive Learning과 비교한다면, Contrastive Learning 기법으로 만든 Self-sup-weight 만으로도 충분히 Generalization에 도움이 더 될 것 같다.
  • Paper key sentences
    1. Multi-Task Autoencoder (MTAE) provides good generalization performance.
    2. MTAE learns to transform the original image into analogs “in multiple related domains”
    3. jointly learns multiple data-reconstruction tasks

© All rights reserved By Junha Song.