Metric Learningについて基礎的な内容とArcFaceについて内容をまとめた資料です。
Metric Learning入門2019/9/25 Rev0
View Slide
本資料の位置づけ❏ 読者の想定:Deep LearningでCNNによる画像分類の知識があるが、Metric Learningに関する知識がない方❏ 最終的には、原論文を読んで欲しいですが、基礎となる情報をスライドにまとめました。❏ 資料は今後修正&更新していく予定です。
解こうとしているタスク犬 人 猫Aさん Bさん Cさん一般物体認識(通常の画像分類)特徴1クラスあたりのデータ数が少ない より詳細な物体認識(通常の画像分類)過学習を起こしやすい
metric learningの全体像特徴量抽出器(モデル)学習時利用時①同じクラスは距離が近くなるように学習*実際には、n次元のベクトルです②距離(類似度)を算出検索したいデータ
metric learningの全体像特徴量抽出器(モデル)学習時利用時①同じクラスは距離が近くなるように学習*実際には、n次元のベクトルです②距離(類似度)を算出検索したいデータ学習時には1クラス複数枚の画像が必要利用時には1クラス1枚の画像でもよい
metric learningの種類siamese network triplet network L2 softmax network発表年 2006年〜 2014年〜 2017年〜入力形式2つペアを入力 3つペアを入力 ペア無しで入力モデルの概要ancher
L2 softmax networkの代表的なモデル・CosFace・SphereFace・ArcFace・AdaCos
ArcFace(列ごとに)正規化正規化① をとみなす②正解ラベルに対する のみmのペナルティを与える①②③③logitsの値が小さいので logitをs倍する
Toyデータでの結果
メリット・デメリット・通常のクラス分類のモデルに拡張する形なので実装が容易・クラス数が多いとパラメータ数が多くなる。・(学習時になかった)新しいクラスのデータに対する 予測精度が低いメリットデメリット
ArcFaceのクラス化・正規化・arcCos・+mのペナルティ・s倍のスケールなどの一連の処理をクラス化https://github.com/4uiiurz1/pytorch-adacos
通常の分類モデルの後にmetricモデルの処理をつなげるインスタンス化
活用できそうなケース・商品検索 - 例:自動販売機のジュース、コンビニにあるタバコ - 新商品が発売されても、画像が1枚あれば対応可能・レコメンド(ランキング) - 例:洋服のECサイトで選択した商品に似たアイテムを表示
参考リンク・Metric Learning 入門https://copypaste-ds.hatenablog.com/entry/2019/03/01/164155・モダンな深層距離学習 (deep metric learning) 手法: SphereFace, CosFace, ArcFacehttps://qiita.com/yu4u/items/078054dfb5592cbb80cc・ArcFaceの論文https://arxiv.org/abs/1801.07698・Pytorchの実装コードhttps://github.com/4uiiurz1/pytorch-adacos