Slide 1

Slide 1 text

CVPR 2019 Class Imbalance 論文紹介 Striking the Right Balance with Uncertainty S. Khan et al. 2019/09/19 Kentaro Nakanishi @cfiken

Slide 2

Slide 2 text

自己紹介 Kentaro Nakanishi twitter: @cfiken 普段は NLP で chatbot してます 副業で株式会社UZUMAKI カービィが好き

Slide 3

Slide 3 text

本日の発表内容 ● Striking the Right Balance with Uncertainty (S. Khan et al., CVPR 2019) [1] ○ Class Imbalanced な問題に対する新しいアプローチ ○ 他のアプローチも紹介 ● 目次 ○ Class Imbalanced Problem ○ Max-Margin Loss 既存研究 ○ CVPR 2019 で発表された研究 ○ その他の研究 ○ まとめ

Slide 4

Slide 4 text

Class Imbalanced Problem

Slide 5

Slide 5 text

Class Imbalanced Problem ● 分類タスクにおいて、ラベルの分布に偏りがある問題 ● 実応用では避けられない問題の一つ

Slide 6

Slide 6 text

Class Imbalance Problem ● Imbalanced なタスクの例 ○ 医療画像診断 ■ 正例(陽性データ)が少ない ○ 顔認識 ■ ターゲットによってサンプル数が異なる ■ long-tail distribution とも

Slide 7

Slide 7 text

● re-sampling ○ データの分布を調整する ■ undersampling / oversampling ○ うまく最適化するのは難しい ■ 情報損失 / 過学習 してしまう ● cost-sensitive loss function ○ 損失関数を改良することでうまく学習する ○ 今回はこっちがメイン Class Imbalanced に対するアプローチ

Slide 8

Slide 8 text

Cost-sensitive Loss Function ● Class-Weighted ○ クラス毎のサンプル数で割るなど、minority クラス の loss を相対的に大きくする ● Sample-Weighted ○ focal loss: 簡単な(正解の確信度が高い)サンプルは loss を相対的に小さくする [2] ● Max-Margin ○ loss にマージン制約を加えることで、クラス内分散 を小さく、クラス間距離を大きくするよう学習する ○ 距離学習・表現学習とも見られる

Slide 9

Slide 9 text

準備: 通常の Softmax Cross Entropy Loss ● モデルの出力(logits)を p’ とすると分類確率 p は、 ● Cross Entropy Loss は下記となる (y は正解 index)。 Max-Margin Loss Function 準備

Slide 10

Slide 10 text

準備: 特徴と代表ベクトルの内積の形に変換 ● モデルを特徴抽出と分類に分けて考える ● 先程の CE Loss は次のようにかける 特徴抽出レイヤ 分類レイヤ Max-Margin Loss Function 準備 入力画像

Slide 11

Slide 11 text

準備: angular の空間に変換 ● 内積を cosine を使った形に変換 ● ここで とする(超球面上に制限)と、 ● これにより となるように学習する Max-Margin Loss Function 準備

Slide 12

Slide 12 text

Max-Margin Loss 既存研究

Slide 13

Slide 13 text

L-Softmax [3] / SphereFace [4] angular 空間でのマージンを提案 ● 元の Loss ● 提案 Loss: 正解クラスのみマージンを付加 正解クラスだけ と置き換えている

Slide 14

Slide 14 text

L-Softmax [3] / SphereFace [4] angular 空間でのマージンを提案 ● これにより となるように学習する 図: [3] Fig. 2 より, 特徴レイヤを2次元にしてプロット

Slide 15

Slide 15 text

angular 空間でのマージンを提案 ● 省略したが、実際は単調減少関数にするため少し補正し ている L-Softmax [3] / SphereFace [4] 図: [3] Fig. 4 より

Slide 16

Slide 16 text

CosFace [5, 6] マージンをかけるのではなく付加 s は特徴のノルム調整用のハイパーパラメータ ● 乗算だと θ の値によってマージンの影響が変わるの を、加算にすることで改善 ● 実装や最適化も簡単に 図: [5] Fig. 2 より

Slide 17

Slide 17 text

CVPR 2019 で発表された研究

Slide 18

Slide 18 text

