Skip to content

Decoupling Representation and Classifier for Long-Tailed Recognition #1

@ryoherisson

Description

@ryoherisson

一言でいうと

ロングテールなクラス不均衡のデータに対する,特徴抽出器と分類器の学習パターンごとの影響の違いを体系的に調査したもの.

論文リンク

https://openreview.net/pdf?id=r1gRTCVFvB

著者/所属機関

Bingyi Kang, Saining Xie, Marcus Rohrbach, Zhicheng Yan, Albert Gordo, Jiashi Feng, Yannis Kalantidis
(Facebook AI, National University of Singapore)

投稿日付(yyyy/MM/dd)

2020/02/19

概要

ロングテールなクラス不均衡のデータに対する手法について,特徴抽出器と分類器のどちらが効果的に働いているのか,という問題設定から,異なるデータサンプリング方法の元で,特徴抽出器と分類器を同時に学習する場合(Joint)と,同時に学習したのち分類器のみ再学習する場合(Decoupled)の結果の違いを検証した.
Jointの場合はデータサンプリングを工夫した方が良く,Decoupledの場合はデータサンプリングを工夫しない方が良いという結果が得られた.

新規性・差分

  • ロングテールなクラス不均衡に対し,データサンプリングを工夫しない方が,最も汎化性の高い特徴抽出器が得られることを観測.
  • データサンプリングを工夫せず特徴抽出器を得た後,分類器のみ再学習する際にクラス均衡がとれたデータで学習する方が良好な性能が得られる.
  • Decoupleで学習させた手法が,データサンプリングや損失関数を工夫した既存の手法よりも高い精度が達成できる.

手法

データのサンプリングパターンと,特徴抽出器と分類器の学習パターンを複数パターン用意して実験

サンプリングパターン
1000

  • Instance-balanced sampling:不均衡データのまま使用(q = 1)
  • Class-balanced sampling:各クラスのサンプルの出現確率を均等にする(q = 0)
  • Square-root sampling:各クラスのサンプルの出現確率に平方根を使用(q = 1/2)
  • Progressively-balanced sampling:学習の過程で,Instance-balanced samplingとClass-balanced samplingを同時に適用しながら,徐々にClass-balanced samplingの比重を高める
    1000-1

学習パターン

  • Jointly learning strategies:特徴抽出器と分類器を同時に学習
  • Decoupled learning stratedies:特徴抽出器と分類器を同時に学習したのち,分類器のみ再学習
    • Classifier Re-training (cRT):分類器のみ再学習する際,Class-balanced samplingを適用
    • Nearest Class Mean classifier (NCM):学習データの各クラスの平均特徴量を計算し,コサイン類似度またはL2正則化で計算されたユークリッド距離を用いて最近傍探索を行う
    • τ-normalized classifier (τ-normalized):分類器の各クラスに紐づく重みのノルムで重みを正則化(τはハイパーパラメータ)
      スクリーンショット 2021-02-23 11 09 02
    • Learnable weight scaling (LWS):τ-normalizedにscaling factorを追加.分類器の重みを固定した上で,scaling factorのみを学習.
      ea1f80f641bf53fabf8819c332f05951

結果

(1)Instance-balanced samplingで学習したのち、分類器のみ再学習することで高い性能を達成することが可能
(2)高性能な特徴抽出器を作る上では,クラス不均衡データは問題ではないかもしれない
スクリーンショット 2021-02-22 23 19 31
スクリーンショット 2021-02-22 23 19 39

コメント

解説動画

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions