Domain Adaptation 설명 | [논문 리뷰] 도메인 적응 32 개의 베스트 답변

당신은 주제를 찾고 있습니까 “domain adaptation 설명 – [논문 리뷰] 도메인 적응“? 다음 카테고리의 웹사이트 th.taphoamini.com 에서 귀하의 모든 질문에 답변해 드립니다: https://th.taphoamini.com/wiki/. 바로 아래에서 답을 찾을 수 있습니다. 작성자 고려대학교 산업경영공학부 DSBA 연구실 이(가) 작성한 기사에는 조회수 2,963회 및 좋아요 45개 개의 좋아요가 있습니다.

다른 도메인으로 부터 얻은 지식을 새로운 타겟 도메인에 재활용할 수 있는 방법을 domain adaptation이라고 한다. 만약, 솔루션이 두개의 도메인에 평등하게 수행될 수 있다면 그건 domain generalization이라고 한다.

domain adaptation 설명 주제에 대한 동영상 보기

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

d여기에서 [논문 리뷰] 도메인 적응 – domain adaptation 설명 주제에 대한 세부정보를 참조하세요

– Unsupervised Domain Adaptation by Backpropagation (2015) -Yaroslav Ganin
– Adversarial Discriminative Domain Adaptation (2017) – Eric Tzeng

domain adaptation 설명 주제에 대한 자세한 내용은 여기를 참조하세요.

[Study]DA(Domain Adaptation)알아보기 기본편

Domain Shift는 학습 데이터 (Source)와 테스트 데이터 (Target) 의 Distribution의 차이를 의미합니다. 예를 들면 같은 컵을 카메라로 찍었을 때와 …

+ 자세한 내용은 여기를 클릭하십시오

Source: lhw0772.medium.com

Date Published: 2/4/2021

View: 6535

[논문 리뷰] Domain Adversarial Training of Neural Networks

domain adaptation이란 간단히 말해서 위와같이 잡지에서 찍은 것과 같은 SVHN 숫자 dataset에서 training 시킨 네트워크로 전혀 다른 을 갖는 MNIST …

+ 여기에 자세히 보기

Source: jayeon8282.tistory.com

Date Published: 6/7/2022

View: 1215

Deep Supervised Domain Adaptation – Lunit Tech Blog

-divergence에 어떤 영향을 주는지, 예시와 함께 설명드리도록 하겠습니다. 제목 없는 프레젠테이션 (1). 먼저 source domain과 target domain이 다음과 …

+ 여기에 보기

Source: blog.lunit.io

Date Published: 11/7/2022

View: 7176

도메인 적응 이론 논문 훑어보기 – “A theory of learning from …

도메인 적응(Domain Adaptation) … 도메인 적응은 머신러닝 문제에서 위의 예처럼 적용되던 영역(Domain)이 약간 달라졌을 때, 다르지만 관련 있는 새로운 …

+ 더 읽기

Source: hongdoki.github.io

Date Published: 9/2/2021

View: 3027

[paper review] Unsupervised Domain Adaptation by … – 우가우가

Domain Adaptation은 Transfer learning의 일종으로, train data (Source domain)와 test data(Target domain)의 분포가 다르지만, 두 도메인에 같은 …

+ 여기에 더 보기

Source: zooyeonii.tistory.com

Date Published: 3/22/2021

View: 8054

[CV] Test-Time Domain Adaptation의 의미와 간단 정리

우선 Domain Adaptation이란 서로 다른 distribution을 가진 두 도메인에 robust한 모델을 만드는 것을 목적으로 하는 분야이다. 여기서 주로 두 두메인은 source domain과 …

+ 자세한 내용은 여기를 클릭하십시오

Source: daeun-computer-uneasy.tistory.com

Date Published: 2/10/2022

View: 6221

초짜 대학원생의 입장에서 이해하는 Domain-Adversarial …

