catch-img

論文紹介: Open-Set Recognition


目次[非表示]

  1. 1.はじめに
  2. 2.Open Set Recognitionとは
  3. 3.論文紹介
  4. 4.再現実装
  5. 5.おわりに
  6. 6.引用

      

はじめに

本記事では,「見たことがないものは見たことがないと答えられられる機械学習モデルを学習させる」,Open Set Recognitionというタスクについて紹介します.

Open Set Recognitionとは


 図1:既存の分類(左)とOpen Set Recognitionが実現する分類(右)


Open Set Recognitionとは,一言で言うと「見たことがないものは見たことがないと答えられられる機械学習モデルを学習させる」というタスクです. 例えば画像を入力して犬か猫かを分類させるようなモデルを学習させたような状況を考えた際,一般的な分類モデルはどんな入力が来たとしても犬もしくは猫のどちらかであると出力してしまうのですが,現実的には犬でも猫でもないものが映り込む可能性があります.そのような際には,「犬でも猫でもないです」と機械学習モデルに出力してほしくなりますよね. 例えば外観検査のようなシステムを考えた際にも,予め全ての異常を前もって把握しておけるケースは少ないです. このようにOpen Set Recognitionは,機械学習システムを社会実装する上では必要不可欠な技術となってきます.


論文紹介

では,どのようにOpen Set Recognitionを実現すれば良いのでしょうか?今回は,ICLR2022にoralで採択され非常に注目度の高い,Open-Set Recognition: A Good Closed-Set Classifier is All You Need [1] という最新論文を紹介します.

Open Set Recognitionに関しては様々な手法が近年提案されてきており,中にはGANなどを使用し未知データの生成と組み合わせるなど,非常に複雑なシステムが開発されてきていました.

しかしながら,本論文は,非常にシンプルな手法で既存の複雑な手法と同程度の精度を出せることを示しました.



具体的には,典型的な分類モデルを学習させた上で,そのモデルに対して未知のデータを入力すると,出力の最大値が小さくなりやすいという性質を利用します. この手法は既存研究においてもベンチマークとして使用されることは多かったのですが,この手法を深掘りしていくアプローチはあまり存在していなかったようです.

既知のデータに対する分類性能を上げていくと未知のデータに対する汎用性が失われていくと考えられており敬遠されていたのですが,実際にはそのようなことは起こらず,既知のカテゴリに対しての分類性能が高くなればなるほど,出力ノードの最大値を用いた未知/既知の分類性能も向上していくことが明らかになりました.



具体的には,長時間の訓練やRandAugmentなどのData Augmentation,Label Smoothing,学習率のスケジューリングなど,既知のクラスの分類性能を高める工夫がそのまま未知クラスの分類性能の向上にも大きく寄与していくようでした.また,Softmaxを取る前の出力の最大値の比較を行うことも効果的だったそうです.


図4: ベースラインの性能向上により,既存のSOTAとの差を逆転することに成功


ひとつひとつの工夫は非常にシンプルではあるのですが,ベースラインの性能をしっかり見直すことで不必要に複雑なシステムを構築する必要はないという示唆が得られたのは,非常に重要な結果なのではないかなと思っています.


再現実装

実際に論文に挙げられている手法を用いてデモを作成してみました.


図5: OpenImagesV6データセットのラベル階層情報


今回はある程度似たカテゴリのデータを使用するため,OpenImagesV6(CC BY4.0, CC BY 2.0)データセットを用いて実験を行いました.このデータセットはラベル情報に階層情報が与えられており,例えば”Bird”のサブカテゴリに詳細な種別が与えられているような形になっています.


図6: Open Set Recognitionの結果例


訓練には図6の上部にあるようにEagle, Canary, Falcon, Chicken, Duckという5つのカテゴリのみを用い,推論時にはそれ以外の種類の鳥も含めた多様なデータが入力として与えられるような設定で実験を行いました.すると,図6の下部にあるようにSparrow, Penguin, Ravenなどに関しては出力の最大値が小さく,未知のものである確率が高いとして出力を返す挙動を確認することができました. 本手法は典型的な分類モデルがベースとなっているため,非常にシンプルな構成でOpen Set Recognitionを実現することができたと言えると思います.


おわりに

既存のベースラインを見直すというのは地味なようではありますが,非常に重要な観点だと思います.例えばMetric Learningにおいてもベースラインを適切に見直すと近年提案されている手法による精度改善はほとんど見られないといった結果[2]が近年得られたりもしてきており,地に足ついた分析の重要性を感じることが多いです.




今後もコニカミノルタAI技術開発部では社会実装まで見据えた技術選定を意識していくことで,価値のあるサービスを提供していけるよう心がけていきます.

引用

[1] Sager et al., (2022), Open-Set Recognition: A Good Closed-Set Classifier is All You Need

[2] Musgrave et al., (2020), A Metric Learning Reality Check

AI技術開発部
AI技術開発部
人行動,医用画像,外観検査など多用な機械学習モデルの開発に取り組んでいます.


pagetop