Face recognition은 사람의 얼굴을 알아보는, 즉 이 사람이 누구이고 저 사람이 누구인지를 알아내는 태스크이다. 흔한 전략은 얼굴 이미지로부터 CNN을 통해 추출해낸 feature 간의 거리를 가지고 사람의 얼굴을 알아보자는 것인데, 예컨대 feature distance가 특정 treshold 값 이하이면 같은 사람이라고 예측한 것으로 보는 식이다.
이러한 상황에서 feature가 가져야 할 핵심 특성 두 가지가 바로 1) intra-class compactness(동일 인물의 feature들이 최대한 서로 가깝게 위치함)와 2) inter-class separability(서로 다른 인물의 feature들이 서로 멀리 떨어져 있음)이다. 페이퍼가 주장하기로는 최근 face recognition의 많은 연구들이 intra-class compactness를 확보하고자 했지만, 그 동안 inter-class separability에 대한 연구는 활발히 이루어지지 않았다. 따라서 페이퍼에서는 inter-class separability를 확보하기 위한 exclusive regularization method를 제안한다.
막 엄청 관심이 많은 페이퍼는 아니니 새로운 부분인 loss를 위주로 정리한다.
Intra-class Compactness
먼저 intra-class compactness에 대한 최근의 연구 동향에 대해 알아본다. 대표적으로 center loss와 SphereFace 모델에서 제안한 angular softmax loss가 있다.
먼저 center loss는 아주 간단한데, 어떠한 identity를 가진 이미지들의 feature embedding이 그 identity의 center embedding과 가깝도록 L2 loss를 통해 유도한다. 이 때 는 sample 의 identity label을 의미하고, 는 이미지 의 feature embedding, 는 해당 identity의 center embedding을 의미한다.
또 angular softmax loss는 말그대로 softmax loss인데, input 값으로 angle을 사용한다고 볼 수 있다. 즉 통상적인 softmax loss는 아래와 같은데, (여기서 는 dimension의 feature embedding을 class의 사후확률로 mapping하는 행렬이다.)
Angular softmax loss는 와 의 각도를 나타내는 를 이용하여 다음과 같이 구한다.
한편 SphereFace에서는 decision boundary의 margin을 확보하기 위해 다음과 같이 확장판 angular softmax loss를 사용한다!
위와 같은 확장판의 의미를 직관적으로 이해하는 것이 나에게는 꽤 어려운 일이었다. Posterior probability 값에 따른 loss 값의 변화를 생각해보면 이해가 쉬운데, simplicity를 위해 위 식의 부분을 B로, 나머지 부분을 A로 간주하고, cosine 함수는 일단 무시하자. 그러면 loss값의 변화를 나타내는 factor 를 이용해 standard softmax loss와 확장된 softmax loss의 관계를 다음과 같이 표현할 수 있다.
따라서 일 때 이어서 확장판이 standard 버전과 같고, 이라면 B가 커질수록 값이 커짐을 관찰할 수 있다. 이를 softmax와 접목해 생각해보면, 사후 확률(posterior probability) 가 작을수록 (즉 가 커질수록) 값이 커져 그 probability가 과대평가되고, 사후 확률이 클수록 (즉 가 클수록, 가 작을수록) 사후 확률이 과소평가됨으로써 posterior probability가 평준화됨을 알 수 있다. 즉, softmax 값이 고만고만해진다는 소리이다. 따라서 이러한 확장판은 margin을 확보하는 데 도움이 된다. (참고로 사후 확률이라는 용어는 적합하지 않다. Normalization 되지 않은 사후 확률 정도로 생각해 두자.)
Intra-class Separability
거두절미하고, 페이퍼에서는 특정 class $i$의 intra-class separability를 다음과 같이 평가할 수 있다고 주장한다.
말로 설명하자면, class 와 가장 유사한 (각도를 가진) class 와의 유사도이다. 따라서 전체적인 intra-class separability를 고려하면, 이러한 sep의 mean과 variance가 둘 다 낮은 것이 이상적이다. 어쨌거나 위를 이용하여 바로 intra-class separability를 위한 loss를 다음과 같이 계산한다.
최종적인 loss는 위와 같은 intra-class separability loss와 위에서 소개한 inter-class compactness loss 중의 하나를 사용하면 된다. 물론 balance parameter 를 이용하여 두 값을 중재한다. 더 자세한 사항들은 페이퍼를 참고하자!
개인적으로 survey 같은 느낌이 나서 나름대로 흥미롭게 읽은 페이퍼이다.
E.O.D.