agatan / paper-reading-notes

読んだ論文の管理とメモ置き場
5 stars 0 forks source link

ArcFace: Additive Angular Margin Loss for Deep Face Recognition #4

Open agatan opened 5 years ago

agatan commented 5 years ago

face recognition のような open-set なクラス分類タスクのための枠組みの提案。 ざっくり triplet loss を置き換えるものだと思ったら良い。

ふつうのクラス分類は softmax をつかうが、softmax はクラス数に応じて計算量やメモリ使用量が増えるし、closed-set なタスクにしか使えない。

facenet で使われている triplet loss は anchor, positive, negative の 3 つ組をたくさん作り anchor ↔ positive + margin < anchor ↔ negative になるように学習する。 triplet loss の問題は、↑のような 3 つ組はめちゃくちゃ大量に考えられるのでデータ量が爆発するし hard example を見つけるのが大変すぎる。

そこで、ふつうのクラス分類タスクとして解きつつ各クラス間に十分なマージンができるように学習することで、学習を簡単にしつつ open-set なクラス分類を実現する。 具体的には softmax + crossentropy の代わりに以下のような損失関数を使う。

image

ここで、 cos θ は各クラスの代表ベクトル W と入力画像の embedding x の間の角度。