sy00n / DL_paper_review

issues에 논문 요약
0 stars 0 forks source link

[1] The Pursuit of Knowledge: Discovering and Localizing Novel Categories using Dual Memory #1

Open sy00n opened 1 year ago

sy00n commented 1 year ago

Paper : https://rssaketh.github.io/data/ICCV2021_PoHa.pdf

이 논문은 Object Category Discovery Problem task를 다루는 논문이다. train 시에 정의되지 않은 object가 test 시에 등장할 시 이를 Discovery 할 수 있는 방법으로, 기존 closed-set assumption 하에서 진행된 object detection task 보다 더 real-world에 가까운 settting 이라고 볼 수 있다.

또한 인간의 '기억' 방식에 영감을 받아 Incremental Learning(Never-Ending Learning)으로 학습을 하는데, 이를 위해 2개의 메모리를 활용하여 하나의 메모리에는 장기 기억을, 다른 하나의 메모리에는 단기 기억을 저장해서 inference시에 instance를 이 메모리들에 할당해가며 분류를 수행하는 방식이다.

그런데 이 할당하는 방식이 다소 복잡하게 설계되어 있고 후처리가 많은 느낌이라 조금 아쉬웠다. seen class가 20개임에 반해 unseen class가 60개인 극단적인 setting이므로 metric learning과 같은 학습을 개입하기에는 어려웠을 것으로 보이며 ablation study 결과 테이블을 보면 후처리를 여럿 도입한 이유도 이해는 가지만, 좀 더 간단화할 수 있는 assosiation 방법을 고민해보고 싶다. 또 어떻게보면 논문에서의 assosiation 방법론은 rule-based approach인데, 학습을 통해 수행하는 방법을 더 고민해보고 싶다.

또 task 자체가 어려운 셋팅인걸 고려해도 성능이 많이 저조해서 (AUC 1%...) 성능 제고를 위한 효과적인 방법론을 고민할 필요가 있다.

Abstract

1. Introduction

Unsupervised visual category discovery는 모델을 학습해서 minimal human supervision으로 large collection of unlabeled images에서 패턴을 식별하는 것을 목표로 한다.

이 Task의 한계:

  1. 일관된 task 정의가 부족 approach들마다 다양한 목표로 인해 evaluation protocol이 imcompatible하다.

  2. Scalability of contemporary approaches

    • 대부분의 기존 연구 작은 데이터셋을 사용하기 때문에 real-world에 가까운 큰 이미지, 한 이미지 당 많은 수의 object나 categories를 가지는 그러한 경우까지 확장하지 못한다.
    • lack of Online processing of new data

따라서 unsupervised object discovery와 같은 task의 real-world requirements를 보다 밀접하게 반영하는 standardized protocol(datasets and metrics)을 정의할 필요가 있다.

→ 이를 위해 본 논문은 대규모 벤치마크와 real-world complexities를 처리할 수 있는 scalable never-ending discovery approach를 제안한다.

본 논문에서 우리는 memory process로부터 영감을 받은 continuous learning approach를 개발하기 위해 memory가 어떻게 사용될 수 있는지 조사한다.

Contribution

  1. A never-ending concept discovery and localization framework, is built using two memory modules: Semantic and Working memory, jointly referred to as dual memory.
  2. A simple, realistic benchmark for never-ending concept discovery, not only to evaluate our approach, but also to enable future works to compare on a standardized protocol.

3. Overview

image

전체적인 구조는 3개의 main module인 Encoding, Storage, Retrieval로 구성되어 있다.

  1. Encoding : Region Proposal Network(RPL)로 candidate region과 그에 해당하는 feature를 학습한다.

  2. Storage: dual memory 즉, 두 메모리 블럭으로 구성되어 있는데 하나는 Semantic memory, 하나는 Working memory이다.

    • Semantic memory:
      • the portion of long-term memory that contains concepts from past experience (current knowledge).
      • “known” 혹은 이전에 discovered된 region에 해당하는 object representation을 slots에 저장한다.
    • Working memory:
      • short-term memory and is responsible for accumulating and temporarily holding information for processing.
      • potentially “discoverable” object representatoin을 slots에 저장한다.
  3. Retrieval : region이 semantic memory에 속하는지, working memory에 속하는지 결정한다.

4. Framework Details

image

