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
- W∈R^(d×n) 의 크기가 identity의 개수 n에 따라서 선형적으로 증가
- Closed-set 데이터의 classification problem에서의 학습된 특징은 분리 가능하지만, open-set 에서는 충분히 discriminative 하지 못함
- Triplet-loss
- 대규모의 데이터 셋에서 combinatorial explosion 존재
* triplet loss를 계산하기 위해서 기준점 anchor, 같은 anchor을 가진 identity (positive), 다른 anchor을 가진 identity(negative) 인 triplet 쌍을 뽑아야하기 때문에 데이터가 많은 경우 해당 triplet 쌍의 갯수가 폭발적으로 많아질 수 있다. - Semi-hard sample mining
* triplet 같은 경우 어떻게 sampling 하는지가 성능에 큰 차이를 보이기 때문에 매우 중요한데 이를 결정하는 것은 매우 어렵다.
- 기존에 주로 사용되던 Loss 는 softmax-loss 와 triplet-loss
- softmax-loss는 데이터의 다양성에 약점이 있고,
- triplet-loss 는 데이터의 양에 따라 시간이 너무 많이 걸릴 수도 있다.
- 여러가지 Loss
- Flow of ArcFace
- Feature x_i 와 weight W을 normalization 한다.
- 이 둘을 내적(dot production)하여 cos(theta_j) (logit*)을 얻는다.
- cos 값이 크다는 것은 classs의 중심과 각도가 작다(거리가 가깝다)
- 해당 feature가 속한 class인 y_i의 중심과 feature x_i의 각도인 theta_yi에 m(margin)을 추가해준다. (이는 실제로 class의 속할 가능성에 비해 낮게 계산되도록 해준다.)
- 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]
반응형