テクノロジー

Deep Metric Learning サーベイ

whey's icon'
  • whey
  • 2019/02/21 08:17

## TL;DR

- インターンシップで2週間metric learningをやったのでサーベイ結果をまとめます.

- 論文と手法紹介をこの記事でして,実験はまた別記事で行います

- N-pair SamplingとAngular LossによるMetric Learningがおそらくもっとも安定位していて良い


## 論文・手法

- Triplet Sampling

- Triplet Loss

- N-pair Sampling, N-pair Loss

- L2-constrained Softmax Loss

- Angular Loss


## Metric LearningとDeep Metric Learning

- Metric Learningは類似度や距離を定義し,それらが近いものでクラスタリングする手法です.

- Deep Metric Learningは,距離の定義と抽出をDNNによって行おうというものです.

- 画像データだとPretrainedのCNNを用いて特徴抽出をし,その後ろにfc層を置き,任意の次元に出力するような設計が一般的になると思われます.

- 詳しくはこちらを参照してくださいhttps://techblog.zozo.com/entry/metric_learning


## Triplet Sampling, Triplet Loss

この手法は,ランダムに取得したデータx,xと同じラベルのデータx_p,xと異なるラベルのデータx_nの3つをセットにして学習を行います.

以下のlossを最小化するよう学習します.このf(x)は,DNNによって抽出された任意の次元の出力です.

Content image

この式から同じラベル同士のペアの距離を近づけ,異なるラベル同士を離すような学習をすることがわかります.また,αはハイパーパラメータで論文中の実験ではα=0.2と設定されていました.このαは,2つのラベルをどの程度離すかを設定するパラメータです.

Content image
https://arxiv.org/pdf/1503.03832.pdf


## N-pair Sampling, N-pair Loss

先ほどのTripletを改良したものがこのN-pairです.

TripletにおけるnegativeサンプルをN個(ハイパーパラメータで分類したいクラス数にもよるが比較的多めにとると良さそう)にしたバージョンです.

Content image
http://www.nec-labs.com/uploads/images/Department-Images/MediaAnalytics/papers/nips16_npairmetriclearning.pdf

N個の異なるラベルのnegativeサンプルを用いることで,ひとつのpositiveサンプルに対して,各negativeクラス間の相対的な位置関係がわかりやすくなり,学習が安定するのかなと思われます.

今回のインターンシップでは犬猫の2値分類であり,異常とするデータが非常に少なかったため,さしてうまく作用すると思えなかったため使用しませんでした.


## L2-constrained Softmax Loss

これは抽出されたmetricをnormalizeし,そのmetrciを用いて分類問題を解き,そのlossを流して学習する手法です.

L2正則化を加えることで超球面上にmetricを配置することになり,通常の学習よりも安定するということだと思われます.


## Angular Loss

論文:https://arxiv.org/abs/1708.01682

anchorとpositiveとnegativeの3点を角度の視点から距離を離すように設計されたlossです.文章だけで説明するのが難しいのと,論文が非常に読みやすいわかりやすい良い論文なので,ぜひ論文をよでみてください.

実装自体は非常に簡単なのでウルトラおすすめです.

結果だけ言うと,以下の式を最小化するよう学習します.

Content image

それによって,各微分にanchor, positive, negativeが存在するので,学習が効率よく精度よく進むよと言うことにも言及されています.

Content image


以上です◎

公開日:2019/02/21
獲得ALIS:14.51
whey's icon'
  • whey
  • @whey
Kobe Univ. / Otafuku-Lab, Machine Learning Engineer / Twitter @whey_yooguruto

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
他カテゴリ

機械学習を体験してみよう!(難易度低)

Like token Tip token
69.82 ALIS
Eye catch
クリプト

ブロックチェーンの51%攻撃ってなに

Like token Tip token
0.00 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
120.79 ALIS
Eye catch
クリプト

Uniswap v3を完全に理解した

Like token Tip token
18.92 ALIS
Eye catch
ゲーム

ドラクエで学ぶオーバフロー

Like token Tip token
30.10 ALIS
Eye catch
他カテゴリ

ALISのシステム概観

Like token Tip token
5.00 ALIS
Eye catch
テクノロジー

なぜ、素人エンジニアの私が60日間でブロックチェーンゲームを制作できたのか、について語ってみた

Like token Tip token
270.93 ALIS
Eye catch
クリプト

スーパーコンピュータ「京」でマイニングしたら

Like token Tip token
1.06k ALIS
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

Like token Tip token
46.60 ALIS
Eye catch
クリプト

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

Like token Tip token
947.13 ALIS
Eye catch
テクノロジー

彼女でも分かるように解説:ディープフェイク

Like token Tip token
32.10 ALIS
Eye catch
テクノロジー

オープンソースプロジェクトに参加して自己肯定感を高める

Like token Tip token
85.05 ALIS