CVPR 2019: Class Imbalance Problem ● ArcFace: Additive Angular Margin Loss for Deep Face Recognition, J. Deng et al. [7] ● Striking the Right Balance with Uncertainty, S. Khan et al. [1] ● Class-Balanced Loss Based on Effective Number of Samples, Y. Cui et al. [8] ● AdaptiveFace: Adaptive Margin and Sampling for Face Recognition, H. Liu et al. [9] ● UniformFace: Learning Deep Equidistributed Representation for Face Recognition, Y. Duana et al. [10] ● Unequal-training for Deep Face Recognition with Long-tailed Noisy Data, Y. Zhong et al. [11]

Slide 19

Slide 19 text

ArcFace [7] マージンを angular 空間で付加 ● angular に対してマージンを付加 (分かりやすくなった) ● 実装や最適化も簡単、かつ性能も改善 ● SphereFace, ArcFace, CosFace は次で表現できる m1: SphereFace, m2: ArcFace, m3: CosFace

Slide 20

Slide 20 text

ArcFace [7] Softmax, SphereFace, CosFace との違い ● Softmax だとマージンがない ● SphereFace だと θ が小さい時にマージンが消える ● CosFace だと angular に対してマージンが非線形に 図: [7] Fig. 5 より、二値分類の場合のクラス境界

Slide 21

Slide 21 text

ArcFace [7] 実験結果 ● 安定して SphereFace, CosFace を上回る ● SphereFace, CosFace も同時に入れて実験したもの の、ArcFace のみと変わらず ○ (右表の CM が同時版)

Slide 22

Slide 22 text

Striking the Right Balance with Uncertainty [1] モチベーション: マージンに不確実性を考慮したい ● Class-Level: 不確実性の高いクラスに大きいマージン ● Sample-Level: サンプルの分布の二次モーメントを考慮 図: [1] Fig. 1 より、点線が通常の Softmax, 実線が提案手法

Slide 23

Slide 23 text

Striking the Right Balance with Uncertainty [1] 変更点 (L-Softmax/SphereFace) ● L-Softmax での正解クラス ● 提案手法 ハイパーパラメータ クラスの不確実性によるマージン サンプルの不確実性によるペナルティ ※ こちらも実際はθの値によって単調減少関数にするための補正が入ります

Slide 24

Slide 24 text

Striking the Right Balance with Uncertainty [1] クラスの不確実性の推定 ● Dropout を含むネットワークはガウス過程に近似でき る (Y. Gal and Z. Ghahramani, 2016)[12] ● Dropout によるアンサンブルモデル空間   からネット ワークを N回サンプリング ○ ある入力  に対して N個の出力   が得られる ○ これについて1次モーメント、2次モーメントを推定

Slide 25

Slide 25 text

Striking the Right Balance with Uncertainty [1] クラスの不確実性によるマージン ● 得られた分散からクラスごとのマージンを設定 ● 分散が大きい: マージンが大きくなる = より厳しく分類 ● 分散が小さい: マージンが小さくなる = よりゆるく分類 図: [1] Fig. 1 (a) より、 imbalanced な分布とクラス境界

Slide 26

Slide 26 text

Striking the Right Balance with Uncertainty [1] 変更点 (L-Softmax/SphereFace) ● L-Softmax での正解クラス ● 提案手法 ハイパーパラメータ クラスの不確実性によるマージン サンプルの不確実性によるペナルティ ※ こちらも実際はθの値によって単調減少関数にするための補正が入ります

Slide 27

Slide 27 text

サンプルの不確実性の推定 ● サンプルの分布から誤分類する確率を計算する ● モチベーション ○ 不確実性の高いサンプルではあまり学習したくない Striking the Right Balance with Uncertainty [1] 図: [1] Fig. 1(b) より、サンプルの分布とクラス境界

Slide 28

Slide 28 text

Striking the Right Balance with Uncertainty [1] サンプルの不確実性の推定 ● サンプルの分布から誤分類する確率を計算する ●        と仮定して、次のように誤差を定義 ● この誤差が正なら誤分類していることに ● 定義した誤差は次の平均・分散を持つ正規分布に従う

Slide 29

Slide 29 text

Striking the Right Balance with Uncertainty [1] サンプルの不確実性の推定 ● 誤分類となる確率は次の上側確率を計算すれば良い ● は正規分布に従うことから、これは変形の上で誤差 関数を用いて計算できる

Slide 30

Slide 30 text

Striking the Right Balance with Uncertainty [1] 実験結果 ● 顔認識、皮膚病変検出、Attribute 予測、MNIST, CIFAR-10 のタスクでベースラインモデルと比較 ○ 既存手法 (CosFace など) よりも平均的に良い結果に ○ 詳細は割愛 ● 既存手法と組み合わせ (CIFAR-10) 表: [1] Table 7 より