Domain Adaptation에 GAN을 적용한 이 논문은 사실 GAN의 original paper보다 먼저 봤는데 어쩌다 보니 순서는 거꾸로 설명을 하게 되었습니다 (.

+ 자세한 내용은 여기를 클릭하십시오

Source: jaejunyoo.blogspot.com

Date Published: 5/20/2022

View: 7182

주제와 관련된 이미지 domain adaptation 설명

주제와 관련된 더 많은 사진을 참조하십시오 [논문 리뷰] 도메인 적응. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

[논문 리뷰] 도메인 적응
[논문 리뷰] 도메인 적응

주제에 대한 기사 평가 domain adaptation 설명

  • Author: 고려대학교 산업경영공학부 DSBA 연구실
  • Views: 조회수 2,963회
  • Likes: 좋아요 45개
  • Date Published: 2020. 8. 30.
  • Video Url link: https://www.youtube.com/watch?v=GmqW_v_bXiM

[논문 리뷰] Domain Adaptation

728×90

반응형

Domain Adaptation using Stochastic Neighborhood Embedding _CVPR 2019

Domain Adaptation?

도메인이 다르지만 관련이 있는 새로운 영역(distribution)에 기존 영역의 정보를 적응시키는 것.

본 논문의 목표는 source domain(pretrained)의 정보를 target domain에 적응시켜 성능을 높일 수 있는 확률을 올려 주는 것이다. 사실 source 에 adaptation 되있는 모델은 새로운 source 데이터를 가지고 결과를 도출할 때 원하는 결과를 기대하기 어렵다. 이것은 domain-shift 때문인데, 피처들이 그들의 공간에 변형을 갖게 됨으로써 classifier boundary는 redrawn된다. 다른 도메인으로 부터 얻은 지식을 새로운 타겟 도메인에 재활용할 수 있는 방법을 domain adaptation이라고 한다. 만약, 솔루션이 두개의 도메인에 평등하게 수행될 수 있다면 그건 domain generalization이라고 한다.

Main Contribution

1. domain-agnostic latent space 를 배우기 위해 stochastic neighborhood embeding과 large-margin nearest neighborhood를 이용.

2. 수정된 Hausdorff distance를 이용, min-max formulation을 이용.

3. domain generalization의 demonstration, state-of-the-art 결과 달성.

4. semi-supervised settings 적용.

d-SNE

latent-space 안에서 target domain으로 부터 하나와 source domain으로 부터 하나 사이의 거리를 고려.

formulation은 다음과 같다. target sample과 source sample 사이를 L2 loss fn(유클리안 거리)으로 정의하고 학습을 진행한다.

latent-space에서 Pij는 target sample이 source sample과 같은 label을 가질 확률. 그러므로, 본 논문에서의 목표는 같은 label 끼리의 거리는 최대한 가깝게하고, 다른 label 끼리의 거리는 최대한 멀게 하는 것이 목표이다.

조금 더 이해하기 쉬운 그림으로 보자면 다음과 같다. 각 도메인의 sample을 feature space에서의 거리를 loss function으로 두고 학습을 시킨다. 본 d-sne의 장점으로 label이 잘 되어진 target domain이 없을 때 분류 정확도에 도움을 준다. 또한, Modified-Hausdorff distance을 이용하여 기존 t-sne나 SNE 보다 더 빠른 연산속도를 가지면서 더 명확한 시각화를 제공한다. 또한 어떤 pretrained 된 네트워크를 가져와도 사용할 수 있다는 장점이 있다.

출처 : DMQA / 20200522_d-SNE_.pdf

Domain Adaptation for Medical Image Analysis: A Survey

본 논문은 domain adaptation을 이용해서 medical image에 적용시킨 논문이다. 의료 이미지 분석에 사용되는 병원 마다 사용하는 스캐너에 따라 이미지가 다릅니다. 서로 다른 분포로 인해 발생하는 도메인 이동 문제로 인해 모델링에 어려움을 겪는다. 이에 유망한 해결책으로 domain adaptation 이 있다. 본 논문에서는 기존 방법을 shallow 와 deep model로 나누고, supervised와 semi-supervised, unsupervised 방법으로 나눈다.

Background

Domain Shift

fig1. 4가지 MRI 데이터 셋의 밀도분포 fig2. 4가지 다른 스캐너에서 추출한 brain slice image 와 그에 해당하는 이미지 distribution

위에 fig 1와 2에서 볼 수 있듯이 Normalization을 했을 때 각 기 다른 데이터셋에서 추출한 이미지의 분포에 차이가 있음을 확인할 수 있다. 이렇게 분포가 확연히 다름에도 불구하고 동일한 모델링으로 같은 성능을 기대하긴 힘들다. 이를 위해 domain adaptation과 transfer learning 이 해결책이 될 수 있다. transfer learning 셋팅에는 두 가지 컨셉이 있다, 하나는 “domain” 과 다른 하나는 “task” 이다. transfer learning 의 목표는 Ta 과제에서 학습한 지식을 A라는 도메인의 Ta 에서 B라는 도메인의 Tb로 이전한다. 중요한 것은 domain 과 task 는 transfer learning process를 하는 동안 바뀔 수 있다.

domain adaptation을 위해, source domain 과 target domain 은 같은 학습 task를 공유할 수 있다.

domain adpatation 종류는 다음과 같이 다양하다. 본 논문에서는 domain adaptation 종류에 따라(e.g. 네트워크가 얇은지 딥한지, 라벨이 있다면 supervised인지 semi 인지 unsupervised인지) 적용시킬 수 있다. 자세한 내용은 논문을 참조하시면 좋을 것 같습니다 🙂

[ Reference ]

d-SNE: Domain Adaptation Using Stochastic Neighborhood Embedding :https://openaccess.thecvf.com/content_CVPR_2019/papers/Xu_d-SNE_Domain_Adaptation_Using_Stochastic_Neighborhood_Embedding_CVPR_2019_paper.pdf

Domain Adaptation for Medical Image Analysis: A Survey : https://arxiv.org/abs/2102.09508

728×90

반응형

[논문 리뷰] Domain Adversarial Training of Neural Networks

이번 방학에는 domain adaptation 논문들을 정리하여 리뷰해 보려고 한다. 심심할 때 리눅스 쉘에서 자주 쓴 명령어도 정리해 기록해 보고자 한다.

지금 2020년도 기준으로 이번에 리뷰하는 [Domain Adversarial Training of Neural Networks] 논문은 어찌 보면 상당히 올드하다. 이보다 더 좋은 많은 알고리즘들이 쏟아져 나오고 있지만, 그럼에도 불구하고 Domain Adaptive에 가장 기본적인 성질을 담고 있으며, 이를 수식적으로 잘 설명한 논문이니 Domain Adaptation 카테고리에서 첫 번째로 리뷰해 본다.

먼저 domain adaptation이란 무엇인지 간단히 짚고 넘어가 보자. domain adaptation이란 간단히 말해서 위와같이 잡지에서 찍은 것과 같은 SVHN 숫자 dataset에서 training 시킨 네트워크로 전혀 다른 style을 갖는 MNIST 숫자 dataset을 분류하는 데에 쓰고 싶을 때 두 domain의 간격을 줄여주는 방법이다. 우리는 이렇게 네트워크를 training 할 때 쓰인 dataset을 source dataset, 그 도메인을 source domain이라고 칭한다. 또한 source로 training 시킨 네트워크로 분류하고자 하는 test set을 target dataset이라고 하며, 그 도메인을 target domain이라고 한다.

간단한 문제에서는 source domain 하나, target domain 하나가 주어진다. 더 고차원적인 문제를 생각해 본다면, source에 한가지의 domain이 있는 것뿐만이 아닌 여러 가지의 다양한 domain이 source domain으로 주어질 수 있다. 위 그림처럼 같은 숫자를 담고 있지만 그 숫자의 굵기나 색깔, 배경, 폰트가 다름으로써 다양한 domain의 숫자 dataset이 주어질 수 있다. 우리는 이를 [multi source domain adaptation]이라고 부른다. target domain이 여러 가지인 경우도 마찬가지로 [multi target domain adaptation]이라고 부른다.

이런 domain adaptation은 transfer learning의 일종으로 분류된다. source와 target 데이터셋의 distribution이 다르지만, 두 도메인에 같은 task를 적용할 때 이를 Transductive Transfer Learning이라고 부르며, 이 해결 방식으로 Domain Adaptation이 제시되었다.

그럼 이제 진짜로 논문리뷰를 시작해 보겠다. 2020-07-25 기준으로 본 논문은 2000회에 육박하는 높은 인용수를 보인다.

먼저 DANN(Domain Adversarial Neural Net)의 네트워크 구조를 보고 넘어가자. DANN은 classification에서 class label을 구분하는 task와 source와 target의 domain을 구분하는 두 task를 동시에 진행한다. 네트워크 앞부분은 서로 공유하며, 앞 네트워크에서 뽑은 feature로부터 class label을 구분하는 보라색 네트워크와 input으로 들어온 사진이 source인지 target인지 구분하는 분홍색 네트워크로 구성되어있다. 이때 우리의 목표는 앞의 feature extractor Gf가 최대한 source와 target에 동시에 포함되는, domain의 특성을 지우고 class 분류에만 쓰인 특징을 뽑게 하는 것이다. 이를 위하여 back propogation시 domain label을 구분하는 분홍색 네트워크에서 뽑힌 loss에 -람다를 곱해 feature extractor weight를 업데이트한다. 이렇게 되면

MInimize Training classification error Maximize Training & test domain classification error

두 목적을 동시에 달성할 수 있게 된다.

위와 같은 방식으로 정말 domain간의 거리를 줄일 수 있는가?라는 의문이 들 수 있을 것이다. 위 논문에서는 실제로 줄어든다는 것을 수식적으로 증명한다.

그런데, 두 dataset의 domain 분포 거리를 줄이려면, 두 domain 거리를 측정할 수 있어야 할 것이다. 두 domain 사이의 거리를 측정하는 방식은 Domain Divergence를 측정함으로써 계산할 수 있다.

우리의 목적을 한번 더 말하자면, target domain error를 줄이는 것이다. target domain error는 source domain error + domain divergence로 upper bound를 정할 수 있다. 즉, source domain에서 classify를 잘하고, source domain과 target domain과의 거리가 가깝다면, target error가 작을 것이다.

Ben David는 domain divergence를 위와 같이 정의한다. 여러 domain classifier 이타를 원소로 하는 classifier 집합을 hypothesis class H 라고 정의했을 때, H-divergence란 두 도메인을 잘 구분하는 classifier를 얼마나 담을 수 있는지를 뜻하기에 도메인을 구분하는 능력을 칭한다. 실제로 거리의 개념은 아니지만 두 도메인 사이의 거리와 같은 말이라 생각해도 괜찮다.(말은 통한다)

H divergence는 ‘source domain을 1로 판단할 확률 – target domain을 1로 판단할 확률’이라고 정의되어 있다. 이해를 돕기 위해 간단히 예시를 들어보자면, classifier가 두 도메인을 구분하지 못할 때 위 식은 1/2 -1/2가 되어 0이 되며, 두 도메인을 잘 구분할 때 1-0 또는 0-1이 되어 그 절댓값은 1로 divergence가 커지게 된다.

그 밑에 나온 수식까지 함께 봐보자. 위의 식은 true divergence이며 밑의 식은 이를 정말로 구할 수 있게 modify한 empirical H-divergence이다. 위의 식으로부터 밑의 식을 얻기 위해서는

확률 Pr을 sigma * 1/n 으로 바꿔 계산 가능하게끔 만든다. ‘source domain을 1로 판단할 확률’ = ‘1 – source domain을 0으로 판단할 확률’ 이므로 위의 식의 앞 Pr 부분을 치환해 준다.

이렇게 하면 empirical H-divergence를 구할 수 있다.

empirical H-divergence 식의 이해를 돕기 위해 좀 더 설명하자면, 먼저 I [ ]는 indicator function으로 true면 1을, false면 0을 뱉는다. min term 내부를 보면, domain classifier 이타가 domain을 잘 분리했을 때 1+1이 된다. 근데, 이 이타가 존재하는 공간은 symmetric hypothesis class이므로, 1+1이 존재하면 0+0도 존재하게 된다. (마치 100점 맞는 친구는 0점도 맞을 수 있다는 의미이다) 두 값중 min값이 선택되면 0+0이 선택되게 된다. 만약 domain classifier 이타가 domain을 잘 분리하지 못한다면 1/2+1/2가 된다.

따라서 min term은 잘 분리하면 할수록 0(0+0)에 가까운 숫자가 되고, 잘 구분하지 못할수록 1(1/2+1/2)에 가까워진다. 잘 구분하지 못할수록 숫자가 커지게 되니 이는 마치 loss 값과 같다고 할 수 있다. 그래서 이 min term은 domain classifier의 loss값으로 대체 가능하다.

min term은 domain classifier error인 입실론으로 대체되며, 이때의 H-divergence를 Proxy Distance, Proxy-A-distance(PAD)라고 부른다. 보통 이 domain classifier로 간단한 MLP나 linear SVM을 많이 사용한다.

직관적인 이해를 돕기위해 다시 예시를 들어보자면, domain loss가 작을 때, PAD는 커지게 되며, 이는 source와 target domain 거리가 멀어 구분이 쉽다는 것이다. 반면 domain loss가 클 때 PAD는 작아지게 되며, 이는 source와 target의 distribution이 비슷해 구분이 어렵다는 뜻으로 해석 가능하다.

지금까지의 과정을 되짚고 넘어가보자.

Target error <= source error + H-divergence 이며, H-divergence를 구하기 위해 empirical H-divergence를 구해봤다. 그런데 사실 true H-divergence와 empirical H-divergence는 완전히 동일할 수 없다. H-divergence <= empirical H-divergence + H-complexity true H-divergence의 upper bound가 empirical-H-divergence + H-complexity 로 measure 된다. 즉, 우리가 경험적으로 구한 empirical H-divergence에 그 classifier의 복잡도를 더한 값이 실제 H-divergence의 upper bound가 된다. 이는 overfitting과도 관련이 있는데, classifier가 train dataset에 맞춰 꼬불꼬불한 구분선을 갖게 된다면, 이는 train dataset에 overfitting 되어 valid dataset이나 test dataset에서 좋은 성능을 갖지 못한다. 이때 꼬불꼬불한 classifier는 complexity가 높다고 말할 수 있겠다. 이처럼 우리는 H의 complexity를 구해, 우리가 경험적으로 구한 H divergence가 실제로 잘 작동할 것이라는 것을 입증해야 한다. target error <= source error + empirical H-divergence + constant complexity 를 수식으로 나타내면 위와 같다. 이타*는 domain을 잘 구분하는 classifier로 베타 >= inf(Rs+Rt) 식에 의해 베타는 source, target 모두에서 잘 작동하는 domain classifier 이타가 존재할 때 최소가 된다. 그런 classifier 이타가 H 안에 존재하려면(H는 classifier 이타의 집합이라고 위에 언급하였다!) H의 dimension은 충분히 커야한다. 그러나, complexity term이 존재하기에 H의 dimension은 한없이 커져서만도 안된다.

즉, 잘 구분하는 classifier 이타를 H에 포함할 수 있을 만큼 H의 complexity는 커야하지만(베타 값을 작게 하기 위하여), complexity가 너무 크다면, constant complexity의 값이 커져 결국 target error의 upper bound는 커져버리게 된다. 따라서 충분한 성능을 내는 classifier가 있어야 하나 이 classifier가 너무 복잡해서는 안 되겠다. 그래서 간단한 MLP나 SVM을 주로 쓰나 보다.

주절거리다 보니 본 논문의 핵심 아이디어는 대충 다..? 건들여 본 것 같다. 마지막으로 정리해보자면,

네트워크가 source domain에서 좋은 성능을 낼수록 source-target divergence가 작을수록 H set의 complexity가 적당히 클수록

target domain error를 minimize할 수 있다.

그럼 이만 논문 리뷰를 끝내고, 다음 포스팅부터는 2019-2020년도의 최근 논문 위주로 리뷰해 보도록 하겠다!

Deep Supervised Domain Adaptation

머신 러닝은 영상 처리나 자연어 처리등의 문제를 쉽게 해결하는 강력한 기법이지만, 학습에 충분한 데이터가 존재하는 문제에서만 성능을 낼 수 있다는 단점이 있습니다. 특히, 딥 러닝을 적용하는 경우에는 더 많은 데이터를 필요로 합니다. 일반적인 학습 환경에서 데이터는 input과 label의 쌍으로 이루어져있죠. 모든 문제에서 ImageNet같이 큰 표준 dataset이 존재한다면 좋겠지만, 현실에서는 데이터 부족에 시달리는 경우가 많습니다.

Label이 부족한 경우에는, ImageNet 등에서 pre-trained 된 모델을 베이스로 해서 transfer learning을 시행하는 것이 가장 일반적인 접근법입니다. 그러나 어떤 문제들에서는 transfer learning에 필요한 만큼의 데이터를 구하는 것도 어려울 때가 있습니다. Sample의 label을 얻는 작업은 항상 지루한 data notation 및 refinement 과정을 거쳐야 하고, 심지어 어떤 task들의 경우에는 label이 아예 구할 수 없거나 극소량의 input sample들만 존재하는 경우도 있기 때문이죠.

Domain Adaptation

이쯤되면 머신 러닝으로는 풀 수 없으니 포기해야 되지 않나 싶기도 한데, 머신 러닝 연구자들은 이런 힘든 상황에서도 포기하지 않고 어떻게든 답을 찾는 방식을 제안 하였습니다. Domain adaptation 기법(이하 DA)이 바로 이 때 고려할 수 있는 방법들 중 하나입니다. 예를 들어 target domain에 정답이 아예 없고 입력 영상들만 있다고 가정하면, 일반적인 transfer learning은 아예 적용할 수 없습니다. 그러나 DA는 어떻게든 이전 task에서 배운 지식을 사용해 (정답이 없는) 새로운 상황에서도 맞출 확률을 올려주는 것을 목표로 합니다.

먼저 DA의 기본 notation부터 살펴 보겠습니다. 모든 classifier 는 input space 에서 label space 로 mapping해주는 함수로 정의합니다.

이 때 Source domain 는 random variable 로부터 sampling한 sample 와 들의 set으로 정의합니다.

마찬가지로, target domain 는 random variable 로부터 sampling한 input 및 target sample들을 의미합니다. 이 때, 는 target domain의 input domain, 즉 입력 영상을 의미합니다. 즉,

이 됩니다. 그러면 DA task는 target domain에 대한 risk function 이 최소화되는 classifier 를 찾는 것이 목표입니다.

얼핏 생각하면, 가능할 것 같지 않은 일인데 어떻게 이 값을 최적화할 수 있을까요? 결론부터 이야기하면 target domain 와 source domain 를 최대한 구별 할 수 없게 하는 방식으로 training하면 risk를 낮출 수 있습니다. 이 아이디어를 조금 더 구체화하기 위해서는 두 가지 개념이 필요합니다. 첫 번째는 -divergence이고 두 번째는 Vapnik–Chervonenkis dimension입니다.

H-divergence

먼저 -divergence는 두 domain이 얼마나 다른지를 수치화한 값입니다. 여기서 는 보통 hypothesis라고 하는데요, 여기서는 classifier 들의 집합을 의미합니다. 즉, 입니다. 이 때, -divergence는 다음과 같은 식으로 정의됩니다.

참고로 는 수식의 편의를 위해 binary classifier들의 집합이라고 가정합니다.

식만 보면 어떤 값을 의미하는지 쉽게 눈에 들어오진 않는데요, 차근 차근 설명해 드리도록 하겠습니다. 기본적으로, -divergence는 두 data distribution , 를 변수로 하는 값입니다. 수식의 정의대로라면 만약 어떤 classifier 가 존재해서, 두 domain을 잘 구별할 수 있다면 -divergence는 큰 값을 가지게 되겠죠.

여기서 또 한 가지 중요한 점은 -divergence는 이름과 같이 에도 영향을 받는 값이라는 점입니다. 즉 를 어떻게 지정하느냐에 따라서 같은 domain이라도 -divergence의 값이 달라질 수 있습니다. 실제로 의 값이 -divergence에 어떤 영향을 주는지, 예시와 함께 설명드리도록 하겠습니다.

먼저 source domain과 target domain이 다음과 같이 이루어져 있다고 가정합시다.

이 경우 가 간단한 linear classifier의 set이라고만 가정해도, -divergence의 값을 max로 만들어낼 수 있습니다. 여기서 주의할 점은, 가 고려하는 classfier들은 여기서 실제 label을 어떻게 구별하는지는 고려하지 않는다는 점입니다. 중요한 점은 실제 classification의 성능이 어떻든 간에 안에 저런 일을 할 수 있는 classfier 가 존재하기만 하면 된다는 것입니다.

이제 domain이 좀 더 중앙 쪽으로 움직여서 구별하기 어려운 경우를 가정합시다. 위 그림과 같이 말이죠. 이 경우 linear classifier들의 set인 로는 어떤 classifier를 꺼내더라도 -divergence를 max로 만들어 낼 수 없습니다.

그러나 의 범위를 고차함수로 늘리면 domain을 잘 나눌 수 있는 가 존재하게 됩니다. 즉 의 범위를 더 크게 잡음으로서 -divergence의 값을 키울 수 있습니다.

이제 조금 더 극단적인 경우를 가정합니다. 두 도메인이 거의 일치하는 경우입니다. 이제 polynomal classifier들의 집합 로도 -divergence를 max로 만드는 나눌 수 없게 되었습니다. 그래서 두 domain을 나누기 위해서는 조금 특별한 classifier가 필요합니다.

모든 가능한 를 동원했더니 다음과 같은 classifier로 나눌 수 있었습니다. 즉 가 set of arbitrary classifier일 때는 두 도메인의 차이가 조금이라도 존재하는 이상 항상 를 max로 나눌 수 있습니다.

Vapnik-Chervonenkis dimension

일반적으로 classifier가 위의 그림과 같이 복잡하면 generalization에 좋지 않다고 알려져 있습니다. 그렇다면 가 얼마나 복잡한지를 알려주는 measure가 존재할까요? Vapnik-Chervonenkis dimension(이하 VC dimension)이 이러한 정보를 가르쳐 줍니다. 와 마찬가지로 VC dimension 역시 hypothesis 에 대해서 정의되는데요, 는 어떤 classifier들의 집합 가 정확히 나눌 수 있는 training point의 개수로 정의할 수 있습니다. 여기서는 자세한 수학적 설명은 생략하겠습니다. VC dimension 및 PAC 분석법에 대한 더 자세한 설명은 천상혁님의 블로그에 좋은 글이 있으니 참조하세요.

딥 러닝에서 VC dimension은 기하학적으로 계산이 가능한 값입니다. 여러 가지 이론이 있지만, 제일 기본적으로 VC dimension의 upper bound는 네트워크의 node 및 edge 개수에 비례한다고 생각하시면 됩니다.

Domain adaptation

H-divergence와 VC dimension에 대한 가장 기본적인 개념을 이해하면, domain adaptation의 기본 정리를 볼 차례입니다.

(Ben-David et. al., 2006) Let is a hypothesis class of VC dimension d. With probability over the choice of samples and , for every :

with , and

is the empirical source risk.

이 식의 유도에 대한 자세한 설명은 유재준님이 블로그에 아주 좋은 설명을 해 주셨습니다! 여기서는 이 식이 딥 러닝에서 의미하는 바만 간단히 살펴보도록 하겠습니다.

먼저 VC-dimension d는 network 구조에 dependent한 값이기 때문에 우리가 어떤 network를 사용할 지를 결정한 상태에서, parameter만 training하면 바뀌지 않는다고 가정할 수 있습니다. 따라서 d를 상수항으로 놓고, target domain에서의 risk에 영향을 주는 요인들을 살펴보면,

Source의 risk function Source와 target의 -divergence

먼저 의 값은 H의 범위를 조절함으로써 바꿀 수 있습니다. H를 크게 잡아서 eta*가 포함되도록 한다면 beta의 값을 최소한으로 내릴 수 있겠죠. 그렇다면 H를 엄청 general하게 잡으면 어떤 일이 일어날까요? 앞서 보신 바와 같이 H-divergence(2번)의 값이 커지게 됩니다. 결국 우리가 원하는 target risk는 줄일 수 없죠. 마찬가지로 우리가 training시킨 모델이 source domain에서 잘 작동하지 않아도 target domain에서의 risk는 커지게 됩니다.

결론적으로, domain adaptation을 잘 수행하기 위해서 우리는 적절한 모델을 학습시켜서

Source domain에서 classification 성능이 높고 Source domain과 target domain을 구별하지 못하는

모델을 만들어야 합니다. 여기서 H-divergence를 낮추기 위해서 사용하는 loss를 confusion alignment loss라 부릅니다. domain adaptation의 경우, 딥 러닝이 적용되기 이전부터 많은 방법들이 제안되었는데요, 여기서는 DANN(domain-adversarial training of neural network)를 살펴보겠습니다. GAN에 익숙하시다면 방법은 정말 간단합니다. 이 그림 한 장으로 설명할 수 있습니다.

먼저 위쪽 path는 source domain에 대해서 구별을 잘 되게 해주는 class label입니다. 그리고 아래쪽 path는 domain을 구별할 수 없게 만들어주는 confusion alignment loss입니다. Conofusion alignment loss는 최대한 두 domain을 구별할 수 없어야 하므로, domain label을 사용하여 두 domain을 구별하도록 forward한 후, gradient를 바꿔서 backward 해줍니다.

Supervised domain adaptation

자, 이제 target domain에 label이 있는 경우를 생각해봅시다. 만약에 충분한 sample이 존재해서 transfer learning을 적용할 수 있다면, transfer learning을 시행하면 되지만 그렇지 않은 경우도 있습니다. 이 때, 적용할 수 있는 방법이 supervised domain adaptation입니다.

우리가 갖고 있는 target domain의 label들을 어떻게 사용해야 귀중하게 사용할 수 있을까요? Label들을 잘 활용하면, domain adaptation이 해결해주지 못하는 경우를 해결 할 수 있습니다. 아래 그림을 보시죠.

각 원은 feature space에서의 domain이라고 생각하실 수 있습니다. 주의할 점은 input domain이 아닙니다. input image에서 CNN 등을 사용해 만든 feature vector를 visualization했을 때, 저런 domain으로 나타났다고 생각하시면 됩니다. (Unsupervised) Domain adaptation 기법에서는, target domain의 label이 존재하지 않으므로, 여기서 세 개의 집합만 가지고 있습니다. 위 그림에서는 (Target, pos)와 (Target, neg)가 합쳐서 하나의 원으로 그려야 되겠죠. 하지만 우리가 풀고자 하는 supervised domain adaptation에서는 는 target domain의 label 역시 알고 있기 때문에 4개의 원으로 표현하였습니다.

이제 unsupervised domain adaptation 기법의 알고리즘을 그대로 적용해서 위의 문제를 해결한다고 생각해봅시다. 우리의 목표는 source domain과 target domain 모두에 대해서 잘 작동하는 에서는 알고 있는 원이 3개밖에 없으므로 classification loss와 confusion alignment loss를 독립적으로 최적화할 수 밖에 없습니다. 그러면 classification loss에 의해 움직이는 feature의 성분과 confusion alignment loss에 의해 움직이는 성분을 화살표로 나타내면

와 같이 움직이게 되는 문제가 발생하게 됩니다. 이렇게 되면 classifier가 복잡한 곡선이 되어 generalization이 잘 되지 않는 문제가 발생하겠죠. 따라서 supervised 상황을 해결할 수 있는 어떤 regularizer가 필요하다는 것을 알 수 있죠.

Deep supervised domain adaptation

서론이 길었는데, 이제 제가 소개하고자 하는 논문인 “Unified Deep Supervised Domain Adaptation and Generalization”을 설명할 준비가 끝났습니다. 딥 러닝에서 흔히 classifier는 feature extractor 와 feature를 사용한 classifier 로 분해할 수 있습니다.

이 논문에서 저자는 confusion alignment loss를 domain에 따라 분해해서 두 가지 loss로 만들었습니다. 첫 번째 loss는 semantic alignment loss입니다.

여기서 C는 class 개수를 의미하고, a는 각 class를 의미합니다. DANN에서의 confusion alignment loss와 다른 점은, 각 domain을 구별하지 못하게 하는 일을 같은 class에서만 시행한다는 것입니다. 위의 그림에서 (Source, pos)와 (Target, neg)를 구별하지 못하도록 하는 일은 방해가 될 수 있으니 빼고, (Source, pos)와 (Target, pos) 그리고 (Source, neg)와 (Target, neg)만 구별하지 못하면 된다는 것입니다.

두 번째 loss는 separation loss입니다.

여기서의 K는 feature vector에서 1 – (L2-distance)를 의미합니다. 즉, 다른 class의 경우에는 아예 domain이 더 잘 구별되어버리도록 loss를 주는 것이죠. 이렇게 confusion alignment loss를 바꿈으로써 supervised 상황에서 domain adaptation의 성능을 높일 수 있습니다.

그러면 실제로 어떤 방식으로 저 loss들을 적용할까요? 이 논문에서는 각 source domain sample과 target domain sample을 1:1 비교 하는 방식을 사용했습니다.

각각의 source domain sample과 target domain sample들에 대해서, semantic alignment loss에 해당하는 metric d는

가 되고, separation loss에 해당하는 metric k는

가 됩니다.

Experiments

위 실험에서 저자는 두 가지 데이터셋이서 결과를 증명했는데요, 첫 번째 dataset은 office dataset입니다. 이 데이터셋은 31개의 class와 3개의 domain으로 구성되어 있습니다. Domain에는 Amazon / Webcam / DSLR이 있고, 각각은 Amazon 제품 카탈로그, 웹캠 찰영, DSLR 촬영으로 얻은 사진입니다. 이런 방식으로 총 4,652장의 이미지가 존재합니다.

각 class별로 source domain으로는 (20, 8, 8)장의 사진을 적용하였고, target domain으로는 (3, 3, 3)장의 sample을 사용했습니다. 딥 러닝을 적용하기에는 영상 개수가 너무 작은 것 같지만, 우리는 domain adaptation의 문제를 다루고 있으므로 이런 상황은 흔하게 발생합니다. 네트워크는 VGG-16 network를 사용했으며 ImageNet으로 pre-trained 된 모델을 사용하였습니다.

Office dataset에 대한 실험 결과는 다음과 같습니다.

CCSA가 저자가 제안하는 방식입니다. 논문에서 저자는 Webcam에서 DSLR로 바뀔 때나 DSLR에서 Webcam으로 바뀔 때는 domain이 거의 비슷한데, 나머지 경우에는 domain이 크게 다르기 때문에 CCSA 방식이 효율적이라고 설명합니다.

두 번째 dataset은 MNIST <-> USPS 데이터셋입니다. MNIST 데이터셋은 아마 익숙하실텐데요, USPS 데이터셋도 MNIST 데이터셋과 마찬가지로 손글씨 숫자 데이터셋입니다. 이 상황에서의 domain adaptation 결과는 다음과 같습니다.

여기서 CCSA-1 부터 CCSA-8은 class당 target domain sample의 숫자를 1부터 8까지 늘려가면서 실험했다는 의미입니다. (Training sample이 1개~8개라는 의미입니다!)

Reference

[1] Domain-Adversarial Training of Neural Networks, Ganin et. al., Journal of Machine Learning Research, 2016

[2] Unified Deep Supervised Domain Adaptation and Generalization, Motiian et. al., IEEE International Conference on Computer Vision, 2017

도메인 적응 이론 논문 훑어보기 – “A theory of learning from different domains”

어떤 공장에서는 오랜 기간 제품 A를 생산해왔고, 생산 과정에서 발생한 결함 데이터를 기반으로 결함을 검출하는 분류기를 학습하여 사용하고 있었다. 그런데 시대가 변해 제품 A와는 비슷하지만 조금 다른 제품 B를 생산해야 하는 상황이 발생하였는데, 제품 B는 신제품이다 보니 분류기를 학습하기 위한 데이터가 적어 분류기의 성능이 낮다는 문제가 발생하였다. 만약 분류기가 아니라 사람이라면 제품 A에서 검사하던 경험을 살려서 제품 B와 관련한 적은 경험을 가지고도 높은 정확도의 결함 검사가 가능할 것이다. 우리의 분류기도 이처럼 사용할 수 없을까?

도메인 적응(Domain Adaptation)

도메인 적응은 머신러닝 문제에서 위의 예처럼 적용되던 영역(Domain)이 약간 달라졌을 때, 다르지만 관련 있는 새로운 영역에 기존 영역의 정보를 적응(Adaptation)시켜서 사용하고자 하는 목적을 가지고 있는 연구 분야이다. 영역이라는 것은 해석하기 조금 모호한 용어인데, 구체적으로 데이터의 분포를 생각하면 이해하기 쉽다. 기존에 모델이 동작하던 영역을 소스(source) 도메인이라고 하고, 새로운 영역을 타겟(target) 도메인이라고 한다. 특정 작업이나 영역이 바뀌었을 때 기존의 정보를 잘 전이(Transfer)하여 활용하는 것을 전이 학습(Transfer Learning)라고 하는데 도메인 적응은 전이 학습의 하위 분야이다.

“A theory of learning from diffrent domains”

도메인 적응을 하기 위한 실험적인 방법론들이 많이 연구되고 있다. 수많은 논문들을 접하면서 근본적인 이론을 알고 있다면 획기적인 방법을 찾을 수 있지 않을까 하여 읽었던 논문이 2010년에 발표된 S. Ben-David의 “A theory of learning from different domains”이라는 논문이다. 결론적으로 해당 논문을 통해 실용적인 방법론을 얻지는 못했지만 머신러닝을 공부할 때 PAC learning에 해당하는 내용을 공부하듯이 해당 논문의 내용을 알아둔다면 도메인 적응에 관한 근본적이고 질문에 개념적으로 설명을 하는 데 도움이 될 수 있을 것 같아 정리하고자 해당 논문을 훑어보는 글을 쓰게 되었다.

해당 논문은 도메인 적응을 하게 되면 근본적이라고 생각되는 두 가지 질문에 대한 답을 얻고자 한다. 질문은 아래와 같다.

소스 도메인에서 학습한 분류기는 어떤 조건일 때 타겟 도메인에서도 잘 작동할 것인가? 소스 도메인의 데이터(이하 소스 데이터)와 더불어 타겟 도메인의 데이터(이하 타겟 데이터)가 있을 때 어떻게 이를 이용하면 타겟 도메인에서 분류기의 오류(error)를 낮출 수 있을 것인가?

문제 및 표기법 정의

첫 번째 질문에 대해 대답하기 전에 우리가 풀고자 하는 문제와 표기법에 대해 정의를 하자. 문제의 단순화를 위해 클래스가 두 개인 이진 분류 문제를 가정하면, 입력값 를 받아서 항상 정답만을 출력하는 가상의 함수인 레이블링 함수를 로 표현할 수 있다. 우리의 목표는 레이블링 함수를 를 완벽히 모사하는 함수인 가설(hypothesis) 을 만드는 것이다. 그리고 도메인은 분포(distribution) 와 레이블링 함수로 이루어져 있는데, 소스 도메인은 로 타겟 도메인은 로 표기할 수 있다. 이때 우리가 만든 가설 가 의 분포를 따르는 입력값을 받아서 출력한 결과값과 정답과의 차이를 소스도메인에서의 오류(이하 소스오류)로 정의하는데 이는 아래와 같이 표현할 수 있다.

위 식에서 를 로 바꾸면 이는 타겟 도메인에서의 오류(이하 타겟 오류)가 된다.

첫 번째 질문

정리 1: 타겟 오류에 대한 상계

해당 논문에서는 첫 번째 질문에 대한 대답으로 정리(theorem) 1을 제시한다.

정리 1 가설 에 대해, 여기서 은 두 분포 간의 거리를 나타내는 가장 자연스러운 척도인 다이버전스(divergence)로, 와 하의 모든 측정 가능한 부분 집합들의 집합을 라고 할 때 아래 식과 같다.

정리1의 부등식은 최소화하고자 하는 타겟 오류( )의 최댓값을 소스 오류( )와 두 분포 간의 거리( ), 그리고 두 분포에서의 레이블링 함수의 차이( )로 제한할 수 있음을 알려주고 있다.

즉 우리가 했던 첫번째 질문에 대한 대답으로 어떤 분류기가 소스도메인에서 오 분류율이 낮고, 소스와 타겟 분포 간의 거리가 가깝다면 타겟 도메인에서도 잘 작동한다고 해석할 수 있다. 단, 두 도메인의 레이블링 함수의 차이가 입력 도메인에 상관없이 적어야 한다는 것은 두 도메인에서 모두 잘 동작하는 가상의 정답 분류기가 존재한다는 가정이 있어야 한다는 것을 의미한다.

도메인 적응의 기본적인 개념을 담고 있는 정리 1이 매우 어려운 내용이 아니라, 기본적인 공식들로 증명을 할 수 있다는 사실을 보여주기 위해 증명을 옮겨 써보겠다. 원문의 부록에 있는 증명보다 조금 더 세세하게 서술하였다.

여기서 맨 첫 번째 줄에서 대신 를 더하고 빼주면 대신 와 관계된 부등식을 얻을 수 있는데, 이 두 부등식을 한 번에 표현하면 정리 1과 같이 표현할 수 있다.

정리2: -다이버전스를 이용한 상계

정리 1을 통해서 문제 1에 대한 대답을 개념적으로 얻었지만 실제로 데이터를 주었을 때 소스 도메인에서 학습한 분류기가 타겟 도메인에서 잘 동작하는지 추측하기 위해서는, 유한개의 샘플을 이용해서 우변에 해당하는 실제 타겟 오류의 상계를 구할 수 있어야 한다. 하지만 정리 1에서 등장하는 다이버전스(divergence)는 임의의 분포로부터의 유한개의 샘플을 이용해서 구할수 없음이 알려져 있고, 또한 다이버전스는 지나치게 엄격한 값이라서, 타겟 오류의 범위를 틀리지 않고 제한하려다보니 실제 오류값보다 훨씬 더 큰 값을 상계로 제시한다는 문제점이 있다.

두 가지 문제 해결하기 위해 논문에서는 다이버전스 대신 -다이버전스를 이용한다.

-다이버전스는 L1 다이버전스에서처럼 모든 부분 집합을 확인하는 것이 아니라, 어떤 가설 집합 H에 속하는 가설로 주어지는 h를 기준으로 소스와 타겟 도메인에서 가장 결과가 엇갈리는 경우의 차이를 의미한다. -다이버전스는 가 유한한 VC 차원(VC dimension, 의 복잡도를 표현하는 수치)을 가진다면 유한개의 샘플로 추정할 수(논문의 보조 정리1, 보조 정리 2 참고) 있고, 또한 항상 L1 다이버전스보다 커질 수 없으므로 앞에서 말한 두 가지 문제가 해결된다.

타겟 오류의 상계를 얻기 위해서는 -다이버전스에서 가 특정 형태인 다이버전스를 사용하는데 대칭적인 차이 가설 공간 의 정의는 아래와 같다. 는 에 속하는 어떤 가설들의 XOR 연산( )을 새로운 가설로 하여 정의되는 공간으로 이해할 수 있다.

그리하여 첫 번째 질문에 대해 유한개의 샘플로 추정할 수 있는 상계를 갖춘 답인 정리 2가 나오게 된다. 정리2도 역시 정리1처럼 보조정리들과 몇 가지 부등식을 이용하면 증명할 수 있다. 갑자기 XOR 연산과 관련된 -다이버전스가 왜 나왔는지 의문들었는데, 본 글에서는 생략한 증명 부분을 보면 일반적인 가설 와 이상적인 가설 의 관계를 이용해서 의 상계를 한정하는 과정에서 -다이버전스가 사용되는 것을 볼 수 있다.

정리 2 이 VC 차원 를 가지는 가설 공간이라고 하자. 와 를 각각 와 에서 추출한 크기 의 레이블링이 되지않은 샘플들이라고 할 때, 어떤 와 모든 에 대해 적어도 확률로 다음을 만족한다. 여기서 는 의 VC차원이며, = 이다.

정리2를 통해 정리 1과 유사하게 타겟 오류( )는 소스 오류( ), 유한개의 샘플들을 이용해 구한 경험적인(empirical) 다이버전스( ), 그리고 모델의 복잡도( ), 샘플 크기( ), 소스와 타겟 오류의 합의 최솟값( )을 통해 상계를 정할 수 있다고 해석할 수 있고, 한 번 더 풀이하자면 소스와 타겟 모두 잘 작동하는 분류기가 존재한다는 가정하에서, 소스와 타겟 데이터 분포 사이의 거리가 적을 때, 복잡도가 적은 모델을 통해 학습한, 소스 오류가 낮은 분류기가 타겟도메인에서도 잘 동작할 것이라는 암시를 얻을 수 있다.

두 번째 질문

이제 두 번째 질문에 대한 해답을 찾아보자. 개의 소스 데이터 포인트들을 가지고 있고, 개의 타겟 데이터 포인트들을 가지고 있다고 가정할 때, 이를 둘 다 활용해서 학습한다고 하면 도메인별로 로스를 따로 정의할 수 있고, 최적화시 두 로스의 비중을 어떻게 주느냐에 대한 문제로 두 번째 질문을 해석할 수 있다. 타겟 도메인의 로스에 대한 비중을 로 했을 때 최적화하고자 하는 전체 로스의 값을 식을 통해 표현하면 아래와 같다.

여기서 가 1이 되면 타겟 데이터만을 이용해서 최적화를 진행하는 것이고, 가 0이라면 소스 데이터만을 이용해서 학습한다는 의미이다. 단순히 균일한 비중( )을 주는 것보다 나은 해답을 찾기 위해, 위 로스 함수를 통해 학습한 가설 의 타겟 오류에 대하여 정리1 혹은 정리2와 유사하게 상계를 구하면 원문의 정리3이 되는데 정리3의 상계 값을 최소화하는 를 구하게 되면 아래와 같은 식이 나온다.

이를 해석해보면, 아래와 같은 네 가지 해석이 가능하다.

가 0, 이면 는 0, 가 0이면 는 1이다. 즉 어떤 도메인의 데이터가 존재하지 않으면 데이터가 존재하는 도메인의 데이터만 이용해서 로스 함수를 구성할 수밖에 없다. 라면 는 작아지고, 는 커져서 는 에 가까이 간다. 즉, 소스와 타겟 도메인이 같다고하면, 같은 도메인의 데이터로 생각하고 존재하는 데이터 크기대로 로스 함수의 가중치를 부여하면 된다. , 즉 타겟 데이터가 충분하다면, 소스 데이터를 이용해서 로스 함수를 구성하는 것은 타겟 도메인에서의 성능을 오히려 떨어뜨린다. 타겟데이터가 적을 때도, 소스 데이터가 더 적다면( ) 소스데이터는 무시하는 편이 낫다. 따라서 소스 데이터를 효과적으로 사용할 수 있는 상황은 타겟 데이터가 적고, 소스 데이터가 많은 상황 뿐이다.

결론

해당 논문을 통해 도메인 적응 시나리오에서 타겟 도메인에서의 오류의 상계를 레이블링이 없는 샘플들을 이용해서 구할 수 있음을 확인하였고, 이를 통해 도메인 적응을 할 때 소스 오류를 작게 하고, 소스와 타겟 데이터의 분포의 차이를 작게하면 타겟 오류도 작게 할 수 있을 것이라는 현재 대부분의 도메인 적응 연구들이 취하고 있는 전략을 수식적으로 확인하였다. 또한 타겟 데이터가 일부 있을 때 이를 효과적으로 활용하기 위해서는 소스와 타겟 분포의 차이, 데이터양에 따라 타겟 도메인에서의 로스함수에 대한 비중을 달리하여 주는 것이 좋음을 확인할 수 있었다.

위 내용 이외에 논문에는 해당 이론을 검증하기 위해 글의 긍정과 부정을 분류하는 문제를 대상으로 수행한 실험과 한발 더 나아가서 소스 도메인이 한 개가 아니라 여러 개인 경우에 대한 내용도 있으니, 더 관심 있으신 분들은 논문을 읽어보아도 좋을 것 같다.

[paper review] Unsupervised Domain Adaptation by Backpropagation

Domain Adaptation 이란?

Domain Adaptation은 Transfer learning의 일종으로, train data (Source domain)와 test data(Target domain)의 분포가 다르지만, 두 도메인에 같은 task를 적용할 때 사용되는 방법론이다.

출처 : 위키피디아

Domain Adaptation의 목표는 Source domain과 Target domain 사이의 domain shift를 줄이는 것이다.

Unsupervised Domain Adaptation

이 중에서도 Unsupervised DA는 타겟 도메인의 데이터가 라벨이 전혀 없을 때에도 task를 수행할 수 있다. 이 페이퍼에서 강조하는 특징은 discriminativeness , domain-invariance이다. 각각 구별성과 도메인 불변성이고 이는 다른 도메인의 데이터이지만 label을 잘 구분하며, 도메인의 간격을 줄여 Source와 Target distribution을 비슷하게 만든다는 의미이다.

Model Architecture

출처 : 해당 논문

모델의 가장 큰 특징 :

1) 타겟도메인의 라벨 없이도 학습이 가능함