세 가지 모듈 Encoding, Storage, Retrieval 각각을 좀 더 자세히 설명하고, 어떻게 상호작용하는지 살펴보고자 한다.

Encoding

Storage

Storage module은 두 메모리 블럭(Semantic memory M_s, Working memory M_w)을 포함한다.

  1. M_s
    • M_s는 prior, discovered concepts를 저장하는 목적이다.
    • 처음에 known classes로 object detector를 통해 학습된 ‘semantic priors’로 초기화된다.
    • prior이나 acquired knowledge를 저장한다는 점에서 인간의 long-term memory 측면과 유사하다.
  2. M_w
    • M_s와 달리 M_w는 temporarly store을 위한 storage로, 잠재적으로 discovered될 수 있는 recently encountered objects representation을 다룬다.
    • 처음에는 null값으로 초기화된다.
    • working memory는 인간의 short-term memory와 유사하다.
    • 충분한 instance를 encounter하게 되면, 이들을 다시 할당해서(working memory→semantic memory) 새로운 class를 학습할 때 discovered로 간주된다.

Storage Slots

본 연구에서는 slot representation에 대한 두 가지 chioce인 1) feature centroids 2) classifier에 대해 탐구하며, 각각의 speed/accuracy trade-off가 다르다.

feature → Slot Assosiation 을 판단하는 두 가지 방법 : 1. Cosine similarity 2. LDA Classifier

1. Centroid representation

2. Classifier representation

Retrieval

Process를 차례대로 살펴보면, image

Memory Consolidation

진행 방식을 살펴보면,

Discovery Set

image

이렇게함으로써 정확하고 다양한 샘플을 찾을 수 있을 것 같지만 첫 번째 셋 D1에서 error mode를 detect 하지는 못한다.

→ 따라서 D1으로 M_s를 업데이트 하고 나서 D1, D2를 swap하고 프로세스를 동일하게 진행한다.

5. Experimental Setup

5.1 Benchmark Datasets: 2가지로 설정

1) known set : Pascal VOC 2007

2) Real-world dataset: COCO

(Pre training에는 ImageNet을 썼지만 60개의 unknown class와 어떠한 유사 class도 학습에 사용하지 않았음)

Justification and Discussion

실험을 어떻게 셋팅했는지 자세히 살펴보면,

  1. Unknown class가 무려 60개나 됨. 매우 어려운 task이며 이러한 scale을 다룰 수 있는 기존 approach들은 없었음.
  2. 이미지의 distribution이 다양함.
    • COCO image가 더 복잡하고 하나의 이미지 당 더 많은 objects를 포함하며 discovery dataset의 비중이 높다.
    • 따라서 모든 이미지들이 최소 하나의 object를 가지며 strong signal을 가지는 Standard discovery dataset보다 우리의 셋팅이 더 어렵다.
  3. Semantic Drift
    • COCO에는20개의 known class와 꽤 비슷한 class들이 있다. Discovery와 never-ending approach는 semanic drift를 피하기 위해 이 class들까지도 잘 분리해야 한다. (헷갈리는 class도 잘 분류하게끔)
  4. Localization focus

    Unlabeled unknowns: 사실 60개의 unknown objects보다 많이 커버할 수 있어 하는데, label 부족으로 인해 일부는 quantitative performance만 평가할 수 있다.

    Pretraininig Dataset

    이미지넷 1000개의 class로 pretrain 할 때 unknown class와 overlap되지 않도록 60개의 novel COCO dataset과 유사한 68개의 class를 지웠다. (이를 ImageNet^-로 부르겠다) backbone network/known detector는 Faster-RCNN을 썼다.

5.2. Evaluation Metrics

6. Results and Analysis

6.2. Object Discovery Results

→ 위 세 개 metric 중 어느 것도 object discovery를 적절하게 평가하지 못함

image 정성평가 결과이다. labeled unknown에 대해서 대체로 잘 분류된 것으로 보이고(이 경우 위에서 설명한 oracle 방식으로 class 할당함) unlabeled unknown에 대해서 대체로 유사한 class끼리 grouping된 것을 확인할 수 있다.

6.3. Object Detection Results

image image image image

fig6은 0.5 IoU에 대해 per-class AP를 보여준다.

신호등에 대해 최저(0.08%), 곰에 대해 최대(~17.38%) mAP를 달성했다.

6.4 Ablation Analysis

image

image

Conclusion and Future Work