problemが絡むタスクでは、ArcFaceがよく使われている印象を受けます。ArcFaceにはスケールファクターとマージンのハイパーパラメーターがあり、煩雑です。AdaCosの論文に載っている固定スケールファクターを使えば、少なくともスケーリングファクターを調整する必要はなくなります。AdaCosの精度と処理時間は、どんな感じなんでしょう。そこで実際に実装して、試してみました。結論AdaCosを固定スケールで使うと、同等の処理時間でArcFaceよりも高い精度が出ました。経験と勘がすべてを支配する「ハイパーパラメーター指定」。これは、機械学習において、避けて通りたい作業です。ハイパーパラメーターの調整は、勘を外せばモデルの訓練が不安定になり、精度にも悪影響がでます。自動調整するライブラリもあるにはありますが、時間もかかりますし、パラメーター範囲の指定も必要です。ハイパーパラメーターフリー、かつ高性能ときいて「AdaCosはハイパーパラメーターフリーで、訓練過程で自動的にスケールパラメーターを調整できるだけでなく、高い顔認識精度を達成することが可能」、とききました。そんな美味しい話があるんですね。そこで早速、AdaCosを実装してtrainを回してみました。