2) End-to-end learning 이 가능함

3) Backpropagation만 조금 바뀐(Gradient reversal layer 만 추가된) 단순한 구조

feature extractor (초록) : 이미지 데이터의 feature mapping 수행. label predictor (파랑) : 이미지의 label을 잘 구별하도록 학습함. domain classifier (핑크) : 이미지가 Source domain에서 왔는지, Target domain에서 왔는지 구별하도록 학습함.

→ 각각 label predict (f→y) (input data : label이 있는 source domain data)와 domain classify (f→d)(input data : Source domain data(label :0), Target domain data(label :1))는 loss를 줄이는 방향으로 학습을 진행.

Goal : 모델을 Source domain data를 통해 학습시킨 후 테스트 과정에서 Target domain data를 입력했을 때 label을 잘 구분하도록 하는 것. (Source domain 때랑 같은 task 했을 때도 성능을 유지하도록)

학습과정

출처 : zooyeonii

feature extractor의 파라미터 theta_f 는 label은 잘 구분하도록, domain은 잘 구분하지 못하도록 학습되어야 함.

그러므로 encoder에 해당하는 파라미터의 gradient update는 두 개로 나뉜다. Ly/theta_f는 label predictor의 loss에 대한 theta_f 편미분 값이고, Ld/theta_f는 domain classifier의 loss에 대한 theta_f 편미분 값인데, 여기에 -lambda를 곱하는, gradient ascent 형태를 보인다. 이는 encoder parameter f가 domain classifier의 loss가 커지도록 학습함을 의미한다.

