Object Detection as a Positive-Unlabeled Problemを読んだのでメモ
はじめに
Object Detection as a Positive-Unlabeled Problemを読んだのでメモ.
気持ち
物体検出のデータセットは正解ラベルが抜けていることが多々ある(例えばFig. 1).そして従来の物体検出手法は学習中ラベルなし領域全てを背景領域として扱ってしまうため,真に物体である領域を背景領域として扱ってしまう問題がある. 実際そのようなデータでモデルを学習すると通常の学習により検出できたいた物体が検出できなくなってしまう(Fig. 2). 特にラベルが付いていないモデルはしばしばhard exampleである場合が多く,hard exampleはサポートベクターの観点から識別境界を決定するのに重要なサンプルとなる.
この論文では,物体検出をPositive-Unlabeled Problem(正例ラベル付きデータとラベルなしデータからなるデータを使った問題設定)として捉え,PU problemとしての学習手法を提案するというもの.
PU Learning
まず前提としてFaster R-CNNのRPNによる物体候補領域検出(物体(P)か否(N)かの2値分類)を考える.入力のデータをとし,ラベルをとする. 通常の学習(Positive-Negative problem)ではPとN両方のラベルを使用できるが,PU learningではPのラベルのみを使うことができ,残りはラベルなし(U)となる.
をが従う同時分布とし,ととをそれぞれPとNとUの分布とする. また,をPの事前分布,をNの事前分布とする.
Positive-Negative(PN)の設定ではデータは,から,,のようにサンプリングされるものとする. を任意のモデルとした時,PNによる学習を以下の目的関数を最小化するようにモデルを決定するものとして定義する.
ここでととする.ただしはクロスエントロピーのような損失関数.
PUの設定ではは使えず,全てラベルなしデータに含まれる. ,,とした時,PUでは直接計算できないNに関する事前分布をとして計算する. 従って,PU学習における損失は次のように定義される.
ただし,,とする.
上記の定式化は自然ではあるもののプラクティカルにはデータにoverfitしてしまうため,先行研究で提案されたnon-negative PU riskを使うとのこと.
Estimating
PU learningとして目的関数を定式化することができたがの推定方法が必要となる. ここでは推定されたをとし,はRPNの推論結果から推定されるとする. RPNによって推論された前景領域(objectnessが0.5以上)の数をとし,RPNによってサンプルされた全ての候補領域数をとすればは次のように計算される.
この場合は入力される画像によってブレが大きいので,実験では学習中を係数とした移動平均を利用する.
まとめ
実験では画像のアノテーションの一部をランダムで無視することで意図的にPU問題を作り出しPNと比較を行っており,Uの割合が増えるほどPNからの性能の向上が著しい.
ただ一方で画像中の一部ではなく学習データそのものを減らしてPNと比較した場合にはPNの方が性能が高いので,基本的にはちゃんとアノテーションをつけようという結論になる気もする.