[CVPR 2019] Local Aggregation for Unsupervised Learning of Visual Embeddings

안녕하세요 정의철 연구원입니다. 이번에 제가 소개할 논문은 ‘Local Aggregation for Unsupervised Learning of Visual Embeddings’이란 논문입니다. 이 논문에서는 유사한 데이터 인스턴스를 임베딩 공간에서 함께 이동시키고, 유사하지 않은 인스턴스는 분리되도록 하는 Local Aggregation(LA) 측정을 최대화하는 임베딩 함수를 학습하는 방법에 대해 연구한 논문입니다. 그럼 리뷰 시작하겠습니다.

1. Introduction

앞부분은 비지도 학습 방법이 주목 받게된 배경과 내용 등을 다루기에 생략하겠습니다.

이 논문에서 저자는 latent feature space에서local non-parametric aggregation를 통한 새로운 비지도 학습 알고리즘을 제안합니다. 먼저 신경망을 통해 입력을 비선형적으로 저차원 공간에 임베딩합니다. 그런 다음 임베딩 공간에서 각 example 주위에 close neighbors을 반복적으로 식별하고, 임베딩 함수를 최적화하여 Local Aggregation의 정도를 강화합니다. LA(Local Aggregation)라고 부르는 procedure는 통계적 유사성을 공유하는 입력을 나타나는 클러스터로 배열하면서, 본질적으로 서로 유사하지 않은 입력이 임베딩 공간에서 분리되도록 합니다. 이러한 소프트 클러스터링 구조와 이를 수행하는 비선형 임베딩을 동시에 최적화함으로써, procedure는 데이터의 subtle statistical regularities를 발견합니다.

2. Methods

이 Method는 이미지 집합 I = {x1, x2, …, xN}를 특징 집합 V = {v1, v2, …, vN}로 매핑하는 임베딩 함수 fθ를 학습하는 것을 목표로 합니다. 여기서 각 특징 vi는 D 차원의 압축된 표현 공간에서 얻어지며, 유사한 이미지는 클러스터링되고 유사하지 않은 이미지는 분리됩니다. 이를 위해, 심층 비선형 임베딩 함수의 집계 능력을 부트스트랩하는 반복 절차를 설계합니다. 구체적으로, 임베딩 함수를 학습하는 동안, 동적으로 각 xi와 그 임베딩 vi의 두 가지 neighbors 집합: close neighbors Ci와 background neighbors Bi를 식별합니다. 직관적으로, close neighbors은 vi와 유사하도록 만들어야 하는 임베딩이고, background neighbors은 가까움의 판단 기준이 되는 거리 척도를 설정하는 데 사용됩니다. Bi와 Ci를 사용하여, 각 입력 xi 근처의 level of local aggregation L(Ci, Bi|θ, xi)을 정의하며, 이는 Ci 내의 근접도가 Bi 내의 근접도에 비해 상대적인 수준을 특성화합니다. 신경망의 파라미터 θ는 훈련 과정에서 L(Ci, Bi|θ, xi)를 최대화하도록 조정됩니다.

2.1 Neighbor Identification

이제 neighbor types Bi와 Ci가 어떻게 정의되는지 설명드리겠습니다.

Nearest-neighbor based identification Bi는 최적화의 임의의 단계에서, 주어진 임베딩된 점 vi에 대한 background neighbors은 임베딩 공간에서 코사인 거리를 사용하여 판단된 V 내의 가장 가까운 k개의 임베딩 점 Nk(vi)로 정의됩니다. 사용할 background neighbors의 수 k는 알고리즘의 하이퍼파라미터입니다.