lambda는 hyper-parameter로, domain classifier의 비중을 조절하는 역할을 한다.

[CV] Test-Time Domain Adaptation의 의미와 간단 정리

당니이

리뷰를 하다가 Test-Time Domain Adaptation (TTDA) 관련 paper를 보게됐다. 단순 DA 분야는 익숙한 분야이지만, Test-Time Domain Adaptation은 익숙치 않은 용어라 간단히 정리하고 넘어가려고 한다.

# Domain Adaptation

우선 Domain Adaptation이란 서로 다른 distribution을 가진 두 도메인에 robust한 모델을 만드는 것을 목적으로 하는 분야이다. 여기서 주로 두 두메인은 source domain 과 target domain 으로 나뉘며, 서로 다른 데이터셋 분포를 가진다고 가정한다. 만약 source domain에서 학습된 모델을 target domain에 적용하려면 두 도메인은 분포가 다르기 때문에 당연히 문제가 발생할 것인데, 이러한 문제를 주로 “domain shift” 라고 칭한다. 아래 그림처럼 말이다.

따라서 이러한 domain shift를 예방할 수 있는, 조금 더 domain에 robust한 모델을 만드는 것이 Domain Adaptation의 목표라고 할 수 있겠다.

DA 프로세스

현재까지 나온 Domain Adaptation 모델들이 궁금하다면 여기를 참고해보자. Facebook에서 정리한 레포리지토리이며, 계속 새로운 모델이 등장할 때마다 code가 추가되는 유용한 repo이다. (제 블로그 글도 있습니다.. 💖)

