Maximum Classifier Discrepancy for Unsupervised Domain Adaptation(2018)

woozins·5일 전
0

Optimal Transport

목록 보기
4/4

Saito et al, Maximum Classifier Discrepancy for Unsupervised Domain Adaptation, CVPR 2018에 대한 간단한 리뷰

기존 DANN을 이용한 Domain adaptation의 문제점

기존 DANN은 Feature Generator GG, 그리고 generated 된 feature가 source / target 중 어느 데이터에서 추출된 것인지를 구별하는 classifier FF를 바탕으로 적대적 학습을 진행한다. 기존의 문제는, 모델 방식이 Source와 Target의 Feature 공간을 맞추는 데에 너무 집중한 나머지, Label boundary를 고려하지 못했다는 데에 있다.

예를 들어, Label classifier 를 Source domain에서 학습을 시키고, adaptation을 통해서 target sample을 source domain에 가깝게 했다. 그렇다고 해서, target sample이 올바르게 분류된다는 보장은 없다.

이러한 문제점을 해결하고자, 본 논문에서는 두 개의 label classifier을 이용한 새로운 방법론을 제시한다.

Proposed Method

두괄식으로, 먼저 제안된 방법론 먼저 제시한 후, 이에대한 직관적 설명과 이론적인 설명을 덧붙이도록 한다.

Discrepancy Loss
논문에서 두 분포 간의 discrepancy는 다음과 같은 식으로 정의한다(L1 distance) 이러한 정의는 후술할 이론적 내용과 연관이 있다. 추가적으로, L2거리를 loss로 정의하면 잘 작동하지 않는다고 한다.(경험적으로)

d(p1,p2)=1Kkp1kp2kd(p_1, p_2) = \frac{1}{K}\sum_k|p_{1k} - p_{2k}|

Step A
우선 Sample domain에 대하여 두 개의 classifier F1,F2F_1, F_2GG를 train 한다.

minG,F1,F2L(Xs,Ys)\min_{G, F_1, F_2} \mathcal{L}(X_s, Y_s)
where L(Xs,Ys)=E(x,y)(Xs,Ys)k1k=yslogp(yxs)\mathcal{L}(X_s, Y_s) = -E_{(x,y) \sim (X_s, Y_s)}\sum_k1_{k = y_s}\log p(y|x_s)

논문의 main idea인 두 개의 classifier을 사용하기 위해서는, 일단 이들이 sample domain에 대해서는 잘 작동해야 한다.

Step B

Feature Generater GG를 고정시키고, F1,F2F_1, F_2의 판별 discrepancy를 최대화 시킨다.

minF1,F2L(Xs,Ys)Ladv(Xt)\min_{F_1, F_2}\mathcal{L}(X_s, Y_s) - \mathcal{L}_{adv}(X_t)
where Ladv(Xt)=ExtXt(d(p1(yxt),p2(yxt))\mathcal{L}_{adv}(X_t) = E_{x_t \sim X_t}(d(p_1(y|x_t),p_2(y|x_t))

위의 그림을 참고하여 이게 무슨 말인지 설명해보면, 두 label을 잘 분류하는 두 label classifier에 대하여, 이들의 target에 대한 분류 discrepancy가 최대가 된다는 것은 F1,F2F_1, F_2의 decision boundary가 sample 데이터의 각 label(0,1)에 해당하는 경계에 가깝게 형성된다는 직관을 이용한 것이다.

Step C

F1,F2F_1, F_2를 고정시키고 GG를 위에서 구한 discrepancy가 최소화되도록 학습시킨다.

minGLadv(Xt)\min_{G}\mathcal{L}_{adv}(X_t)

그렇다면, sample support에서 벗어나서 위치한 target data에 대하여 feature generator는 이들의 분포를 sample support로 이동시키려고 할 것이다.

이후 step B,C를 반복함으로써 model에 대한 update가 지속적으로 이루어진다

Target label에 맞춰 해당하는 classifier의 경계로 이동한다는 보장이 어디있는가?

F1,F2F_1, F_2가 고정되어 있을 때, sample support에서 떨어져있는 target sample xtx_t가 Generator의 update를 통하여 두 경계(F1,F2F_1, F_2) 중 더 가까운 경계로 이동할까?

-> 그럴 것이다. 경계와의 거리와 p(yxt)p(y|x_t)는 밀접한 관련이 있는 개념이기 때문에, 최대한 빨리 discrepancy를 최소화 하기 위해서는 target data가 가장 가까운 경계로 이동해야 할 것이다.

Theoretical Insight

저자들은 다음과 같은 domain adaptation theorem에서 본 방법론의 아이디어를 떠올렸다고 한다.

여기서 H\mathcal{H}를 sample data를 잘 분류하는 classifier들의 집합으로 생각하자.

우리의 모델 하에서, h=F1(G)h = F_1(G), h=F2(G)h' = F_2(G)의 합성함수 형태로 표현이 가능하다.

또한, sample data를 F1,F2F_1, F_2가 잘 분류한다는 가정 하에서, dHΔHd_{\mathcal{H}\Delta\mathcal{H}}
의 첫번째 항은 0에 가깝게 된다.

즉, Theorem 1의 upper bound를 줄이기 위해서는
supF1,F2ExTI(F1(G(x))F2(G(x)))\sup_{F_1, F_2} E_{x\sim\mathcal{T}}I(F_1(G(x)) \neq F_2(G(x)))를 를 minimize 시켜는 target domain을 선택해야 하고, 이는 다음과 같이 표현 할 수 있다.
minGsupF1,F2ExTI(F1(G(x))F2(G(x)))\min_G\sup_{F_1, F_2} E_{x\sim\mathcal{T}}I(F_1(G(x)) \neq F_2(G(x)))

이 식이 우리가 이 논문에서 제시된 방법론과 일맥상통하는 부분이 있음을 알 수 있다.

profile
통계학과 대학원생입니다.

0개의 댓글

관련 채용 정보