RetinaNet|DeepLearning論文の原文を読む #18

f:id:lib-arts:20190307122842p:plain

#17はBatch Normalizationについて取り扱いました。

 #18ではRetinaNetについて取り扱います。(必要以上に固く書きたくなく90%〜95%程度の確信度で書きますので、もし間違いなどがあれば気軽にご指摘いただけたらと思います。)

[1708.02002] Focal Loss for Dense Object Detection
以下論文の目次です。基本的な書き方の流れとしてはAbstractは和訳&補足、それ以外の章に関しては要約を中心にまとめます(省く章もあるかもしれません)

0. Abstract
1. Introduction
2. Related Work
3. Focal Loss
4. RetinaNet Detector
5. Experiments
6. Conclusion

 

0 Abstract
Abstractは論文の要旨がまとまっているので一文ずつ精読していければと思います。

The highest accuracy object detectors to date are based on a two-stage approach popularized by R-CNN, where a classifier is applied to a sparse set of candidate object locations. In contrast, one-stage detectors that are applied over a regular, dense sampling of possible object locations have the potential to be faster and simpler, but have trailed the accuracy of two-stage detectors thus far.

和訳:『近年の最も精度の高い物体検出器(Object Detector)はR-CNNに代表される二段階のアプローチに基づいており、二段階アプローチでは分類器(classifier)が物体位置の候補の疎な集合に適用される。それに比べ、一般的で密な物体位置のサンプルに適用される一段階の検出器はより速くかつ単純な一方で、精度の面では二段階の検出器に追随するにとどまっている。』
二段階アプローチの例としては、R-CNN、Fast R-CNN、Faster R-CNNなどが有名です。一方で一段階アプローチの例としてはYOLO(You Only Look Once)、SSD(Single Shot Detector)などが有名です。2013~2016年頃の研究トレンドとしては二段階アプローチで出したSOTAの精度を一段階アプローチで高速化しながら追いかけるというのがメインと考えて良いのではと思います。

In this paper, we investigate why this is the case. We discover that the extreme foreground-background class imbalance encountered during training of dense detectors is the central cause.

和訳:『この論文では本当にそうな(一段階のアプローチが精度面で二段階のアプローチに劣る)のかどうかについて探索する。我々は密な検出器の学習中に生じる極端な前景(物体;Object)と背景のアンバランスが中心的な原因だということを突き止めた。』
一段階のアプローチの弱点としては、検出器の学習中に大量に実際とは違う候補を抽出してしまうことがアンバランスを生み学習の精度向上を妨げていることをここでは示唆しています。

We propose to address this class imbalance by reshaping the standard cross entropy loss such that it down-weights the loss assigned to well-classified examples. Our novel Focal Loss focuses training on a sparse set of hard examples and prevents the vast number of easy negatives from overwhelming the detector during training.

和訳:『我々は通常のクロスエントロピー誤差を変形してよく分類された例のロスの重みを減少させることでアンバランスに対処する手法を提案する。我々の新しいFocal Lossのアプローチは疎集合における学習に着目し、学習にとても多くの簡単な負例が検出器を押しつぶすことを妨げる。』
解決策としてこの論文のテーマであるFocalLossを提案しています。

To evaluate the effectiveness of our loss, we design and train a simple dense detector we call RetinaNet. Our results show that when trained with the focal loss, RetinaNet is able to match the speed of previous one-stage detectors while surpassing the accuracy of all existing state-of-the-art two-stage detectors

和訳:『FocalLossを用いた効果的な誤差関数を評価するにあたって、RetinaNetというシンプルで密な検出器を設計し学習を行っている。結果として、FocalLossを用いて学習した際はRetinaNetはこれまでの一段階の検出器と同様のスピードを出しながら、現存するSOTAの二段階の検出器を精度で上回った。』
FocalLossの良し悪しを検証するために、RetinaNetというシンプルなネットワークを構築し、それで実験を行ったことについて言及がされています。

 