다음으로 close neighbors을 식별하기 위해, 모든 임베딩된 점 V에 비지도 클러스터링 알고리즘을 적용하여 표현을 m개의 그룹 G = {G1, G2, …, Gm}로 클러스터링합니다. 클러스터링 결과에서 vi의 클러스터 레이블을 g(vi)로 표시합니다. 가장 단순한 버전에서는 Ci를 Gg(vi)의 집합으로 정의합니다. 그러나 클러스터링은 노이즈가 많고 다소 임의적인 과정이기 때문에 약간 다른 조건에서 여러 번 클러스터링을 수행하고, 이러한 여러 클러스터링을 통해 neighbors을 집계하여 보다 안정적인 결과를 얻습니다. 구체적으로, H개의 고유한 클러스터링에 대해 클러스터 {G(j)}를 정의하고, G(j) = {G(j) 1, G(j) 2, …, G(j) m(j)}으로 j ∈ {1, 2, …, H}, 및 {g(j)}를 각각 정의합니다. 그런 다음 Ci = ⋃H j=1 G(j) g(j)(vi)로 정의합니다. 클러스터의 수 m과 클러스터링의 수 H는 알고리즘의 하이퍼파라미터입니다. 직관적으로, background neighbors은 “가까움”을 판단하는 기준이 되는 근처 점들의 편향되지 않은 샘플이고, close neighbors은 다른 클러스터에 비해 especially nearby한 close neighbors입니다.

2.2 Local Aggregation Metric

Bi와 Ci의 정의를 기반으로, Local Aggregation Metric L(Ci, Bi|θ, xi)의 수식을 설명합니다. 여기에서는 임의의 특징 v가 i번째 이미지로 인식될 확률을 다음과 같이 정의합니다:

여기서 τ ∈ [0, 1]은 고정된 스케일 하이퍼파라미터이고, {vi}와 v는 D 차원의 임베딩 공간에서 L2 단위 구면으로 투영됩니다(즉, ‖v‖2 = 1로 정규화됨). 식 (1)을 따르며, 주어진 이미지 집합 A에서 특징 v가 A의 이미지로 인식될 확률을 다음과 같이 정의합니다:

마지막으로, L(Ci, Bi|θ, xi)를 vi가 배경 이웃(Bi)으로 인식될 때 vi가 가까운 이웃(Ci)으로 인식될 negative log-likelihood으로 정의합니다:

최소화할 loss는 다음과 같습니다:

2.3 Memory Bank

위에서 정의한 바와 같이, neighbor identification procedures와 손실 함수는 V의 모든 임베딩된 특징을 포함하는 계산을 설명하며, 이는 대규모 데이터셋에 대해서 구현하기에는 어려움이 있습니다. 이 문제를 해결하기 위해 V의 running average을 유지하여 메모리 뱅크라고 부르며, 이를 ¯V = {¯v1, ¯v2, …, ¯vN}으로 나타냅니다. 이때 메모리 뱅크를 임의의 D차원 단위 벡터로 초기화하고, 훈련 중에 ¯vi와 vi를 혼합하여 값을 업데이트합니다:

여기서 t ∈ [0, 1]은 고정된 혼합 하이퍼파라미터입니다. ¯V을 통해 neighbor identification procedures와 식 (1)을 V 대신 ¯V로 대체하여 다시 쓸 수 있습니다. 특히 Ci의 경우, 클러스터 레이블 함수 g는 인덱스 식별에 의해 ¯vi에 적용되며, 선택된 클러스터에 인덱스 i 자체가 포함되도록 보장합니다. 이 대체 후에는 Ci와 Bi의 (good approximations of) 식별하기 위해 매 단계마다 V를 다시 계산할 필요가 없습니다.

3. Results

3.1 Experiment Settings

네트워크 학습에 사용된 주요 파라미터는 다음과 같습니다. 파라미터 τ = 0.07, D = 128, λ = 0.0001, t = 0.5로 설정합니다. 모든 네트워크 구조에 대해, 모멘텀 0.9와 배치 크기 128을 가진 SGD를 사용합니다. 초기 학습률은 0.03으로 설정하고, 검증 성능이 포화될 때마다 10배씩 감소시키며, 일반적으로 학습률을 두 번 감소시키는 200 에포크 동안 학습합니다.

