Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

[DL輪読会]SoftTriple Loss: Deep Metric Learning Without Triplet Sampling (ICCV2019)

415 views

Published on

2019/09/20
Deep Learning JP:
http://deeplearning.jp/seminar-2/

Published in: Technology
  • Be the first to comment

  • Be the first to like this

[DL輪読会]SoftTriple Loss: Deep Metric Learning Without Triplet Sampling (ICCV2019)

  1. 1. 1 DEEP LEARNING JP [DL Papers] http://deeplearning.jp/ SoftTriple Loss: Deep Metric Learning Without Triplet Sampling (ICCV2019) MasashiYokota, RESTAR Inc.
  2. 2. 書誌情報 • 著者 – Qi QianらAlibabaの研究チーム – ICCV2019 採択 • Softmaxを応用し、tripletのサンプルをせずに距離学習を 可能にするSoftTriple Lossを提案。Visual categorizationにおいて、 SOTAな精度を達成。 2
  3. 3. 1. 背景 3
  4. 4. 1.1 背景 4 Distance Metric Learning(距離学習)はデータを変換したときに似ているデータを近くに、 そうではないデータは遠くに配置されるようにモデルを学習させることを目的としており、 retrievalや推薦システムなど様々なアプリケーションに応用できる。 画像の引用 ( https://medium.com/mlreview/how-to-apply-distance-metric-learning-for-street-to-shop-problem-d21247723d2a )
  5. 5. 1.1 距離学習 • 距離学習には主に2種類の方法がある – hand-creaftedな特徴量を使う(ex: PCA + マハラノビス距離) • 特徴量抽出時に情報が欠損してしまい、データが複雑な場合、上手く学習できな い場合がある – DLモデルでの特徴抽出 + Triplet Loss • データセットが大規模になるほどtripletの組み合わせは爆発的に多くなり tripletの組み合わせのカバー率が低くなる →tripletのサンプリング方法によって性能が大きく変わることも。 5
  6. 6. 1.2. Triplet Loss 6 遠ざける • ニューラルネットワークを用いた類似度の学習にはTriplet Lossがよく 使われる。一方で、その効率的な学習にはmini-batchのサンプリング 方法等が重要となる。 Negative Anchor Positive 学習 近づける
  7. 7. 1.2. 従来のtriplet lossでの問題点 7 • DLを用いた従来手法ではmini-batchからtripletを作成する。特に 大規模データセットだと各クラスのneighborhoodを効率的にサンプ リングすることは難しいため以下の問題が発生 – minibatchサンプリング時点で情報が欠損 – 有益なtripletの作成が困難なため最適化が難しい
  8. 8. 1.3. 提案手法 概要: 従来手法との比較 1/2 8 クラスA クラスA クラスB クラスA アンカー クラスC × × × × ×× × × ×× × × × × ×× × × × × × × × × × × × × × ×× × × × × × × × 異なるクラスのデータを一つサンプリング 同じクラスのデータを一つサンプリング ・従来手法 ※ ×: データ点 Tripletをサンプリングする従来手法では、データセット/ミニバッチからアンカーと同じクラス のデータと異なるクラスのデータをそれぞれサンプリングしtripletを作成。
  9. 9. 1.3. 提案手法 概要: 従来手法との比較 2/2 9 提案手法では実際のデータポイントの代わりに上図のように各クラス領域の中心点を考え る。Tripletのサンプリングせず、アンカーと同じクラスの領域かつ最も近い中心点を近づけ、 異なるクラス領域の中心点を遠ざける。 クラスA領域① クラスA領域② クラスB領域 クラスA アンカー クラスC領域 ・提案手法 ※ ▲: 各領域の中心点 遠ざける 遠ざける 近づける
  10. 10. 1.3. 提案手法 概要 筆者らは論文中でSoftmax Lossの最小化は、Triplet Lossの最適化に等しい ことを証明。つまり、分類問題の学習と同様にSoftmax Lossを 最小化することで距離学習ができることを示した。 10 Neural Network FullyConnectedLayer Softmax Embedding Triplet Lossで学習したときと 同じように距離学習できる
  11. 11. 1.3. 本論文での貢献 1. Softmax lossがsmoothedなtriplet lossであることを証明 2. Softmax lossをさらに拡張し、各クラスの中心点を複数持った SoftTriple lossを提案 3. 各クラスの中心点の数を適応的に決定する正則化項も提案 11
  12. 12. 2. 関連研究 12
  13. 13. 2.1. Deep Metric Learning Deep Metric Learning with Hierarchical Triplet Loss [Ge et. al. ECCV 2018] Tripletのサンプリングをhierarchical treeを元に行う。なお、 hierarchical tree は学習時にモデルの学習と同時に最適化するため学習に有益なtripletのサ ンプリングを可能にしているが、データセット全体の分布を捉えきれていると は言い切れない。 13
  14. 14. 2.2. Learning with Proxies No Fuss Distance Metric Learning using Proxies [Movshovitz-Attias et. al. ICCV 2017] データセットからtripletのサンプリングを行う代わりに各クラスごとにproxyをそれ ぞれ一つ用意。アンカーと同じクラスのProxyとの距離を近く、異なるクラスの Proxyを遠くに配置されるように学習することで、サンプリングをせず距離学習を可 能にした。 14
  15. 15. 2.2. Learning with Proxies No Fuss Distance Metric Learning using Proxies [Movshovitz-Attias et. al. ICCV 2017] 学習時のモデルやProxyの学習には、上記のようにNCA(Neighborhood Components Analysis)と同じ損失関数を用いて距離学習を行っている。 しかし、損失関数が非有界かつクラス領域が複数に存在するときに対応不可能。 15 アンカーとProxyの類似度のexponential和 (※アンカーと同じクラスのProxyの類似度は除く。)
  16. 16. 3. 提案手法 16
  17. 17. 3. 提案手法 1. Softmax Loss / Triplet Loss 2. Softmax Lossの最小化がsmoothedなTriplet Lossの最適化をす ることに相当することの証明 3. Multiple Centers 4. Adaptive Number of Centers 17
  18. 18. 3.1.1. Softmax LossとTriplet Loss • Softmax Loss: • Triplet Loss: 18 𝒙𝑖: 𝑒𝑚𝑏𝑒𝑑された特徴量で単位ベクトル 𝒚𝑖: 𝒙𝑖に対応するラベル [𝒘0… 𝒘 𝐶] ∈ ℛ 𝑑×𝐶 :最終FC層の重み 𝑑: embeddingの特徴量の次元数 𝐶: クラス数 𝒙𝑖, 𝒙𝑗: 同じクラスの特徴量 𝒙𝑗: 𝒙𝑖と異なるクラスの特徴量 𝛿: マージン
  19. 19. 3.1.2. Softmax Loss再考 • スケーリングファクターを導入し、normalized Softmax Lossは以下 のように示せる • 上記を最小化することは、smoothedなtriplet lossを最適化するこ とに相当することを筆者らは証明!(←面白い) 19
  20. 20. 3.2.1. Softmax Lossの最小化がsmoothedなTriplet Lossを最適 化することに相当することの証明 Proposition1: Normalized Softmax Lossは次式に等しい 20 証明 1. KKT条件から𝒑 𝑗は 以下の閉形式を持つ 2. 1.を用いることで、Softmax Lossと一致することがわかる。 : pのエントロピー
  21. 21. 3.2.2. Normalized Softmax Loss 解説 1/2 21 エントロピー正則化項を入れることで Pが極端な分布になるのを防ぐ。 → 外れ値の影響を抑え、ロバスト性を向上
  22. 22. 3.2.2. Normalized Softmax Loss 解説 2/2 22 正則化項との バランスを取る このロスの最適化していくターゲットは となるようロスを最大化すること。 → 𝑥𝑖, 𝑤 𝑦 𝑖 , 𝑤𝑗 をそれぞれ特徴量ベクトルと考えると triplet の最適化に相当すると考えられる。
  23. 23. 3.2.3. Normalized SoftmaxとProxyNCAの比較 • Softmax Loss: • ProxyNCA Loss: 23 𝒙𝑖: 𝑒𝑚𝑏𝑒𝑑された特徴量で単位ベクトル 𝒚𝑖: 𝒙𝑖に対応するラベル [𝒘0… 𝒘 𝐶] ∈ ℛ 𝑑×𝐶 :最終FC層の重み 𝑑: embeddingの特徴量の次元数 𝐶: クラス数 P20の変換 P20の変換 𝒙𝑖と同じクラスの中心点の 類似度だけ抜いている
  24. 24. 3.2.3. Normalized SoftmaxとProxyNCAの比較 • ProxyNCA Loss: ProxyNCA LossはSoftmax Lossと比較すると、𝑦𝑖クラスに対応する値を排除し ているため、lossが非有界となる。つまり、 が無限に大きくなるとロスを無限 に小さなってしまう。 → Triplet Lossのようにヒンジ関数にかませると有界になるので良いので は?と筆者らは言及。(これ以上の議論は論文の範囲外になるので詳しくはさ れていない) 24
  25. 25. 3.2.4. Normalized Softmax Lossの問題点 1/2 Softmax Lossは各クラス領域に中心点が一つと考えて、Triplet Lossの最適化をしたのと 等しい。仮にintra-class内のバリアンスが大きく、上図のように同一クラスに複数クラスター が存在する場合、Softmax lossでは上手く距離学習できないのではないか? 25 クラスA領域 クラスA領域クラスB領域 クラスC 領域 クラスD領域 どちらに中心点を 配置すればよいのか 分からない。。。
  26. 26. 3.2.4. Normalized Softmax Lossの問題点 2/2 Softmax Lossは各クラス領域に中心点が一つと考えて、Triplet Lossの最適化をしたのと 等しい。仮にintra-class内のバリアンスが大きく、上図のように同一クラスに複数クラスター が存在する場合、Softmax lossでは上手く距離学習できないのではないか? → クラスの中心クラスタが複数あることを想定して、Softmax Lossを拡張する。 26
  27. 27. 27 3.3.1. Multiple Centers (HardTriple Loss) クラスcにK個の中心点𝒘 𝑐 𝑘があるとし、 類似度を以下のように定義 上記の類似度を用いて従来のtriplet loss のように異なるクラスとの類似度が マージン𝛿以上離れるように制約を 立てる 最後に先のSoftmax lossに適用し HardTriple lossを得る Softmaxの各クラスに複数の中心点を 導入することで、HardTriple Lossは 改善しているが、max演算子を 使っているのでsmoothではない。 →類似度をsmoothにしていく
  28. 28. 先の類似度 は分布𝒒を導入することで と考え直せる。上式にエントロピーを導 入し KKT条件から分布𝒒は以下の閉形式を持 つ よって、分布𝒒を用いて 類似度は次のように考え直せる 上記の類似度を使って次の SoftTriple Lossを得られる 28 3.3.1. Multiple Centers (類似度をSmoothにする)
  29. 29. 3.3.2. 本論文に出てきた各損失関数の比較 FC層の重みを各クラスの中心点と考えるとFC層の出力は各中心点との類似度を表 している。すなわち、Softmax Lossは各クラスに中心点が一つの場合と考えられる。 HardTriple LossとSoftTriple Lossは同一クラス内の中心点の選択するときの方法が 異なる。(上図は各クラスに2つの中心点を持つ場合を図示) 29 max softmax
  30. 30. 定理1: を満たすとき、次式が得られる • 証明 30 補足 L2-L3: コーシー=シュワルツの不等式( 𝑥𝑦 ≥ 𝑥 2 𝑦 2 ) L3-L4: 𝒙𝑖は単位ベクトルなので 𝑥 2 = 1 3.3.3. 中心点を導入したtriplet lossが元のtriplet lossを 復元できることの証明 ※ 𝒙𝑖は単位ベクトル
  31. 31. • εを減らすには、極端にいうと サンプル数と同じだけ中心点が あればεはゼロとなり従来のTripletを サンプリングする事と一致する • 一方で、中心点の数が増えると最終 レイヤーの計算量が増え、過学習の リスクも増す できるだけ中心点の数は少ない方が 良い 31 3.3.3. 中心点を導入したtriplet lossが元のtriplet lossを 復元できることの証明 定理1: を満たすとき、次式が得られる ※ 𝒙𝑖は単位ベクトル
  32. 32. 3.4.1. Adaptive Number of Centers 32 初期に1クラス当たりの中心点を多めに用意しておき上記のように 同じクラスの中心点同士が近づきマージされていくような正則化項 を導入する。 クラスA領域① クラスA領域② クラスB領域 クラスC領域 クラスA領域①+② クラスB領域 クラスC領域 1.同じクラスの中心点同士を近づける 2.中心点同士が重なれば実質的に中心点を減らせる
  33. 33. 3.4.2. Adaptive Number of Centers • 中心点 と同じクラスの中心点を用い次のような行列を定義 • と が完全に一致する時、以下を満たす事は明らか • 近い中心点同士が上式を満たすようにするためL2ノルムを 応用し、次のように を定義する 33
  34. 34. 3.4.2. Adaptive Number of Centers • 前ページで定義した を各中心点で合計する • 上式の𝒘は単位ベクトルであるため、次のように簡略化できる • 最後に各クラスごとに足し合わせ最終的に以下のlossを得る 34
  35. 35. 4. 実験 35
  36. 36. 4. 実験 1. 実験条件 2. 実験結果 (visual categorization datasetを利用) 1. CUB-2011 2. Cars196 3. Stanford Online Products 36
  37. 37. 4.1. 実験条件 1. モデル: Inception with batch normalization – ImageNetで事前学習 – batch size: 32 2. 検証する提案手法 – Softmax_norm: – SoftTriple: τ=0.2, γ = 0.1, δ = 0.01, K = 10. 3. メトリクス: 正規化相互情報量(NMI) 37
  38. 38. 4.2.1. CUB-2011 • データセットについて – 11, 788枚の200種の鳥の画像で構成されたデータセット – 最初の100種のラベルを学習用、残りをテスト用として分割 • 実験内容 1. Embeddingの次元数が64であるメソッドでの比較 2. Embeddingの次元数が大きいメソッドでの比較 3. 正則化項の有効性検証 4. Softmax_norm/SoftTripleの定性評価 38
  39. 39. 4.2.1. CUB-2011: Embeddingの次元数が64であるメソッドでの比較 39
  40. 40. 4.2.1. CUB-2011: Embeddingの次元数が大きいメソッドでの比較 1. 40
  41. 41. 4.2.1. CUB-2011 : 正則化項の有効性検証 1/2 41 クラスごとに正則化項の有無で学習後、中心点がどれくらい マージされずに残っているのかを比較。
  42. 42. 4.2.1. CUB-2011: 正則化項の有効性検証 2/2 42 クラスごとの中心点の数を増やしたときに正則化項の有無で、 どれくらい性能の違いがあるのかを比較。
  43. 43. 4.2.1. CUB-2011: Softmax_norm/SoftTripleの定性評価 43
  44. 44. 4.2.2 Cars196 • データセット – 16, 185枚の196モデルの車の画像データセット – 最初の98クラスを学習用、残りをテスト用として利用 • 実験内容 1. Embeddingの次元数が64であるメソッドでの比較 2. Embeddingの次元数が大きいメソッドでの比較 44
  45. 45. 4.2.2 Cars196: Embeddingの次元数が64であるメソッドでの比較 45
  46. 46. 4.2.2 Cars196: Embeddingの次元数が大きいメソッドでの比較 46
  47. 47. 4.2.3. Stanford Online Products • データセット – 22, 634クラスを含む120,053の商品画像データセット – 最初の11, 318クラスを学習用、残りをテスト用として利用 • 実験設定 – 各クラスに5つの画像しかないため、K=2に修正 – 中心点出力層の学習率を0.01から0.1に修正 • 実験内容 1. Embeddingの次元数が64であるメソッドでの比較 2. Embeddingの次元数が大きいメソッドでの比較 47
  48. 48. 4.2.3. Stanford Online Products: Embeddingの次元数が64であるメソッドでの比較 48
  49. 49. 4.2.3. Stanford Online Products: Embeddingの次元数が大きいメソッドでの比較 49
  50. 50. 感想 • 分類問題を解くことで、結果的に距離学習もできてしまうのは非常 に面白い。 • 一方で、中心が一つの場合(Softmax_norm)と中心が複数の場合 (SoftTriple)の差があまりないので、クラスに複数の中心点を考え る必要なかったのでは?とも思う。 • 距離学習周りを初めてサーベイしたがtripletのサンプリング方法 の研究やembedding方法だけでなく、本論文みたいなのも出てき ていて面白かった。 50

×