【論文読解めも】Fixing the train-test resolution discrepancy
概要
画像分類モデルにおいて、訓練時の前処理(データ拡張)とテスト時の前処理(center crop)が異なることによって生じる切り取り領域(RoC: Region of Classification)の違いが、データ分布のシフトをもたらしてしまうことを明らかにしている。
ここで、分布のシフトとは以下のヒストグラムに示すような事態を指している。紫の分布は、訓練時のデータ拡張と切り抜きによって得られる領域が、全画像の面積の何%を閉めているかという割合を表している。ランダムなリサイズ&切り抜きを行うために、なだらかな分布になる。一方で、テスト時は、center cropのみを行うと画像の縦横比のみがこの割合を決定するために、(データセット内で縦横比が同じ画像が多いため)一部の値のみが突出して頻度が大きいという結果が得られている。ひと目見てわかるように、訓練時の分布とテスト時の分布は大きく異なる。
この問題を回避するために、訓練時の解像度とテスト時の解像度を適切に選ぶことによって、分布のシフトを抑え、精度を向上させる手法を提案している。訓練時の解像度の方がテスト時の解像度よりも低い方が望ましいという結論が得られ、その結果として訓練時間の短縮ももたらされる。
Touvron, H., et al. "Fixing the train-test resolution discrepancy." Advances in Neural Information Processing Systems (NeurIPS), 2019 (2019).
訓練時とテスト時でRoCが異なってしまうという状況は2つの問題をもたらす。
- リサイズによって、物体の見かけ上の大きさが変化してしまう
- global pooling層の出力の統計量を変化させてしまう
以下、それぞれについてどういうことなのかを確認する。
Scale and apparent object size
単純な透視投影モデルを考える。物体の大きさを
訓練時のRoC:RandomResizedCrop
PyTorchのRandomResizedCropを例に、訓練時のRoCがどのように決まるのかを確認する。
RandomResizedCropでは、ランダムな大きさ
このようにして切り抜かれた画像中に含まれる物体の大きさ
テスト時のRoC:CenterCrop
テスト時は、入力画像の短辺が
こちらも、サイズ標準化機能をもっている。
訓練時とテスト時の物体の大きさ
訓練画像中の物体の大きさとテスト画像中の物体の大きさを比較すると、以下のようになる。
まず、
この結果は、テスト画像中の物体サイズは訓練中の物体サイズよりも小さい傾向があることを表している。この比率の期待値を1に近づけるためには、テスト画像のサイズを訓練画像のサイズよりも大きくする必要がある。
Scale and activation statistics
224のサイズで訓練したResNet-50を用いて、テスト画像をさまざまな解像度で入力した時、global average poolingの出力(ReLUを経由しているので0以上の値)の累積分布がどのようになるのかを以下に示す。
テスト画像のサイズが64のように小さい時は、global average pooling前の出力は
Larger test crops result in better accuracy
以上のような事実を踏まえ、テスト時の入力画像の解像度
手法
ここまでの議論を踏まえて、訓練時とテスト時における物体の見た目の大きさの差異を調整し、global average pooling後の出力の累積分布を揃えるための方法を提案している。
見た目の大きさの際の調整
Activationの統計の補正
上の操作によって、見た目の大きさに関する補正が行えるが、global average pooling後の出力の累積分布が異なってしまうという問題が生じるので、以下の2つの戦略によって補正することを考える。しかし、実際にはいずれの場合も、大きな改善はみられなかったと結論づけている。
Frechetモデルの当てはめによる調整
global average pooling後の出力が、Frechet分布にしたがっているとして、入力画像サイズによってこの分布のパラメータがどのように異なるのかを推定し、それを元に分布が一致するように補正している。
ファインチューニングによる調整
入力画像サイズの変化は、一種のドメインシフトと考えられるので、一般的なファインチューニングの作法が使える。訓練データを使用したまま、
これにより、以下のように分布が一致するように補正できる。
本論文が提案している手法は、最近の画像分類モデルだと当たり前に使われている。もっとも、Activationの統計の補正は採用していないことが多いようだ。