모델의 초기 시작을 위해, 처음 10 에포크 동안 IR 손실 함수를 사용하여 학습을 시작한 후, LA 방법으로 전환합니다. AlexNet과 VGG16 아키텍처에는 ReLU 연산 이전에 모든 컨볼루션 및 완전 연결 층 뒤에 배치 정규화(BN) 레이어를 추가하여 더 높은 학습률과 빠른 수렴 속도를 가능하도록합니다. BN을 추가하면 수렴 속도는 향상되지만, 일반적으로 supervised 학습에서는 최종 ImageNet 성능 수준이 높아지지 않는 것으로 알려져 있습니다. 비지도 학습 방법을 사용할 때도 이 진술이 참인지 여부는 불확실합니다. 중요한 것은, 잠재적으로 경쟁력 있는 IR 방법은 원래 AlexNet과 VGG16에 BN을 포함하지 않았기 때문에, LA 또는 DC와의 공정한 비교를 위해, IR 작업에서도 BN을 추가하여 AlexNet과 VGG16을 학습시킵니다. 모든 구조에 대해, final category readout layer를 D 출력 유닛을 가진 선형 레이어로 교체하고, 출력이 단위 벡터가 되도록 L2 정규화 작업을 수행합니다.

배경 이웃 Bi를 계산하기 위해 최근접 이웃 절차에서 k = 4096을 설정합니다. Ci를 계산할 때, Faiss에서 구현된 k-means를 표준 비지도 클러스터링 알고리즘으로 사용하여, 다양한 무작위 초기화를 통해 여러 클러스터링을 생성하여 견고성을 높입니다. 표기법과 관련하여 AlexNet은 H = 3, m = 30000, VGG16은 H = 6, m = 10000, 모든 ResNet 구조는 H = 10, m = 30000으로 학습합니다.

3.2 Transfer Learning Results

ImageNet에서 네트워크를 완전히 학습한 후, 다른 작업에 대한 전이 학습을 평가합니다. 여기에는 ImageNet 분류 Places205에서의 장면 분류, PASCAL VOC 2007에서의 객체 탐지가 포함됩니다. 분류 작업의 경우 임베딩 특징을 사용한 K-최근접 이웃(KNN) 분류 결과도 보고합니다. 구체적으로, 특징 v에 대해 가장 가까운 K개의 이웃 NK를 가져와(이미지넷의 경우 저장된 메모리 뱅크에서, Places의 경우 훈련 이미지의 중심 크롭에 대한 네트워크 출력에서) 그들의 레이블을 exp(vTi v/τ)로 가중치를 두어 결합하여 최종 예측을 만듭니다.

3.3 Object Recognition

ImageNet 분류 작업에 대한 전이 학습을 평가하기 위해, 비지도 절차 동안 학습된 네트워크 가중치를 고정하고, 평가하고자 하는 각 층 위에 inear readout layer를 추가하여, L2 가중치 감쇠와 함께 교차 엔트로피 손실을 사용하여 readout을 학습합니다. 모멘텀 0.9, 배치 크기 128, 가중치 감쇠 0.0001의 SGD를 사용합니다. 학습률은 0.01로 초기화하고, 성능이 포화될 때마다 10배씩 감소시켜, 일반적으로 두 번의 학습률 감소와 함께 90 학습 에포크로 이어집니다. 비교 가능성을 보장하기 위해 10-크롭 검증 성능을 보고합니다. 아래 표 1의 성능 결과는 LA가 모든 아키텍처에서 다른 방법보다 우수함을 보여줍니다.

특히 더 깊은 아키텍처에서 그렇습니다. LA로 학습된 AlexNet은 42.4%에 도달하여 이전 최신 상태보다 1.4% 높습니다. VGG16(+4.9%), ResNet-18(+3.7%), ResNet-50(+6.2%)의 경우 이전 비지도 최신 상태보다 향상이 큽니다. 특히, LA로 학습된 ResNet-50은 ImageNet 분류에서 60.2%의 top-1 정확도를 달성하여 supervised task에서 직접 학습된 AlexNet을 능가합니다. KNN 분류기를 사용하여, LA는 모든 아키텍처에서 IR 작업보다 큰 차이로 우수합니다. LA 방법은 전체적으로 더 깊은 아키텍처에서, 그리고 아키텍처 내에서 더 이전 층에서 더 깊은 층으로 일관된 성능 증가를 보여줍니다. 대부분의 alternative training methods은 깊이를 증가시킴에 따라 크게 향상되지 않습니다. 예를 들어, Color 를 사용하여 학습된 ResNet-101은 39.6%에 불과하고, 비지도 작업으로 학습된 ResNet-101의 최고 성능은 CPC로 48.7%입니다

3.4 Scene Categorization

