Song CVPR’16 Deep Metric Learning via Lifted Structured Feature Embedding

https://arxiv.org/abs/1511.06452

著者

  • Hyun Oh Song (Stanford)

  • Yu Xiang (Stanford)

  • Stefanie Jegelka (MIT)

  • Silvio Savarese (Stanford)

概要

  • \(\mathcal{X}\) : ミニバッチ (embeddingの集合)

  • \(\mathcal{X}^+_{x_i}\) : ミニバッチ内の \(x_i\) と同じクラスのembeddingの集合

  • \(\mathcal{X}^-_p\) : ミニバッチ内の \(x_i\) とは違うクラスのembeddingの集合

\begin{align} L_{lifted} (\mathcal{X}) &:= \sum_{x_i \in \mathcal{X}} \left( \log \sum_{x_k \in \mathcal{X}_{x_i}^+} \exp(m - s(x_i, x_k)) + \log \sum_{x_k \in \mathcal{X}_{x_i}^-} \exp( s(x_i, x_k)) \right) \end{align}

著者らの主張

../_images/lifted_structure_f5.png
  • 線の意味

    • 青の線: negative pairとの距離

    • 赤の線: positive pairとの距離

    • 灰色の曲線: マージン境界 (外側ではロス=0)

    • 矢印の方向: 勾配の方向

    1. Constructive loss

    • 損失関数によりnegative pairとの距離を広げようとするため,anchorは同じクラスから押し出される

    1. Triplet loss

    • 同様にanchorは同じクラスから押し出される (なんでこうなるのかまったく理解できない)

    1. Lifted Structure loss

    • negative pair をミニバッチに複数含めているため,正しい方向に勾配を進めることができる

感想

  • constructive lossもミニバッチを考慮すれば、以下のようになるので、著者らの主張が理解できない

\begin{align} L_{constructive} (\mathcal{X}) &:= \sum_ {x_i \in \mathcal{X}} \left( \sum_{x_k \in \mathcal{X}_{x_i}^+} [m_p - s(x_i, x_k)]_+ + \sum_{x_k \in \mathcal{X}_{x_i}^-} [s(x_i, x_k) - m_n]_+ \right) \end{align}