딥 메트릭 러닝에서의 기능 (및 이유)에 대한 이해
개요
딥 메트릭 러닝 (Deep Metric Learning, DML)은 (이미지) 유사성의 개념을 인코딩하는 모델을 가장 잘 학습할 수 있는 법에 대한 통찰력 제공을 목표로 합니다. 가장 일반적으로, DML 설정은 이미지를 촬영하고 고밀도의 벡터화된 표현을 반환하는 (이는 예컨대, 네트워크가 카테고리 표현을 출력하는 분류와는 다릅니다!) 심층 신경망(Deep Neural Network) 훈련을 포함하고 있습니다. 이상적인 세상에서는 그렇다면 이러한 표현들 사이의 거리는 원래 데이터 공간의 “의미상” 유서상과 직접적인 관련이 있습니다. 예를 들어 보겠습니다. 3개의 이미지를 가지고 있습니다. 이 중 둘은 동일한 차량의 사진을 담고 있지만, 다른 방향으로 회전되어 있으며, 하나는 다른 상표의 차량을 나타냅니다. 그러면 뛰어난 DML 모델은 처음 두 이미지의 표현 간 거리가 이 두 이미지와 세 번째 이미지 간의 거리보다 적도록 각 이미지에 대한 표현(임베딩)을 제공합니다.
이런 모델에 대한 많은 애플리케이션이 있으며, 특히 이미지 검색 애플리케이션으로 단순화되는 이미지 유사성 작업이 있습니다. 쿼리 이미지 하나와 기타 이미지의 대형 데이터베이스를 고려할 때, 어떤 데이터베이스 이미지가 의미적으로 쿼리와 유사한 지 나타냅니다. 이러한 검색 애플리케이션은 제품 추천, 얼굴 재식별 또는 의료 분야에서 특정 세포 유형의 변형 그룹화와 같이 의료 분야에서 중요합니다. 예를 들면 (Yang 등)은 유사성 기반 접근법을 사용하여 현미경으로 유사한 세포 이미지를 수집하여, 의사가 질병을 쉽게 진단할 수 있도록 했습니다. (Yang 등).
이미지 출처 https://github.com/easonyang1996/DML_HistoImgRetrieval
안타깝게도, 연구는 모순으로 인해 어려움을 겪고 있습니다. 즉, 서로 다른 훈련 프로토콜, 아키텍처 및 매개변수를 통해 작성된 논문은 테크닉을 비교하거나 어떤 것이 효과 있으며, 어떤 것이 효과가 없는지를 파악하는 것을 불가능하게 합니다. 이를 해결하기 위해, 저희 논문에서는 다음의 핵심 요소를 도입하고 있습니다.
- 최종 보고 결과에 대한 DML 연구 파이프라인의 변동 요인의 영향력을 정량화했습니다. 여기에는 예를 들면, 다양한 네트워크 아키텍처, 배치 크기(batch size), 데이터 증강(data-augmentation) 또는 가중치 정규화(weight regularization) 사용이 포함됩니다. 또한, 실제로는 누구도 의문 시 하지 않았던 미니 배치의 선택이 훈련 퍼포먼스에 미치는 영향을 처음으로 살펴보았습니다. 이러한 요소들이 정확하게 조정되면, 실제로 제안된 방법(method) 과는 관계없이 퍼포먼스를 향상시킬 수 있음을 알 수 있습니다. 이는 최고 성능(peak-performance) 모델을 원하는지 여부를 아는 것에 좋을 수 있지만, 또한 이는 공정한 비교(fair comparisons)를 깨뜨립니다. 따라서 이러한 변화를 바탕으로, 저희는 서로 다른 방법(methods) 간의 공정한 비교를 가능케 하는 표준화된 훈련 설정을 제안했습니다.
- . 공정하고 표준화된 설정을 사용하여 기준(baseline) 및 최신 방법(methods)을 다루고 있는 15편의 논문에서의 모델을 벤치마킹했습니다. 공정한 비교(fair comparison) 하에서 저희는 최근 몇 년 동안 발표된 방법(methods)의 대부분은 매우 유사하게 작동하며, 이는 DML 연구의 실제 진척 상황에 대하여 의문점을 제시했습니다.
- 유사하긴 하지만, 일부 방법(methods)은 여전히 다른 것보다 성능이 우수합니다. 그 이류를 파악하기 위해, 저희는 일련의 임베딩 공간 매트릭(embedding space metrics)를 조사하여 (암묵적으로) 더 나은 퍼포먼스를 보이는 방법(methods)이 어떤 속성을 최적화하는지에 대해 확인했습니다. 다른 접근법에 대한 퍼포먼스 개선을 설명하기 위해 문헌에서 일반적으로 사용되는 메트릭은 저희가 조사한 다수의 개체에 대하여 평가할 때, 테스트 세트의 퍼포먼스 차이를 제대로 설명하지 못한 다는 것을 알 수 있었습니다. 이 문제를 해결하기 위해, 저희는 테스트 퍼포먼스에 훨씬 강한 관련성을 지닌 두 가지 다른 임베딩 공간 메트릭을 도입했습니다. 4. 이러한 통찰력을 바탕으로, 저희는 일반화(generalization)에 유용한 임베딩 공간 속성(embedding space properties)을 암묵적으로 최적화하기 위해 정규화(regularization)을 제안합니다. 그리고 이것은 일반화 퍼포먼스(generalization performance)를 높이기 위하여 대부분의 DML 방법(methods) 위에 적용될 수 있습니다. 4.Based on these insights, we propose a regularization to implicitly optimize for embedding space properties beneficial for generalization, and which can be applied on top of most DML methods to boost the generalization performance.
- 마지막으로, 이 분야를 처음으로 접하는 분들이 연구를 용이하게 할 수 있도록, 저희는 부록에서 DML에서의 주요 방법(methods), 메트릭 및 접근 방식에 대한 소개와 논문에서 수행된 모든 것에 대한 구현(implementation)을 담고 있는 코드 리포지토리를 제공합니다.
((녹색은 기존 개체의 정규화된 변형(regularized variants)를 나타내며, 오렌지색은 저희의 공정 훈련 및 평가 환경에서 언급된 개체의 퍼포먼스를 나타냅니다. 보시는 바와 같이, 큰 퍼포먼스 정체기가 있으며, 이는 저희가 제안한 정규화(regularization)을 적용해야만 깨뜨릴 수 있습니다)
빠른링크
1. 딥 메트릭 러닝에서 “치팅” 하는 법 이해
참조: 이 섹션의 그림은 CARS196 벤치마크 데이터세트에 대한 결과입니다. 다른 벤치마크의 경우, 논문을 살펴보시기 바랍니다. 논문에서 얻은 식견은 다른 곳에서도 사용하실 수 있습니다.
보고된 퍼포먼스가 활용된 훈련 파이프라인에 얼마나 의존적인지 이해하기 위해, 우선 백본 아키텍처, 임베딩 공간의 차원성(dimensionality), 증강 프로토콜(augmentation protocols) 및 배치 크기와 같은 서로 다른 공통적인 변동 요인이 퍼포먼스 향상에 어떻게 기여하는지에 대해 벤치마크했습니다.
이 그래프는 여러 방법(methods)에 걸쳐 상대적 퍼포먼스 변화를 시각화하였으며, 그림에서 알 수 있듯이 이러한 요인을 조정하는 것만으로도 퍼포먼스 변화가 나타납니다. 의도적인 또는 의도치 않은 경우 모두에서, 공정한 비교(fair comparison)에서 뒤처지는 방법(methods)의 퍼포먼스를 향상시키기 위해 사용될 수 있습니다.
또한, 자주 언급되지 않는 요인인 미니 배치의 구축(construction)도 고려했습니다. 대부분의 DML 방법(methods)은 미니 배치에서 샘플링된 튜플(tuples)에 대한 순위 서로게이트(ranking surrogate)를 활용하므로, 이러한 배치 내에서 샘플의 분포가 어떻게 퍼포먼스에 영향을 미치는지 살펴보는 것도 합리적으로 보입니다
간단히 말해, 단일 클래스로부터의 샘플의 다양성 대신 클래스의 다양성 (따라서 네거티브 샘플)을 향상시키는 점에는 분명한 이점이 있습니다. 이 부분은 문헌에서 흔히 간과되는 부분입니다.
따라서 이러한 요인의 정량화하면 다음 섹션의 공정한 비교(fair comparison)를 보장하는 일관된 훈련 파이프라인을 제공할 수 있습니다.
2. 발표된 방법(methods)이 공정한 비교에서 어떻게 작동하는지 조사하기
DML 모델이 퍼포먼스에서 실제로 얼마나 다른지 조사하기 위해 유사한 훈련 파이프라인에서 최신 기준(baseline) 방법(methods)과 기존의 기준 방법(methods) 모두 훈련시켰습니다.
재현성 및 추가 연구를 위해, 저희는 이러한 실행을 공개했으며, 여기에는 관련된 모든 DML 평가 메트릭에 걸쳐 측정된 퍼포먼스 관련 정보뿐만 아니라 임베딩 공간 메트릭에 대한 값 및 진행에 대한 정보를 포함되어 있습니다. 이 정보는 다음 섹션에서도 사용됩니다.
저희는 평균 최고 퍼포먼스에 주안점을 두었기 때문에, 결과 또한 모든 방법(methods) 및 벤치마크에 대한 표에 요약되어 있습니다.
위에서 확인할 수 있듯이 개선 사항의 대부분은 표준 편차 내에 포착되어 있습니다. 이는 최첨단 퍼포먼스를 주정하는 대부분의 방법(methods) 과는 대조적이며, 대부분의 경우 상당한 차이를 보입니다!
3. 최대 일반화 퍼포먼스를 위해 임베딩 공간이 어떤 모습이어야 하는지 파악하기
그러나, 퍼포먼스에 주목할만한 포화도가 존재하지만, 방법(methods)의 제로-샷(zero-shot) 일반화 퍼포먼스에는 여전히 차이점을 확인할 수 있습니다. 따라서, 저희가 스스로에게 던진 의문점은 왜 몇 가지 방법(methods)는 다른 방법보다 더 뛰어난 퍼포먼스를 발휘하는가입니다. 즉, 더 나은 일반화 퍼포먼스를 촉진하기 위해 어떻게 표현 공간(representation space)를 구성하고 학습하는지 말입니다.
이 부분을 이해하기 위해, 저희는 퍼포먼스 변화 설명에 사용되는 두 가지 공통된 메트릭인 클래스간(inter-class) 및 클래스내(inter-class) 거리(distances)를 살펴보겠습니다.
클래스내 거리(intra-class distance) πintra\pi_\text{intra} 는 임베딩 공간에서 동일 클래스로부터의 샘플이 얼마나 조밀하게 모여있는지를 측정하며, 클래스간 거리(inter-class distance) πinter\pi_\text{inter}는 다른 클래스 무리(cluster)가 얼마나 멀리 떨어져 투영되는 지를 측정합니다. 두 메트릭 모두 퍼포먼스 변화를 증명하는데 공통적으로 사용됩니다.
그러나 실험 메트릭과 실험 데이터에 대한 이러한 메트릭 간의 상관관계를 연구함으로써 알 수 있듯이 (섹션 2에 소개된 W&B 실행을 사용하면, 이러한 실행을 다운로드, 평가 및 시각화할 수 있는 스크립트를 공식 Github 리포지토리에서 이용하실 수 있습니다), 이러한 메트릭의 변화와 다운스트림 제로-샷 실험 퍼포먼스 간에는 일관된 연관성이 없습니다.
따라서, 저희는 더 잘 이해할 수 있도록 두 가지 새로운 메트릭을 소개합니다. 하나는 임베딩 공간 밀도(Embedding space density) πratio로, 이는 클래스내 및 클래스간 거리의 비율로, 훈련 데이터가 사용 가능한 임베딩 공간에 얼마나 균일하고 조밀하게 임베딩되어 있는지를 측정합니다. 두 번째는 스펙트럼 감쇠(spectral decay) ρ(Φ)로, 이것은 본질적으로 특잇값 분해(Singular Value Decomposition, SVD)를 통해 학습된 임베딩 공간의 단일 값 분포를 계산하고 이것을 균일 분포(uniform distribution)와 비교하며, 얼마나 많은 다양한 특징들이 훈련 목표 해결을 위해 사용되는지를 측정하는 것을 목표로 합니다.
두 경우 모두에서 일반화 퍼포먼스와의 훨씬 더 강한 연관성을 알 수 있었으며, 이는 Wang 등의 후속 작업과 일치하며, 자기 지도 표현 학습(self-supervised representation learning)에서의 일반화에 대한 임베딩 공간 균일성과 유사한 이점을 강조하고 있습니다. 특히 스펙트럼 감쇠는 새로운 클래스로의 일반화 퍼포먼스에 대한 가장 믿을 수 있는 예측기(predictor)로 보입니다. 직관적으로, 이것은 특징 다양성이 높을수록 실험 시에 새로운 데이터 및 클래스의 서술자(descriptors)를 가질 기회를 높인다는 사실에 기인한다고 볼 수도 있습니다.
4.간단한 트릭 하나를 통한 DML 방법(method)의 일반화 개선하기
마지막으로, 저희는 스펙트럼 감쇠 ρ(Φ)\rho(\Phi) 및 밀도 πratio\pi_\text{ratio} 개선을 암묵적으로 지향함으로써 DML 방법(methods) 퍼포먼스 향상을 위해 획득한 통찰력을 담아내겠습니다.
이를 위해, rhorho--regularization으로 불리는 순위 기반 DML 개체에 정규화 항(regularization term)을 도입합니다. 이것은 구현(implement)이 매우 쉽습니다. 단순히 훈련 튜플 (xa,xp,xn1,...,xnN)(x_a, x_p, x_{n_1}, ..., x_{n_N})에서 네거티브 샘플 xnix_{n_i} 을 다른 포지티브 샘플로 교환합니다 (동일 클래스의 앵커 샘플(anchor sample) xax_a 와 포지티브 샘플 xpx_p 포함). 이를 통해 클래스가 긴밀하게 임베딩되는 것을 피할 수 있으며 또한 훈련 작업 해결에 반드시 중요한 것은 아니지만, 시험 시 유용할 수 있는 클래스간 특징을 도입할 수 있습니다. 특정 자동차 브랜드와 같은 클래스 내에서 샘플을 분리하는 방법을 이해하면 시험 시 다른 차량을 구별하는데 도움이 되는 특징을 도입할 수 있습니다.
이러한 rhorho--regularization가 실제로 반드시 훈련 작업을 해결하는 데 중요한 것인 아니지만, 시험 시에 유익할 수 있는 특징을 도입한다는 것을 알게 되었습니다.
토이 예시(Toy example)을 우선 살펴보겠습니다:
여기서, 훈련 데이터는 대각선을 따라 포인트 그룹(색상으로 표시)으로 구성되며, 순위 개체(raking objective)의 목표는 작은 네트워크를 훈련 시켜 여전히 분리된 (두 번째 그림 참조) 단위 구 투영(unit sphere projection)을 제공하는 것입니다.
이것은 쉽게 달성할 수 있으나, 새롭게 도입된 실험 포인트는 수직 및 수평으로 정렬되어 분리하기 어렵습니다. 실험 데이터가 수직 및 수평 정렬에 대한 컨텍스트(context)를 제공하더라도 말입니다.
클래스 내에서 샘플을 분리하는 법을 학습하면 보다 명확하기 “수직” 및 “수평” 분리의 개념이 보다 명확하게 도입되기 때문에 (마지막에서 두 번째 그림) 여기서 ρ\rho-regularization가 유용합니다. 이러한 특정 토이 작업(toy task)를 푸는 네트워크의 경우, 훈련 샘플을 수평 또는 수직으로 분리하는 것만 학습하면 됩니다. 그리고 네트워크는 이러한 지름길을 좋아합니다! 그러나, 시험 시 더 많이 수평 및 수직으로 클래스가 발생하는 것은 매우 합리적입니다. 그리고, 예상과 마찬가지로, 스펙트럼 감쇠 ρ(Φ)의 증가를 확인할 수 있습니다 (“더 평탄한” 스펙트럼 값 분포).
마지막으로, 저희는 스펙트럼 감쇠 ρ(Φ) 및 밀도 πratio 개선을 암묵적으로 지향함으로써 DML 방법(methods) 퍼포먼스 향상을 위해 획득한 통찰력을 담아내겠습니다.
5. 결론
딥 메트릭 러닝 현상을 더 잘 이해하기 위해 공정한 비교(fair comparison)에서 기존 방법(methods)에 대한 대규모 연구를 수행하고, 동시에 여러 퍼포먼스 세트 및 임베딩 공간 메트릭을 평가합니다. 각각의 발표에서는 최신 퍼포먼스를 주장하지만, 저희는 대부분의 DML 방법(methods)가 유사하게 작동함을 알게 되었습니다. 또한, 존재하는 차이는 새로이 도입된 2개의 임베딩 공간 메트릭에서의 변경에 기인한다고 볼 수 있습니다.
이러한 연구는 수천 번의 훈련 실행을 수반하며, 각각 최대 40개의 다른 메트릭을 로그했습니다. 서로 다른 서버로부터의 실행을 종합하고 이를 요약 및 공유할 수 있는 쉬운 방법을 제공하는 W&B 가 없었다면, 이 작업에는 훨씬 더 많은 시간이 소요되었을 것입니다.