1. Introduction
1stパラグラフでは物体認識タスクにおける二段階(two-stage)でのアプローチの成功についてまとまっています。2ndパラグラフではそれに対比して(one-stage)でのアプローチの取り組みに関してYOLO[2015]やSSD[2016]などを挙げ、精度的に少々劣るもののスピードでは上回っていたことについて言及されています。3rdパラグラフではこの論文のテーマであるtwo-stageのアプローチと同様のレベルで検出がone-stageのアプローチを作るにあたって、クラス間のアンバランス(class imbalance)が学習を妨げていたことを指摘しSOTAの検出性能とそのアンバランスを防ぐための誤差関数を提案するとされています。
4thパラグラフでは3rdパラグラフで言及されたクラス間のアンバランスはtwo-stageのアプローチでは取り組まれていることについて言及されています。5thパラグラフでは4thパラグラフに比較して、one-stageのアプローチでのclass imbalanceの問題が大きな問題であることについて言及されています。6thパラグラフではFocalLossという新しい誤差関数を提案し、これがclass imbalanceの解消に役に立つことが言及されています。7thパラグラフではFocalLossの効率性を示すにあたってRetinaNetというネットワークを構築し、検証を行ったことについて言及がされています。

 

2. Related Work
2節では関連研究についてまとまっています。主に三つのパートで成り立っており、まず一つ目はClassic Object DetectorということでDeepLearning以前のアプローチとしてHOG[2005]やDPM[2010]について言及されています。特にDPMはPASCALのデータセットで何年かトップだったと言及されています。二つ目はTwo-stage Detectorについてまとめられています。研究の例としてはR-CNNや領域提案ネットワーク(RPN; Region Proposal Network)を用いたFaster R-CNNなどが挙げられています。三つ目はOne-stage Detectorについてまとめられており、OverFeat[2014]やYOLO[2015]、SSD[2016]について言及されています。4つ目はSSDなどを例としてclass imbalanceについて、5つめはRobust Estimationについてまとめられています。


3. Focal Loss
3節ではFocal Lossについてまとまっています。

f:id:lib-arts:20190307144421p:plain
上記のように通常ベーシックに用いられるクロスエントロピー(CE; Cross Entropy)誤差を二値分類において数式で示されています。

f:id:lib-arts:20190307145618p:plain

この通常のCEの数式は上図のFigure1において一番上の青い曲線を表しています。

続く3.1節ではCEの拡張としてα-balanced CEが導入されています。

f:id:lib-arts:20190307170048p:plain
これは上記のようにパラメータの α_{t}をクロスエントロピーに掛け合わせることで値を導出しています。またこの値を5節でまとまっているExperimentsのベースラインとしたとされています。

次の3.2節ではFocal Lossの導入を行っています。

f:id:lib-arts:20190307171312p:plain
上記の数式のように (1-p_{t})^γを掛け合わせることによって p_{t}の値が大きい時にlossの値がCEよりも圧倒的に小さくなります。具体的な値についても言及されており、γが2の条件下では p_{t}が0.9の時に100倍、0.968の時に1000倍とされています。またγの値は0の時がCEに一致しますが、γが2の時に最適とされています。

3.3ではモデルの問題設定や初期値設定に関して、3.4はTwo-stage検出器においては元々の提案領域の比率がαバランシングに近い状況を作ってくれるので不要であることについてまとめられています。


4. RetinaNet Detector
4節ではFocal Lossを導入したネットワーク構造であるRetinaNetに関して言及されています。

f:id:lib-arts:20190307172935p:plain
上図で示したFigure3に主にまとまっていますが、FPN(Feature Pyramid Network)、Anchor、Classification Subnet、Box Regression Subnetについて諸々まとまっています。
4.1節では推論について、Focal Lossについて、初期化について、最適化について諸々まとまっています。


5. Experiments

f:id:lib-arts:20190307173031p:plain
上図のように他のモデルと比較した結果がまとまっています。


6. Conclusion
省略します。