1. Abstract
이 논문은 Domain-specific Mask라는 것을 도입합니다. 논문 제목처럼 domain specificity와 invariant를 balance하게 해주는 역할을 합니다. 이러한 것을 Disentangled Representation 라고 한다고 합니다. domain sepecificity는 특정 domain에서 분류를 잘 하도록 하는 것이고, invariant는 어느 domain에서도 feature가 변하지 않는 것을 의미합니다.
이처럼 target domain이 source domain과 비슷한 면도 있기 때문에, 둘의 균형이 중요하다고 합니다. domain specific을 언급하는 논문은 처음봐서 인상깊네요.
2. Method
domain 마다 mask predictor라는 것을 가지고 있습니다. mask를 만들어서 이를 feature 와 곱해줍니다. dropout이랑 비슷하다고 생각하시면 될 것 같습니다. 학습을 하기 위해서 mask predictor는 parameter이고, 이 값에 sigmoid를 해줍니다. 문제는 mask는 binary값이라서 back-propagation을 통해 직접 학습을 하는 것은 불가능합니다. 그래서 근사화를 통해 학습을 한다는데, 잘 이해가 가지 않아 코드를 직접 찾아봤습니다.
super_mask_logits이라고 학습가능한 mask predictor를 만들어 줍니다.
그리고 보시면 soft_mask를 빼고 더하는 것을 볼 수 있습니다. 제 생각으로는 여기서 gradient를 구하는 것 같습니다.
mask는 뉴런들이 source domain의 specific을 유지하는 데에 도움이 됩니다. 그리고 다른 domain들과 mask 위치가 최대한 겹치지 않도록 함으로써 domain-specificity를 좀 더 인센티브를 준다고 합니다.
이 수식을 이용하여 구합니다. 그냥 IoU는 미분이 불가능해서 못 씁니다.
loss 함수는 이렇게 됩니다.
target domain에서 test를 할 때에는 maks predictor의 평균을 이용한다고 합니다.
invaraint는 어디서 조절하는 지 몰랐는데, 논문을 다시 읽어보니까 하나의 feature extractor를 이용하기 때문에 invariant도 학습을 한다고 합니다 ㅎㅎ...
3. Experiment