본문으로 바로가기
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

 

 

Self-supervised Domain Adaptation for Computer Vision Tasks

Jiaolong Xu, Liang Xiao, Antonio M. Lopez

arXiv:1907.10915 

 

 

 

self-supervision (Rotation)을 이용하여 Domain Adaptation을 함.

 


 

 

introduction 에서는 active learning, self-labeling 그리고 self-supervised learning에 대한 개념을 설명한다.

active learning, self-labeling는 transfer learning과 domain adaptation에 잘 활용되지만

self-supervised learning (SSL)의 경우에는 transfer learning만 사용하지 adaptation에 대해서는 크게 연구가 되지 않았다.

 

 


 

 

방법은 심플했다.

 

세가지 네트워크를 사용한다. (E, S, P)  

이 때 E는 shared network이다.

E + S는 segmentation(target task)을 하고 source domain sample을 사용한다.

E + P는 pretext task를 하고 target domain image를 사용한다.

 

위의 슈도코드를 보면 대충 이해할 수 있다.

target domain image를  E + P에 통과시키고 loss를 계산한다.

Loss of p gradient를 P, E에 back-propation하고 P만 w를 업데이트한다.

 

다시 src domain image를 E + S에 통과시키고 Seg의 loss를 계산한다.

Loss of seg gradient를 S, E에 back-propation하고 Lp, Lseg로부터 얻은 gradient를 모두 E에 축적시킨다.

그 다음 S, E 모두를 update 한다.

 

결국 E가 src, tar 도메인 이미지 모두를 학습하게되면서 domain invariant feature representation를 배우게 된다고 주장한다.

 

 


 

pretext task의 loss는 읽어보면 된다.

 


 

 

기존 rotation보다 어렵게 하기 위해서 새로운 spatial aware rotation prediction이라는 task를 만들었는데

이미지를 4가지 공간으로 쪼개고 각각 다시 rotation을 진행하는 방식이다.

결과적으로 기존 rotation task보다 더 복잡하고 어려워졌다.

 

 


 

 

segmentation task를 위한 loss도 읽으면 된다.

 

 


 

그들은 feature level에서 domain adaptation이 잘 되는 것은 알게됐지만 predicted sematic labels가 제대로 정렬되지 않았다는 것을 깨달았다.

그리고 이를 해결하기 위해 domain adversarial training을 진행한다.

E의 마지막 layer 뒤에 discriminator를 달아준 것이다.

 

 


 

 

discriminator D는 해당 인풋이 src domain인지 target domain인지를 구분하게 되고

encoder E는 이러한 D를 속이도록 학습이 된다.

 

 


 

 

추가적으로 internal covariate shift를 줄이기 위해서 Batch normalization도 사용한다.

이미 훈련된 네트워크가 있으면 모든 learnable parameter를 고정시키고 target domain image를 인풋으로 넣는다.

이러한 foward propagation동안에 각각의 BN layer에서 평균과 분산을 재계산한다.

 

 

 

 

나머지 실험부분은 다음 글에서 소개하겠다.

2019/12/11 - [AI/논문정리] - Self-supervised Domain Adaptation for Computer Vision Tasks (2)