학습된 표현이 학습에 사용된 데이터 분포와 다른 데이터 분포에 대한 일반화 능력을 테스트하기 위해, Places 데이터셋에서의 전이 학습을 평가했습니다. 이 데이터셋에는 205개의 장면 카테고리로 라벨링된 245만 개의 이미지가 포함되어 있습니다. 이전 섹션과 마찬가지로, ImageNet 전이 학습에 사용된 훈련 절차와 하이퍼파라미터를 동일하게 사용하여 장면 분류 작업에 대해 linear readout layers를 학습합니다. 아래 Table 2에 표시된 결과는 LA 방법이 모든 아키텍처에서 전이 학습 성능에서 이전 방법을 능가함을 보여줍니다. 특히 더 깊은 네트워크에서 그렇습니다.

3.5 Object Detection

Table 1과 2에 제시된 결과는 시각적 분류 작업을 위한 표현 학습에 LA가 유용함을 보여줍니다. 그러나 실제 생활에서 직면하는 시각적 task에는 객체 탐지와 같은 다른 작업도 포함됩니다. 따라서 PASCAL VOC 2007 데이터셋의 객체 탐지 작업에 대한 모델의 전이 학습 능력을 평가합니다. 일반적인 PASCAL 탐지 작업 평가 절차는 Fast RCNN 방법을 사용하여 비지도 아키텍처를 Fine tuning합니다. 그러나 Fast RCNN은 최근 제안된 파이프라인(Faster RCNN 또는 Mask RCNN)보다 계산 효율성이 떨어지며, 일반적인 심층 학습 프레임워크에서 검증된 참조 구현을 통해 잘 지원되지 않습니다. 학습 효율성과 정확성을 보장하기 위해, 이 작업에서는 TensorFlow와 Pytorch에서 검증된 구현을 사용하여 Faster RCNN 파이프라인을 사용했습니다. 그러나 Faster RCNN이 Fast RCNN과 성능이 약간 다를 수 있으므로, 이러한 결과를 Fast RCNN으로 생성된 숫자와 직접 비교하는 것은 오해의 소지가 있을 수 있습니다. 이 이유로, 가능한 경우 Faster RCNN을 사용하여 IR 및 DC로 학습된 모델도 추가로 평가했습니다. 아래 Table 3에 표시된 결과는 PASCAL 탐지 작업에서 LA 방법이 최신 상태의 비지도 전이 학습을 달성했음을 보여줍니다.

4. Analysis

4.1 Visualizations

이 절에서는 시각화를 통해 임베딩 공간을 분석합니다.

Density distribution in the embedding space

LA 최적화 목표는 vi와 Ci 간의 거리를 최소화하고 vi와 Bi 간의 거리를 최대화하는 것을 추구합니다. 이는 직관적으로 임베딩이 일부 위치에서 locally dense되지만 전체 공간에서는 일반적으로 희소하게 만드는 것을 의미합니다. Fig 2는 LA 임베딩의 locally density가 IR 방법에 의해 생성된 것보다 훨씬 높음을 보여주며, background density는 약간 더 높습니다. 또한, 더 깊은 네트워크가 LA 목표의 최소값을 더 낮게 달성할수록, 얕은 네트워크에 비해 더 높은 locally density와 더 낮은 background density를 나타낼 것으로 기대됩니다. ResNet-18 임베딩과 ResNet-50 임베딩의 밀도 분포를 비교하면, Fig 2에서 이 기대가 확인됨을 알 수 있습니다. 이러한 결과는 LA 최적화 절차를 더 잘 특성화하는 데 도움이 됩니다

Success and failure examples