Slide 31

Slide 31 text

Striking the Right Balance with Uncertainty [1] いくつかわからない点がちらほら ● 二次モーメントの計算に出てくる τ が何か分からない ○ model presicion (function of weight decay) と書 かれているが... ● サンプルの誤分類率の計算で、w_j をどうやって選んで いるのか分からない ○ 一番大きいもの? 全ての和? ● 実験詳細の一部で m=3 を使うと書かれているが、m は 不確実性に基づいて決めるのではないのか ○ 既存手法の話?

Slide 32

Slide 32 text

Class-Balanced Loss (Effective Number) [8] モチベーション ● Loss にクラスごとの重みをいい感じに与えたい 単純にサンプル数の逆数で 重み付けすると、マイノリティ 側に偏りすぎる問題がある 図: [8] Fig.1 より 赤: 通常のロスによる決定境界 黒: サンプル数の逆数の重みによる決定境界 青: 提案手法

Slide 33

Slide 33 text

Class-Balanced Loss (Effective Number) [8] 提案手法: サンプル数ではなく有効数を定義して重み付け ● クラスごとのデータの有効数を定義 ○ サンプルを点ではなく単位体積を持った領域と見る ○ あるクラスのサンプルで構成される空間の体積を N とすると、有効数は ● 実際には N の値は分からないので、ハイパーパラメー タとして β を設定する (0.9, 0.99, 0.999, ...)

Slide 34

Slide 34 text

Class-Balanced Loss (Effective Number) [8] 実験結果 ● Long-Tailed CIFAR 10/100 で実験 ● 上段が通常の Loss, 下段が提案 Loss とベストケースの ハイパーパラメータ ● 全てで提案手法の重みを加えたほうが良い結果に

Slide 35

Slide 35 text

UniformFace [10] 各クラスが均一に広がるような制約を追加 ● CosFace などで各クラスの表現はうまく学習できる が、特徴空間全体をうまく使えていない ○ アンバランスだったり局所性があったりする ● 代表ベクトルが均一に広がるような損失関数である UniformLoss を提案 図: [10] Fig. 1 より。SphereFace に UniformFace を適用 した例の 2D と 3D をプロットしたもの。UniformFace の方 が均一に空間上に広がっているのが分かる。

Slide 36

Slide 36 text

UniformFace [10] UniformLoss ● 各クラスの代表ベクトルを単位量の電荷と考える ● 全電荷の位置エネルギーの和を UniformLoss とし、最 小化問題を解く ● 既存手法に混ぜることで微妙に性能改善 図: [10] Fig. 2 より、左図の状態からエネル ギーが最小となるように最適化する

Slide 37

Slide 37 text

AdaptiveFace [9] マージンもパラメータにしつつサンプリングも工夫 ● CosFace などのマージン手法で imbalanced に対応 ● Adaptive Margin Softmax ○ マージン m を各クラスごとに持つパラメータ化 ○ CNN と同時に学習する ● サンプリング方法も工夫 ○ Adaptive Data Sampling ■ 分類レイヤーの結果からサンプリング確率を変更 ○ HardPrototypeMining 図: [9] Fig. 4 より、 C1 が minority, C2 が majority クラスの 場合の、CosFace, ArcFace に対し て Adaptive 適用した例。濃い青が サンプルに基づく境界、薄い青が真 のクラス境界。

Slide 38

Slide 38 text

その他の研究

Slide 39

Slide 39 text

Affinity Loss [13] モチベーション ● 既存手法は超球面上に制限し、angular 空間上の距離に よって分類を行っている ○ 結果的に汎化性能を失っている ● ガウスカーネルで類似度を定義し、ロスを設計 σ は分布の広がりを制御するハイパーパラメータ

Slide 40

Slide 40 text

Affinity Loss [13] ロスの定義 ● 提案手法のマージン付きロス ● 更にクラス間距離が一定となるような制約を加える ● 最終的なロスは

Slide 41

Slide 41 text

Affinity Loss [13] 実験結果 ● 特徴レイヤを2次元にしてプロット ● 他の実験でも多くで SoTA を記録 ○ DIL では Striking ~ の方が良い性能だった 図: [13] Fig. 2 より、imbalanced MNIST で実験、右が提案手法

Slide 42

Slide 42 text

