Source-linked AI summary
A Metric Learning Reality Check
Kevin Musgrave, Serge Belongie, Ser-Nam Lim
TL;DR
Metric learning 논문들은 정확도가 크게 향상되었다고 보고해 왔지만, 비교 과정에서는 실험 방법이 부적절한 경우가 많다. 이 논문은 공정한 평가 프로토콜로 이러한 문제를 바로잡고, 최신 loss function이 고전적 방법보다 얻는 이득은 미미하며 때로는 전혀 없다는 점을 보인다.
문제
Metric learning 연구는 방법들을 공정하지 않게 비교하는 경우가 많고, 정보성이 제한적인 정확도 metric에 의존한다.
방법
이 논문은 공정한 비교와 hyperparameter selection을 위한 class-disjoint cross-validation을 사용하는 수정된 평가 프로토콜을 제안한다.
결과
State-of-the-art loss function은 고전적 방법보다 미미하게 더 나은 성능을 보이며, 때로는 고전적 방법과 대등하다.
시사점 및 한계
Metric learning algorithm은 우수한 구현과 적절한 machine learning 관행으로 평가하면 주장된 만큼 눈부신 발전을 이루지 못했다.
시사점 및 한계
실험이 모든 cutting-edge 논문을 다루지는 않으므로, 해당 방법들은 평가되지 않은 상태로 남는다.
Abstract
from arXiv · showhide
Deep metric learning papers from the past four years have consistently claimed great advances in accuracy, often more than doubling the performance of decade-old methods. In this paper, we take a closer look at the field to see if this is actually true. We find flaws in the experimental methodology of numerous metric learning papers, and show that the actual improvements over time have been marginal at best.
1 Metric Learning 개요
Metric learning은 embedding 또는 classification loss를 사용해 데이터를, 유사한 sample은 가깝고 유사하지 않은 sample은 멀리 떨어지는 embedding space로 매핑한다. Deep metric learning은 deep network로 이러한 아이디어를 확장하며, 이 논문은 방법론적 결함을 바로잡고 hyperparameter를 적절히 조정한 뒤에도 보고된 발전이 유지되는지를 평가하는 데 초점을 둔다.
- Metric Learning의 기초: Metric learning은 embedding 또는 classification loss를 사용해 데이터를, 유사한 sample은 가깝고 유사하지 않은 sample은 멀리 떨어지는 embedding space로 매핑한다.Embedding loss는 batch sample 간 관계를 모델링하는 반면, classification loss는 weight matrix를 통해 embedding을 class logit으로 변환한다.
- Metric Learning의 기초: Test 시점에는 image search와 같은 information-retrieval task에서 embedding이 선호되는데, 출력이 query와의 유사도에 따라 순위화되기 때문이다.명시적인 class label을 사용할 수 없거나 self-supervised pseudo-label이 batch 내부 유사성만 표현하는 경우에도 embedding loss가 적합하다.
- Loss Function: Contrastive loss는 positive pair와 negative pair에 대한 거리 임계값을 강제하는 반면, triplet margin loss는 margin을 사용해 anchor-positive 거리와 anchor-negative 거리를 비교한다.Triplet loss는 이론적으로 공유되는 pairwise 임계값보다 interclass 비유사성의 더 큰 변동을 허용하며, 이후의 방법들은 이러한 pair 및 triplet 기반 아이디어를 확장한다.
- Mining: Mining은 유용한 pair 또는 triplet을 선택하지만, exhaustive mining은 비용이 크고 easy example에 의해 지배되며, 가장 어려운 sample만 선택하면 noisy gradient와 좋지 않은 local optimum이 발생할 수 있다 [20].Offline mining은 batch construction 전에 수행되며, semihard mining이 가능한 해결책으로 제시된다.
- 논문의 범위와 기여: 불공정한 비교, 취약한 metric, test-set feedback을 바로잡은 뒤, 이 논문은 cross-validation으로 hyperparameter를 조정하면 대부분의 방법이 비슷한 성능을 보인다고 보고한다.저자들은 기존 논문에서 제안된 hyperparameter 주변만 좁게 탐색하는 대신 cross-validation과 Bayesian optimization을 사용한다.
2 기존 문헌의 결함
기존 metric learning 비교는 일관되지 않은 실험 설정, 누락된 구현 세부사항, test set에 기반한 model 선택으로 신뢰성이 훼손된다. 또한 보고된 metric은 embedding space 간 중요한 차이를 구분하지 못하며 dataset 구조에 따라 편향될 수 있다.
- 실험 통제: 논문마다 network architecture와 embedding dimensionality를 변경하면 algorithm 개선 효과가 pretrained representation 및 accuracy를 높이는 것으로 알려진 parameter의 효과와 뒤섞인다.Network는 일반적으로 ImageNet으로 pretrained되므로 architecture 선택이 중요하며, embedding dimensionality를 높이면 accuracy가 향상된다.
- 실험 통제: Augmentation, optimizer, learning rate, 그리고 문서화되지 않은 구현 선택은 apples-to-apples 비교를 더욱 어렵게 만든다.2019년 논문의 공식 code는 pretrained ImageNet BatchNorm parameter를 고정했으며, 이로 인해 CUB200에서 2 point 향상이 발생한 것으로 보고되었지만 논문에는 이 세부사항이 누락되어 있었다.
- 통계 보고: 보고된 한 자릿수 초반 수준의 향상은 대부분의 논문이 반복 실행과 confidence interval을 생략하기 때문에 해석하기 어렵다.여러 실행에 대한 결과를 평균하고 confidence interval을 보고하면 이러한 작은 향상을 더 의미 있게 평가할 수 있다.
- 평가 metric: Recall@K, F1, NMI는 의미 있는 embedding 차이를 가릴 수 있다. 서로 다른 분리 정도를 보이는 toy space도 100% Recall@1에 가까워질 수 있으며, F1과 NMI는 이를 대략 동일하게 평가한다.NMI는 또한 class가 많은 dataset을 선호하는 경향이 있다. Adjusted Mutual Information은 이 결함을 제거하지만 여전히 먼저 clustering을 수행해야 한다.
- Data 분할과 model 선택: 많은 논문은 validation split을 생략하기 때문에 test set의 직접적인 피드백을 사용해 model을 선택하고 hyperparameter를 조정하며, 이로 인해 비교 절차가 무효화된다.일부 논문은 미리 정한 iteration 수 이후의 성능을 대신 보고하지만, iteration 선택 기준은 여전히 불분명하고 hyperparameter는 여전히 test 성능에 맞춰 조정된다.
3 제안된 평가 방법
평가 방법은 표준화된 학습, 클래스가 분리된 검증, 반복 실행을 통해 기존 방법론의 문제를 해결한다. Recall@1의 한계를 MAP@R로 보완하고, 테스트 정확도를 보고하기 전에 하이퍼파라미터를 체계적으로 조정한다.
- 실험 설정: 이 방법은 128차원 임베딩, 동결된 BatchNorm 파라미터, 통제된 클래스-이미지 배치 구성을 갖춘 표준화된 BN-Inception trunk를 사용한다.배치는 embedding loss에 C = 8 및 M = 4를 사용하고, classification loss에는 C = 32 및 M = 1을 사용한다.
- 하이퍼파라미터 선택: 하이퍼파라미터는 4-fold 클래스 분리 cross-validation을 사용한 50회의 Bayesian optimization 반복으로 선택하며, 이를 통해 validation 성능을 open-set 정확도의 대리 지표로 삼는다.클래스 분할은 결정적이며, 비교 가능성을 위해 기존 metric-learning 논문과 동일한 설정을 사용한다.
- 테스트 평가: 평가에서는 최적의 validation checkpoint를 선택한 후, 연결한 512차원 임베딩과 서로 다른 128차원 임베딩 네 개에서 계산한 평균 정확도를 모두 보고한다.정확도 계산 전에 테스트 임베딩을 L2 정규화한다.
- 강건성: 무작위 시드 잡음에 대한 민감도를 낮추기 위해 10회의 학습 실행 결과를 신뢰구간과 함께 평균낸다.이 절차는 결과가 random seed 변동에 덜 좌우되도록 하려는 저자들의 목표를 따른다.
4 실험
세 개의 표준 metric-learning dataset에서 2006–2019년에 제안된 방법을 올바르게 구현해 평가한 결과 성능은 비슷했으며, 이는 논문들이 묘사한 눈부신 발전과 상반된다. contrastive loss와 triplet loss에 대한 보고된 향상 폭은 해당 baseline에 극히 낮은 정확도를 부여했기 때문에 크게 과장되었다.
- 실험 설정: 실험에서는 Section 3에 명시된 설정을 사용해 CUB200, Cars196, Stanford Online Products에서 13개 loss와 하나의 loss-plus-miner 조합을 다뤘다.이 널리 사용되는 dataset들은 기존 논문과 비교할 수 있도록 선정되었다.
- 결과: 많은 논문에서 contrastive loss 대비 보고된 향상 폭은 100%를 넘었고 triplet loss 대비로는 50%에 근접했으며, 이는 극히 낮게 산정된 baseline 정확도에서 비롯되었다.이 논문은 여러 연구에서 보고된 결과를 더 강력한 baseline 구현으로 얻은 결과와 비교한다.
- 결과: 수정된 추세는 비교적 평평하다: 2006년부터 2019년까지 제안된 방법은 우수한 구현, 공정한 비교 조건, 적절한 machine-learning 관행 아래에서 비슷한 성능을 보인다.이는 metric-learning algorithm이 눈부신 발전을 이루었다는 주장을 반박한다.
- 함의: 주장된 성능 향상이 존재하지 않는다면, 그 향상을 설명하는 논문들의 피상적인 이론적 설명 역시 타당하지 않다.이 결과는 이러한 실험에서 다루지 않은 최신 논문들의 결론에도 의문을 제기한다.
5 결론
이 논문은 metric learning에서 보고된 진전을 약화시키는 방법론적 결함을 식별하고, 이를 바로잡으면 state-of-the-art loss가 고전적 방법보다 근소하게만 앞서거나 비슷한 성능을 보인다는 사실을 발견한다. 또한 향후 결과가 현실을 더 잘 반영하려면 공정한 비교와 적절한 machine-learning 관행이 필요하다고 주장한다.
- 결론: 문헌에는 network architecture, embedding size, augmentation 방법, optimizer의 변화로 인한 불공정한 비교가 존재한다.이러한 요인들은 metric-learning 방법 간 비교를 교란할 수 있다.
- 결론: 보고된 accuracy metric은 오해를 불러일으킬 수 있으며 embedding space를 완전히 보여주지 못할 수 있다.이 논문은 metric 선택을 metric-learning system 평가의 본질적인 한계로 본다.
- 결론: validation set 없이 학습하면 test set의 피드백이 유입되어 보고된 결과의 신뢰성이 훼손된다.결론에서는 test-set 피드백을 현재 관행의 결함으로 지적한다.
- 결론: 방법론적 문제를 바로잡으면 state-of-the-art loss function은 고전적 방법보다 근소하게만 더 우수하며, 때로는 성능이 비슷하다.이는 시간이 지나면서 accuracy가 극적으로 증가했다고 주장하는 논문들과 대조된다.
- 결론: 향후 연구는 데이터셋–아키텍처 조합별 최적 hyperparameter와 서로 다른 loss가 비슷한 성능을 내는 이유를 연구하는 한편, 공정한 비교 아래에서 accuracy 향상을 추구해야 한다.이 논문은 적절한 machine-learning 관행과 공정한 비교가 향후 결과를 현실에 더 잘 부합하게 만들 것으로 본다.