00:00:00

Share Your Feedback 🏝️

Cross-Batch Memory

Cross-Batch Memory

MinWoo(Daniel) Park | Tech Blog

Read more
Previous: Foundation Models Next: Model | Qwen VL

Cross-Batch Memory

  • Related Project: private
  • Category: Paper Review
  • Date: 2023-08-18

Cross-Batch Memory for Embedding Learning

  • url: https://arxiv.org/abs/1912.06798
  • pdf: https://arxiv.org/pdf/1912.06798
  • github: https://github.com/msight-tech/research-xbm
  • abstract: Mining informative negative instances are of central importance to deep metric learning (DML), however this task is intrinsically limited by mini-batch training, where only a mini-batch of instances is accessible at each iteration. In this paper, we identify a “slow drift” phenomena by observing that the embedding features drift exceptionally slow even as the model parameters are updating throughout the training process. This suggests that the features of instances computed at preceding iterations can be used to considerably approximate their features extracted by the current model. We propose a cross-batch memory (XBM) mechanism that memorizes the embeddings of past iterations, allowing the model to collect sufficient hard negative pairs across multiple mini-batches - even over the whole dataset. Our XBM can be directly integrated into a general pair-based DML framework, where the XBM augmented DML can boost performance considerably. In particular, without bells and whistles, a simple contrastive loss with our XBM can have large R@1 improvements of 12%-22.5% on three large-scale image retrieval datasets, surpassing the most sophisticated state-of-the-art methods, by a large margin. Our XBM is conceptually simple, easy to implement - using several lines of codes, and is memory efficient - with a negligible 0.2 GB extra GPU memory. Code is available at: this https URL.

Contents

TL;DR


  1. 딥 메트릭 학습(DML)은 같은 클래스의 인스턴스가 다른 클래스보다 가까워지도록 임베딩 공간을 학습하는 것을 목표로 합니다.
  2. 크로스 배치 메모리(XBM) 모듈은 과거 미니배치의 임베딩을 사용하여 효율적으로 정보적인 네거티브 페어를 채굴합니다.
  3. XBM은 학습 중 미니배치 크기를 키우는 것보다 더 적은 GPU 메모리와 계산 비용으로 더 많은 정보를 확보합니다.

1. 서론

딥 메트릭 학습(DML)은 컴퓨터 비전의 기본 문제로, 이미지 검색, 얼굴 인식, 0-shot 학습, 비주얼 트래킹 및 개인 재식별과 같은 다양한 작업에 적용되었습니다. DML 방법 중 하나는 페어 기반 접근 방식으로, 미니배치 내의 페어 간 유사성에 대해 정의됩니다. 이런 접근 방식은 대표적으로 대조 손실, 트리플렛 손실, 리프티드-구조 손실, N-페어 손실 및 멀티-유사성(MS) 손실 등이 있습니다. 이 방법들은 일반적으로 정보가 풍부한 네거티브 페어를 채굴하는 능력에 크게 의존합니다. 이를 개선하기 위해 글로벌 데이터 분포에 기반한 샘플링과 미니배치 내 개별 페어 가중치를 조정하는 방법이 개발되었습니다.

2. 관련 연구

페어 기반 DML 방법은 임베딩 공간에서 인스턴스 간의 유사성을 계산함으로써 최적화될 수 있습니다. 대조 손실은 긍정적 페어가 가까워지고 부정적 페어가 일정 임계값보다 멀어지도록 합니다. 트리플렛 손실은 긍정적 페어의 유사성이 동일한 앵커를 가진 부정적 페어보다 주어진 마진만큼 높아야 합니다. 이런 방식 외에도, 다양한 페어를 효과적으로 가중치를 부여하는 MS 손실 같은 알고리즘이 개발되었습니다.

3. 크로스-배치 메모리 임베딩 네트워크

이 섹션에서는 기존 페어 기반 DML 방법의 한계를 분석하고, “느린 이동” 현상을 소개하며, 이를 통해 크로스-배치 채굴 접근 방식이 어떻게 지원되는지 설명합니다. XBM 모듈은 과거 미니배치의 임베딩을 활용하여 새로운 미니배치와의 유사성을 계산함으로써 정보가 풍부한 네거티브 페어를 효과적으로 확보할 수 있습니다. XBM은 다양한 페어 기반 DML 방법에 간단히 통합될 수 있으며, GPU 메모리를 적게 사용하며 계산 부담도 최소화됩니다.

핵심 부분

특정한 페어 기반 손실 \(L\)은 미니배치 내 유사성 행렬 \(S\)를 사용하여 다음과 같이 정의될 수 있습니다.

\[L = \frac{1}{m} \sum_{i=1}^m \left( \sum_{j : y_j = y_i} w_{ij} S_{ij} - \sum_{j : y_j \neq y_i} w_{ij} S_{ij} \right)\]