LA 목표의 성공과 실패 사례를 정성적으로 설명하기 위해, Fig 3은 여러 검증 이미지에 대해 훈련 세트에서 nearest neighbors을 보여줍니다. 이는 earest-neighbor classifier에 따라 정확히 또는 부정확하게 분류된 이미지들입니다. 예상대로, 성공적인 예시는 LA로 학습된 모델이 배경과 관점에 관계없이 동일한 카테고리에 속하는 이미지를 그룹화함을 보여줍니다. 또한, 네트워크는 높은 수준의 시각적 context을 인식하는 능력을 보여줍니다. 이는 실패 사례에서 더 명확하게 나타나며, 네트워크가 주요 특성에 따라 이미지를 일관되게 그룹화하는 것을 볼 수 있습니다. 실제로 LA 모델이 생성한 대부분의 실패 사례는 ImageNet 카테고리 라벨링의 본질적으로 잘못된 특성 때문으로 보이며, 이는 이미지에 존재하는 여러 잠재적으로 유효한 객체 유형 중 하나만을 카테고리 라벨로 지정하기 때문이며, 어떤 비지도 방법도 이를 명확하게 해결할 수 없습니다. 이 점을 더 설명하기 위해, Multi-dimensional scaling(MDS) 알고리즘을 사용하여 임베딩 공간의 일부를 시각화합니다(Fig 4 ). 특히, LA는 배경, trombones 수, viewpoint에 관계없이 trombones 이미지를 성공적으로 클러스터링하는 반면, 트롬본을 연주하는 사람의 이미지와는 구분합니다

이 연구에서 저자는 유사한 입력을 서로 가까이 두고 유사하지 않은 입력이 멀어지도록 하는 균형을 찾기 위해 고안된 지역 집합화(local aggregation,LA)를 소개했습니다. 이는 최근 비지도 학습의 여러 주요 아이디어를 결합한 것입니다. LA 목표를 DCNN(딥 컨볼루션 신경망)에 적용하면 다양한시각 작업에 대한 전이 학습에 유용한 표현을 생성함을 보여주었습니다. 이러한 소프트 클러스터링 구조와 이를 수행하는 비선형 임베딩을 동시에 최적화함으로써 데이터의 통계적 규칙성을 이해하는데 큰 도움이 되었던 것 같습니다.

Author: 정 의철

4 thoughts on “[CVPR 2019] Local Aggregation for Unsupervised Learning of Visual Embeddings

  1. 안녕하세요, 정의철 연구원님. 좋은 리뷰 감사합니다.
    2019년이면 MoCo나 SimCLR가 등장하기 전인데 이때도 유사한 임베딩 벡터를 잘 모으려는 시도가 있었던 것 같네요. 읽다보니 궁금한 점이 있는데, 클러스터링을 하다 모든 벡터가 일정한 범위 안으로 모여버리면 trivial solution으로 collapse가 일어날 것 같아 보이는데, 이를 고려한 방지책이 있는건가요? 리뷰글을 쭉 읽어봤을때 임베딩 벡터 간 패널티를 주면서 거리를 멀어지게 하는 부분은 딱히 보이지 않는 것 같아 질문 드립니다.

    감사합니다.

    1. 안녕하세요 재연님 좋은 질문 감사합니다.
      말씀해주신 문제는 주로 contrastive learning과 같이 embedding space에서 sample들 사이의 유사도를 distance를 이용해서 최대화하거나 최소화할때 나타나는 문제로 알고 있습니다. 하지만 이 논문에서는
      Bi와 Ci에 대해 특징 v가 i번째 이미지로 인식될 확률로 Loss를 설계했기 때문에 문제 현상이 다를 것이라고 생각됩니다.
      감사합니다.

  2. 안녕하세요. 좋은 리뷰 감사합니다.

    Local Aggregation에 대해서 처음 접했는데 유사한 것은 가깝게 유사하지 않은 것은 멀게 임베딩한다는 컨셉에서 굉장히 contrastive learning과 비슷하게 느껴졌습니다. 궁금한 것이 Local Aggregation이라는 것이 contrastive learning의 종류 중 하나 인가요? 아니면 Local Aggregation과 contrastive learning은 다른 갈래를 가지는 방법론인지 궁금합니다. 혹은 Local Aggregation이라는 방법론이 좀더 진화해서 지금의 contrastive learning이 되었는지도 궁금하네요.

    감사합니다.

    1. 안녕하세요 주연님 질문 감사합니다.
      먼저 이 논문에서 제시한 방법론은 contrastive learning과는 다른 방법론입니다. contrastive learning은 vector space에서 positive pair은 distance를 가깝게 negative pairdml distance 멀리 하도록 학습이 되는데 Local Aggregation 클러스터를 사용하기에 다른 방법이다라고 생각하시면 될 것 같습니다.
      감사합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다