논문

하루에도 수만개의 글자를 읽고 있습니다. 하루에도 수백장의 종이를 들춰 읽습니다.
이것은 그 읽기에 대한 일기입니다.

Sub-center ArcFace: Boosting Face Recognition by Large-scale Noisy Web Faces

Problem

  • ArcFace의 목표는 두가지인데, 하나는 각 샘플을 positive 클래스의 center로 밀어 intra-class의 compactness를 높이고 동시에 샘플들을 negative 클래스의 center로부터 멀어지게 하여 inter-class discrepancy를 높이는 것이다.
  • 만약 노이즈 샘플이 있다면 positive 클래스에 제대로 속하지 않게 되어 큰 값의 잘못된 loss가 발생될 것이다.
  • 하지만 노이즈 샘플을 없애는 것은 사람이 직접 작업해야하여 큰 DB를 정제하는 작업은 쉽지 않다.

Essense

  • 모든 샘플을 하나의 positive center에 가깝게 하는 대신, 클래스마다 K개의 sub-center를 구성하고 샘플이 아무 sub-center로만 가까이 가면 되도록 학습고자 하였다.

    • 하나의 dominant sub-cetner로 대부분의 얼굴 들이 모이고, 나머지 non-dominant sub-center로 모인 얼굴들은 어려운 얼굴이거나 노이즈인 얼굴들이 되도록 의도하였다.
    • 그 다음, 약하거나 노이즈에 해당하는 sub-cetner들은 제거하고 사용하여 discriminative power를 높였다.

Detail

  • 각 인물마다 충분히 큰 수의 를 정하고, embedding feature 에서 sub-center로 보내는 가중치 를 이용하여 subclasss-wise한 유사도 점수 를 계산할 수 있다.

  • 이 subclass-wise한 유사도 점수에 max pooling을 적용하여 class-wise한 유사도 점수 을 계산할 수 있다.

  • 이 유사도 점수를 이용하여 ArcFace loss를 적용하였다.

    • 여기서
  • 가 충분히 크다면 모든 학습 데이터에 대해 복잡한 분포를 잡아내는 것이 가능하다.

  • Max pooling을 사용하지 않고 다른 전략을 사용해볼 수 있다. 다음 표에 4가지 전략에 대한 비교를 나타내었다.

    • (1)에서 가장 가까운 intra-class를 선택하는 것은 intra-class contraint를 relax하고 노이즈에 robust하도록 만들어 준다. 가장 가까운 negative class를 선택하는 것 또한 inter-class contraint를 향상시켜 더 복잡한 모양의 분포를 잡아낼 수 있게 해준다. 하지만 close-set 노이즈에는 약한 모습을 보인다.
    • (2)로 학습한 것은 inter-class의 초기화 상태가 orthogonal 한 경우 수렴하지 못할 때가 있고, loss에 inter-class간 비교가 없어 학습이 불안정한 경향을 보인다.
    • (3)과 (4)는 sub-class들이 발전하지 못하고 하나 지점으로 보이게 되어 노이즈에 취약하게 된다.
  • Sub-center ArcFace로 학습하였을 경우, 샘플들을 다음 4가지 중 하나에 속하게 된다. 아래 그림은 MS1MV0 DB에 대하여 K=3를 이용하여 학습한 결과와 K=1를 이용하여 학습한 결과를 예시로 든 것이다.

    • (1) Dominant sub-class에 속하고 그 각도가 작은 clean한 샘플 (57.24%)
    • (2) Dominant sub-class에 속하지만 그 각도가 큰 노이즈 샘플 (12.40%)
    • (3) Non-dominant sub-class에 속하는 어렵지만 clean한 샘플 (4.28%)
    • (4) Non-dominant sub-class에 속하는 노이즈 샘플 (26.08%)
    • (d)는 non-dominant sub-class속하는 샘플이 dominant sub-center와의 각도를 보인 것이다. (a)와 (d)를 고려했을 때, angle threshold를 70 ~ 80도 사이로 정하면 대부분의 노이즈 샘플을 drop할 수 있는 것을 알 수 있다.
  • 이러한 통계로부터 intra-class compactness를 얻는 학습법을 제안한다.

    • 먼저 네트워크를 충분히 학습한 후 non-dominant sub-center를 drop한다. 동시에 노이즈 데이터를 drop할 수 있는 threshold 또한 얻을 수 있다.
    • 그 다음 정제된 데이터를 이용하여 모델을 스크래치부터 다시 학습시킨다.

Add a Comment Trackback