\(m\)은 미니배치 크기이며, \(w_{ij}\)는 \(S_{ij}\)에 할당된 가중치입니다. XBM을 사용하여 구성된 메모리 증강 페어 기반 손실은 같은 형식으로, 현재 미니배치와 메모리 은행 간의 인스턴스를 비교함으로써 계산됩니다.

이 접근 방식은 모델 학습에 있어서 보다 많은 정보적인 네거티브 페어를 제공함으로써 성능을 크게 향상시킬 수 있습니다. 이런 방법은 DML에서의 어려운 문제를 해결하는 데 있어 직관적이면서도 효율적인 새로운 경로를 제공합니다.

3.1. 페어 기반 DML 탐구

페어 기반 DML에서는 훈련 인스턴스 집합 \(X = \{x_1, x_2, \ldots, x_N\}\)과 각 인스턴스 \(x_i\)에 해당하는 레이블 \(y_i\)를 가정합니다. 임베딩 함수 \(f(\cdot; \theta)\)는 데이터 포인트 \(x_i\)를 D차원 유닛 하이퍼스피어에 투영하여 \(v_i = f(x_i; \theta)\)로 나타냅니다. 훈련 중, 현재 미니배치 내 모든 페어에 대한 친화성 행렬 \(S\)를 정의하며, \(S\)의 \((i, j)\) 원소는 $i$번째 샘플과 j번째 샘플의 임베딩 간 코사인 유사도 \(v_i^T v_j\)입니다.

페어 기반 함수는 일반적인 페어 가중 형태로 정식화될 수 있으며, 다음과 같은 손실 함수 \(L\)로 표현됩니다.

\[L = \frac{1}{m} \sum_{i=1}^m \left( \sum_{j : y_j = y_i} w_{ij} S_{ij} - \sum_{j : y_j \neq y_i} w_{ij} S_{ij} \right),\]

\(m\)은 미니배치 크기이며, \(w_{ij}\)는 \(S_{ij}\)에 할당된 가중치입니다. 이런 구조는 대조 손실, 트리플렛 손실, MS 손실과 같은 다양한 가중 방식을 포함합니다.

3.2. 느린 이동 현상

과거 미니배치의 임베딩은 모델 파라미터가 훈련 과정에서 변함에 따라 일반적으로 구식으로 간주되며 종종 폐기됩니다. 그러나 “느린 이동” 현상을 통해 이런 구식 특징이 중요한 자원이 될 수 있음을 알게 되었습니다. 이 현상은 임베딩의 변화 속도를 측정하여 확인할 수 있으며, 입력 \(x\)의 t번째 반복에서의 특징 이동을 다음과 같이 정의합니다.

\[D(x, t; \Delta t) = \| f(x; \theta_t) - f(x; \theta_{t-\Delta t}) \|_2^2.\]

3.3. 크로스-배치 메모리 모듈

XBM 모듈은 초기화와 업데이트 메커니즘을 갖추고 있으며, 몇 줄의 코드만으로 기존 페어 기반 DML 프레임워크에 플러그 앤 플레이 모듈로 직접 통합될 수 있습니다. 초기 단계에서는 신경망을 1,000번의 반복으로 워밍업하여 모델이 일정한 로컬 최적화 영역에 도달하게 하여 임베딩이 더 안정적이 되도록 합니다. 그 후, 무작위로 샘플링된 훈련 이미지의 특징을 계산하여 메모리 모듈 \(M\)을 초기화합니다.

XBM은 미니배치와 메모리 은행 사이의 교차 배치 유사성 행렬 \(S\)를 계산하여 메모리 증강 페어 기반 손실을 다음과 같이 정의합니다.

\[L = \frac{1}{m} \sum_{i=1}^m \left( \sum_{j : y_j = y_i} w_{ij} S_{ij} - \sum_{j : y_j \neq y_i} w_{ij} S_{ij} \right),\]

\(S_{ij} = v_i^T v_j\)입니다. 이를 통해 훈련에 필요한 충분한 정보적인 페어를 수집할 수 있습니다.

XBM은 매 반복마다 약 1,000개의 유효한 하드 네거티브 페어를 지속적으로 제공하여 모델의 학습을 강화하며, 이는 기존 미니배치 메커니즘에서 생성되는 유효 페어보다 월등히 많은 양입니다. 이런 결과는 XBM이 페어 기반 DML에서 정보적인 네거티브 페어 부족 문제를 해결하고, 디스크리미네이티브 모델 학습을 강화하는 데 단순하면서도 효과적인 방법임을 입증합니다.

Previous: Foundation Models Next: Model | Qwen VL

post contain ""

    No matching posts found containing ""