본문 바로가기
AIML 분야/self supervised, Learning Theory 등

(작성중) Circle Loss 논문 읽는 중

by 포숑은 맛있어 2020. 12. 16.
반응형

논문을 읽게된 계기

pair-wise loss가 요즘 핫한것같은데 잘 몰라서 구경. 그런데 이번 cvpr에 이에 대한 unified perspective를 제시한다는 제목을 보고 궁금해서 읽게됨.

 

읽는 목적

- 저 주제에 대한 두루뭉술한 배경지식 습득

- 내 분야에 써먹을 생각 해보기

 

읽는 동시에 쓰는 글이라 의식의 흐름임. 정보전달 목적 X

 

 

이걸 참고하도록 하자.

medium.com/vitrox-publication/understanding-circle-loss-bdaa576312f7 

 

Siamese Net, Triplet Loss, and Circle Loss Explained.

Understanding “Circle Loss: A Unified Perspective of Pair Similarity Optimization” Pap

medium.com

www.youtube.com/watch?v=spDTwrJOVRA

 

여담으로, 이 논문 읽기 전에 SimSiam 논문 간단하게 살펴본 게 이해에 도움이 되는 것 같다.

대략적으로 이해한 바로는, contrastive learning은 두 input이 비슷한지 다른지를 잘 임베딩하도록 representation을 학습하는데 similairty score를 계산하여 비슷하다/아니다 이렇게 둘로 나누는 것 같다.

 

 


Summary

우선, 이 논문은 pair-wise labels(contrastive loss 등)와 class-level labels(softmax cross entropy 등)를 합쳐서 unified formula로 나타낸다.

- within-class similarity s_p : 같은 클래스 내부의 representation은 가까울 것. (값 커야함)

- between-class similarity s_n : 다른 클래스의 representation은 멀어야함. (값 작아야함)

 

그래서 similarity optimization problem은 다들 (sn-sp)를 minimize하는 것으로 풀어왔음.

이 관점에서 보면, 기존에 존재하는 softmax-crossentropy와 triplet loss같은건 모두 저 수식을 optimize한다고 통일시켜서 볼 수 있다.

 

이 논문의 intuition은 똑같이 s_n과 s_p 이렇게 동등하게 처리하면 안된다는 것. optimal한 boundary에서 멀어진다면, 이를 강조해야한다는 것이다. 그림으로 보자.

Fig1. 다른 논문과 이 논문의 intuition 비교

자. 그림에서 보면 (a)의 다른 논문들의 경우, 그림에서 보면 A,B,C 모두 sp, sn에 대해서 보면 같은 gradient값을 가지게 됨. 그러면 T, T' 모두 optimal로 취급됨.

(b) circle loss. 이 논문은 (a_n*s_n)-(a_p*s_p) 이렇게 앞에 scaling하는 파라미터 붙여가지고 둘의 비율을 조정하는 형태. 이를 통해 circle 형태의 boundary가 생긴다는 것임. 이제 T, T'는 달라졌음. 이런식으로 decision boundary가 다르다는걸 보여주는 그림.

아 여기서 말하는 decision boundary는 모델 수렴을 위한 것을 말함. 어떤 상태가 가장 optimal하냐는걸 나타낸거. (그 일반적으로 말하는 feature space상에 클래스 바운더리 말하는 게 아님)

 

 

정리하자면, 이 논문에서는 이러한 관점에서 기존 논문의 문제점을 두가지로 구분하여 지적하고 있음.

 

1. Lack of flexibility for optimization.

다른 방법들은 이러한 flexibility가 부족하다는걸 이 논문에서 지적함. 위에서 말한 것과 동일함. sp, sn을 동일 비율로 봤으니까.

 

2. Ambiguous convergence status

1때문에 발생하는 문제임. 아까 T, T'이 같은 선상에 있기 때문에 어떤 상태가 optimal인지 알 수 없다고 지적하였음.

 

이에 따라 이 논문에서 제시한 circle loss는 아래 세가지 특징을 가짐.

1. unified loss function

2. flexible optimization.

3. define convergence status

 

 

Unified Perspective.

기존 연구를 잘 모르겠긴 하지만, 여기까지 읽으면 떠오르는 질문이 '그러면 다른 논문은 이 관점에서 보면 어떻게 해석할 수 있는데?' 였음.

우선은 similarity metric에 cosine similarity를 생각한다면, s_p는 1, s_n은 0으로 가는 게 가장 optimal함. 각각을 나누어 보자.

 

Learning with class-level labels. (proxy based learning)

이건 일반적으로 알고 있는 softmax cross entropy가 포함되겠다. 논문에서 말하는 관련 연구는 다음과 같음.

L2-Softmax, Large0margin Softmax, Angular Softmax, NormFace, AM Softmax, CosFace, ArcFace.

 

Learning with pair-wise labels. (requires no proxy)

말 그대로. 논문에서 제시한 예제는 다음과 같음.

contrastive loss, triplet loss, angular loss, Lifted-Structure loss, N-pair loss, Histogram loss, Angular loss, Margin based loss, Multi-Similarity loss.

 

자, 이 논문에서는 이렇게 정리함.

single sample x가 feature space 상에서 주어지면, 이 x에 대하여 K within-class similarity score와 L between-class similarity scores가 있다고 하자. 이 각각을 s_i_p (K개), s_j_n (L개).

 

그러면 loss함수를 이렇게 합쳐서 정의할 수 있음. 위에서 말한 K와 L의 가능한 (sn-sp) pair를 모두 적용할 수 있을 것.

감마=scale factor, m=margin

 

Given class-level labels.

 

그리고 classification 문제에서 class 개수를 N으로 정의하고, weight 벡터가 각각 N개가 있다고 하자. 그러면 weight과 x각각을 가지고 cosine similarity score를 구한 것으로 정의하면, within class similarity는 1개, between-class similarity는 N-1개가 나올 것임. 이 각각을 s_n, s_p라고 하는 것.

 

논문에서 예시로 AM-Softmax식을 먼저 보여줬음. 이건 Softmax loss의 variation 중에서 중요한 논문이라고 함. 여기서 Margin=0이면 NormFace라는 논문에서 제시된 것과 같다고함. 그리고 감마=1, cos similarity 대신에 inner product를 적용하면 softmax loss와 같음.

 

Given pair-wise labels.

여기선 positive, negative sample set이 있을 것. positive의 개수= K, negative의 개수=L.

이 셋팅에서는 조금 다르게 negative samples x_n_j가 있다고 하자. 네거티브 샘플 중에서 j번째.

 

암튼 수식은 생략하고 넘어가서 그림을 봤음.

 

좀 안 읽히니 나중에 읽자 이 논문은. 그림이 잘 이해가 안감.

triplet같은 경우에는 수식만 보면 decision boundary가 평면처럼 되어서 optimal한게 애매함. 마치 절벽처럼 생긴다는걸 알겠음.

그리고 circle loss가 거리를 더 강조한다고 하면 먼 거리에서는 그 원형같이 생기는 것 때문에 엄청 차이가 커야하는 안좋은 파라미터 구간에서는 별 차이가 없지만 가까워질수록 움푹하게 드러날거임. 근데 AMSoftmax가 지금 이해 안감. 왜 저렇게 생겼는지를 논문에서 설명 안하고 그냥 triplet이랑 똑같다고 퉁쳐서 설명해서. 근데 그림은 구부러지듯 그려져있고, boundary만 평행선(/평면)에 놓인 것 처럼 그려져있음.

반응형

댓글