ArcFaceによる画像分類の超(簡潔な)まとめ


はじめに

本記事ではArcFaceを用いた画像分類の大枠について簡潔にまとめます。
理論的な背景やコードなどは適宜参考サイトを示しますので、ぜひご確認ください。

超まとめ

  • 画像の分類では距離学習(metric learning)という学習手法がよくつかわれる。
    • 距離学習は空間に埋め込んだデータについて、同じクラス同士はまとまって、違うクラス同士は離れて配置されるように学習すること。
    • 単純な分類器では、新しいクラスが追加された際にモデルの再学習が必要だが、距離学習では既存のモデルをそのまま使える。
    • 新しいクラスは、既存のクラスと遠くに配置される(ことが理想的)ので、新しいクラスは新しいクラス同士で特異な場所に集まる。
    • 空間的に集まったデータに対して、未知のデータをプロットして最も近くにあるクラスを予測値として返すのが基本的な考え(後述)。
  • ArcFaceはSOTAな距離学習アルゴリズムのひとつ。
  • ArcFaceは分類器の後半にレイヤーとして追加することで動作する
  • predictではArcFaceを取り除いた学習モデルを使用
  • 出力は各データに対して1つのベクトル(一次元配列)
  • testデータの出力ベクトルと、(あらかじめ計算してある)trainデータの出力ベクトルの距離を計算し、最も距離が近いtrainデータのラベルをpredict結果とする