# Test-Time Domain Adaptation

그렇다면 Test-Time Domain Adaptation 이란 source domain에서 pretrain된 모델을 target domain에 source domain data 없이 적응(adapt) 시키는 태크닉을 말한다. 한 paper에서는 기존 DA 알고리즘과 다음과 같은 차이점이 있다고 말한다.

출처 : [0]

References

[0] https://arxiv.org/pdf/2203.13591.pdf

[1] https://2bdbest-ds.tistory.com/27

키워드에 대한 정보 domain adaptation 설명

다음은 Bing에서 domain adaptation 설명 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.

이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!

사람들이 주제에 대해 자주 검색하는 키워드 [논문 리뷰] 도메인 적응

  • 동영상
  • 공유
  • 카메라폰
  • 동영상폰
  • 무료
  • 올리기
[논문 #리뷰] #도메인 #적응


YouTube에서 domain adaptation 설명 주제의 다른 동영상 보기

주제에 대한 기사를 시청해 주셔서 감사합니다 [논문 리뷰] 도메인 적응 | domain adaptation 설명, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.

See also  성장판 닫혀 도 키 크는 법 | 성장판 닫혀도 키크는 법 없나요? Part1. 설명편 249 개의 새로운 답변이 업데이트되었습니다.

Leave a Comment