1. Abstract
이 논문은 intrinsic self-supervision과 extrinsic supervision을 결합한 형태입니다. 이 말이 무슨 의미냐면, instrinsic self-supervision은 해당 도메인의 classification하는 능력을 길러주고, extrinsic sueprvsion은 다른 도메인과의 거리를 줄여주는 역할을 하게 됩니다. 자세한 건 뒤에서 살펴보겠습니다.
2. 구조
이는 모델구조 입니다. 우선 Triplet loss에 대해서 살펴보겠습니다.
Triplet loss에 관한 그림입니다. Anchor는 임의이 feature이고, Positive는 feature가 anchor의 label과 같은 경우입니다. negative는 label이 틀린 경우입니다.
손실함수는 이렇습니다. 식을 보시면 아시다시피, anchor와 positvie의 거리는 가깝게, anchor와 negative의 거리는 멀게 학습을 하게 됩니다. 그림의 (a)는 원래 tirplet loss에서 negative sample을 고르는 방법입니다. (a) 같은 경우에는 이미 margin 보다 멀리 있는 negative가 선택되기 때문에 학습에 효율적이지 않다고 합니다. 그래서 논문 저자는 (c)와 같은 방법을 도입합니다.
최종 Triplet loss는 이렇습니다. 이는 feature encoder가 더 discriminative한 정보를 학습을 할 수 있게 됩니다. 이 부분이 extrinsic supervision입니다. 이 triplet pari들을 뽑기 위해서 메모리를 이용합니다. 메모리에는 feature들을 저장하고, 오래된 feature들은 버리게 됩니다.
하지만 encoder는 학습을 하면서 계속 feature들의 생김새가 달라집니다. 그렇기 때문에 Momentum updated Encoder(MuEncoder)를 도입합니다. 이는 moving average를 통해 업데이트 합니다.
Instrinsic self-supervision에 대해서 알아보겠습니다. jigsaw puzzle의 기법을 들고 왔습니다. 이미지를 9개의 patch로 쪼개고, 이를 적절히 섞어서 순서를 맞추도록 합니다. 논문에서는 30개 조합을 사용했습니다.
최종 손실함수는 다음과 같습니다