Affinity Loss [13] Multi-Centered Learning ● 代表ベクトルが1つだと、複雑な形状の分布で辛い ● 複数の代表ベクトルを持つことでこれに対応 ○ 類似度の計算は代表ベクトル集合の max をとる ● これによりラベルノイズにもロバストに

Slide 43

Slide 43 text

まとめ

Slide 44

Slide 44 text

まとめ ● Class Imbalanced な問題へのアプローチとして、 Max-Margin Loss Function がある ● CosFace, ArcFace など、顔認識の分野で簡単に距離学 習ができると流行 ● 最近では ArcFace などの距離学習に更に Imbalanced な問題のための改善を加えたものが出てきている ○ Striking the Right Balance with Uncertainty ○ AdaptiveFace ○ Affinity Loss ● [IMO] 結局何使えばいいの? に対しては、今はとりあ えず簡単なので ArcFace が良さそう

Slide 45

Slide 45 text

ありがとうございました

Slide 46

Slide 46 text

Reference [1] Striking the Right Balance with Uncertainty, S. Khan et al., CVPR 2019, https://arxiv.org/abs/1901.07590 [2] Focal Loss for Dense Object Detection, T. Lin et al., CVPR 2017, https://arxiv.org/abs/1708.02002 [3] Large-Margin Softmax Loss for Convolutional Neural Networks, W. Liu et al., ICML 2016, https://arxiv.org/abs/1612.02295 [4] SphereFace: Deep Hypersphere Embedding for Face Recognition, W. Liu et al., CVPR 2017, https://arxiv.org/abs/1704.08063 [5] CosFace: Large Margin Cosine Loss for Deep Face Recognition, H. Wang et al., CVPR 2018, https://arxiv.org/abs/1801.09414 [6] Additive Margin Softmax for Face Verification, F. Wang et al., Signal Processing Letters 2018, https://arxiv.org/abs/1801.05599 [7] ArcFace: Additive Angular Margin Loss for Deep Face Recognition, J. Deng et al., CVPR 2019, https://arxiv.org/abs/1801.07698 [8] Class-Balanced Loss Based on Effective Number of Samples, Y. Cui et al., CVPR 2019, https://arxiv.org/abs/1901.05555 [9] AdaptiveFace: Adaptive Margin and Sampling for Face Recognition, H. Liu et al., CVPR 2019 [10] UniformFace: Learning Deep Equidistributed Representation for Face Recognition, Y. Duana et al., CVPR 2019 [11] Unequal-training for Deep Face Recognition with Long-tailed Noisy Data, Y. Zhong et al., CVPR 2019 [12] Dropout as a bayesian approximation: Representing model uncertainty in deep learning, Y. Gal and Z. Ghahramani, ICML 2016, https://arxiv.org/abs/1506.02142 [13] Max-margin Class Imbalanced Learning with Gaussian Affinity, M. Hayat et al., https://arxiv.org/abs/1901.07711

Slide 47

Slide 47 text

Appendix

Slide 48

Slide 48 text

Striking ~ の実験結果一覧

Slide 49

Slide 49 text

Face Verification (LFW, YTF) 49 ● 顔認識タスク ● 他のデータやアンサンブル モデルを使った手法, Metric 系など新しい損失関 数を使った手法, Imbalanced Learning のた めの手法それぞれと比較。 ● 既に accuracy では多くで saturate 気味ではあるが, その中でも高い性能に

Slide 50

Slide 50 text

Skin Lesion Detection (DIL) 50 ● 皮膚病変の検出タスク ● 1,300枚の画像に10クラス (もしくは5クラス) ● 各クラス12~331枚と Imbalanced ● 既存手法に比べて大きく向上 ○ 14~15% UP (絶対量)

Slide 51

Slide 51 text

Attribute Prediction (CelebA) 51 ● セレブ写真から Attribute 予測 ● 中央線より左が普通の手法, 右が Class Imbalanced タスクのための手 法, 一番右が提案手法 ● 下に行くほど Imbalanced なクラス ● Imbalanced なクラスなほどよい性能, 平均でも SOTA レベルに

Slide 52

Slide 52 text

Other Loss + Uncertainty (CIFAR10) 52 ● Imbalanced CIFAR10 にマージン系損失の既存手法を適用 ● 既存手法のマージン m を Uncertainty ベースのものに修正 ● 上記二種類を比較実験し、既存手法に Uncertainty を導入 することで性能向上を確認できた