본문 바로가기
공부/Deep Learning

[Papers Review] ArcFace: Additive Angular Margin Loss for Deep Face Recognition

by 수제햄버거 2020. 10. 11.
728x90
반응형

논문 : ArcFace: Additive Angular Margin Loss for Deep Face Recognition(2019) , CVPR

URL : https://arxiv.org/abs/1801.07698

 

ArcFace: Additive Angular Margin Loss for Deep Face Recognition

One of the main challenges in feature learning using Deep Convolutional Neural Networks (DCNNs) for large-scale face recognition is the design of appropriate loss functions that enhance discriminative power. Centre loss penalises the distance between the d

arxiv.org

[Summary] Main Points of This Paper

  • Margin-loss 도입함으로써 기존에 사용되던 Loss들의 한계점을 극복하였다.
    핵심적인 내용은 여러가지 Normalization을 통해서 거리의 정보를 버리고(모두 다 1인 공간안으로 들어오니까) 오로지 Angular 정보를 사용하여(그래서 논문제목이 Angular Margin인듯 하다!) 거리까지 추정(각도가 벌어지면 거리가 멀다고 판단하기때문에) 하여 사용한 것이다. 이를 통해 고차원적인 정보를 더욱 간결하게 표현하고 직관적으로 해석할 수 있게 되었다.
    • Softmax-Loss
      1. WR^(d×n) 크기가 identity 개수 n 따라서 선형적으로 증가
      2. Closed-set 데이터의 classification problem에서의 학습된 특징은 분리 가능하지만, open-set 에서는 충분히 discriminative 하지 못함
    • Triplet-loss
      1. 대규모의 데이터 셋에서 combinatorial explosion 존재
        * triplet loss 계산하기 위해서 기준점 anchor, 같은 anchor 가진 identity (positive), 다른 anchor 가진 identity(negative) triplet 쌍을 뽑아야하기 때문에 데이터가 많은 경우 해당 triplet 쌍의 갯수가 폭발적으로 많아질 있다.
      2. Semi-hard sample mining
        * triplet 같은 경우 어떻게 sampling 하는지가 성능에 차이를 보이기 때문에 매우 중요한데 이를 결정하는 것은 매우 어렵다.
    • 기존에 주로 사용되던 Loss softmax-loss triplet-loss
      • softmax-loss는 데이터의 다양성에 약점이 있고,
      • triplet-loss 는 데이터의 양에 따라 시간이 너무 많이 걸릴 수도 있다.
    • 여러가지 Loss

  • Flow of ArcFace

    1. Feature x_i weight W normalization 한다.
    2. 둘을 내적(dot production)하여 cos(theta_j) (logit*) 얻는다.
      • cos 값이 크다는 것은 classs 중심과 각도가 작다(거리가 가깝다)
    3. 해당 feature 속한 class y_i 중심과 feature x_i 각도인 theta_yi m(margin) 추가해준다. (이는 실제로 class 속할 가능성에 비해 낮게 계산되도록 해준다.)
    4. s(re-scale factor) 진행 하고 이값을 기준으로 softmax 취해준뒤 cross-entropy loss 계산해준다.
      • Re-scale factor 논문에서 중요하게 언급되지 않았지만 실제로 구현에 있어서 역할을 한다. s 하는 역할은 여러가지 class 대해서 되는 class 증폭시켜서 추후 학습에 좋은 영향을 끼지는 역할을 한다.

 

 

[Strengths] Clearly explain why these aspects of the paper are valuable.

  • Engaging
    • Hypersphere 내에서 반지름이 같으므로 호는 각도의 영향만 받고 따라서 geodesic distance margin 직접 최적화 한다. 이는 angle statistics 통해 512-D 공간내에서의 어떤 일이 일어나는지 직관적으로 파악이 가능하다.
  • Effective
    • SOTA 성능을 보여준다.
  • Easy
    • 몇줄의 코드를 추가함으로써 기존 연구에서 develop 가능했다. 또한 안정적인 성능을 위해 다른 loss 결합하지 않으므로 convergence 또한 쉽다.
  • Efficient
    • Training 동안 무시가능할 정도의 복잡도만 추가된다.

 

[Weaknesses] Clearly explain why these aspects of the paper are weak.

  • 해당 논문은 매우 Seminar 스러운 논문이기 때문에 아직 약점을 찾겠습니다. 다만 저자가 논문 뒷부분에 서술한것과 같이 매우 많은 id 보유하고 있는 데이터에 대해선 엄청난 계산량이 필요하다는 부분이(아직은 동작할 없을 정도로) 약점인듯 합니다.

 

[Why Accepted?]

  • 강점에서 보여지듯 기존의 문제를 아주 간단한 insight 통해(벡터들간의 각도가 벌어진다면 거리가 멀어진다는 점을 참고) 해결했다는 점에서 Deep Face Recognition 분야에 기여를 했다고 생각한다.

 

[Appendix]

  • Closed Set vs Open Set

  • Logit
    NN에서 classification 위해 사영되는 마지막 layer 의미하고, 실수 형태의 raw predition value 값을 뽑아낸 결과를 의미
  • Geodesic distance
    점을 잇는 최단거리 ( 직선거리를 의미하는듯?)

 

[Reference]

반응형