機械学習

【論文紹介】 VGG16 / VGG19

VGG16はネットワークの構成の種類です。

2014年のILSVRCで2位になった、オックスフォード大学のVGGチームのネットワーク。AlexNetをより深くした、畳み込み層とプーリング層から成るどノーマルなCNNで、重みがある層(畳み込み層や全結合層)を16層、もしくは19層重ねたもの。それぞれVGG16やVGG19と呼ばれる。

VGG19の方が新しいようなので、VGG19の論文を読みました。この論文にVGG16についても載っています。

概要

VGG19を構成して性能の評価を行った。VGG19はConvNetのアーキテクチャの深さを深くしたもの。性能が向上することから、性能の向上とアーキテクチャの深みは関係があることを結論づけています。小さなconvolution filter(3 x 3)を使った深いアーキテクチャで精度が向上しました。

先行研究との比較

精度が向上した。

技術や手法の特徴

ネットワーク

  • 3×3(一部1×1)の畳み込みのみを利用する
  • 同一出力チャネル数の畳み込み層を幾つか重ねた後にmax poolingにより特徴マップを半分に縮小する
  • max poolingの後の畳み込み層の出力チャネル数を2倍に増加させる

table 1

table 2

学習方法

バッチサイズは256、モメンタムは0.9、dropout ratio0.5、learning rate 10^-2からはじめて改善されるごとに減らしていきます。重みの初期化が重要なので、重みを学習させる時はtable1のAの構成でrandom initializationすることからはじめています。
理由はAの構成は、ネットワークが深くなく、random initializationが可能だからです。そして、B~Eのより深いネットワークの重みの初期化には、Aで学習済みの重みをはじめの4つのconv layerと最後の3つのfully connected layerに適用します。Aの学習を行う際は、learning rateの減少は行いません。

検証方法

ILSVRC-2012 datasetを使って、top-1 errorとtop-5 errorで比較しました。top-1 errorは画像を分類した上位1つに正解の分類が入っていない確率、top-5は上位5つです。

テストの画像サイズを統一したケース。
table 3
ネットワークが深く、学習の画像サイズの乱れがあった方がうまくいっています。

テストの画像サイズが複数あるケース。
table 4
これも深い方がよい結果となっています。

1枚を1回で判断するdense evaluation(今まで使っていたもの)と、1つの画像に対してwindow slidingして判断するmulti-crop evaluationで精度を出しています。
table 5
vgg16とvgg19の比較だとvgg16の方が良い結果になっています。単に深くすればよいものではないようですね。

複数のモデルの結果の平均値で比較しています。
table 6
改善する組み合わせもありました。
table6の内容は他の手法と比較してもかなり良い結果となっています。

table 7

議論

他のモデルでも更にネットワークを深くすることで精度が上がる可能性がある。Appendix Bを参照。

その他

Isotropically rescaling

multi-corp evaluation

Multi-crop は、1つの入力画像に対して複数のCropをする手法(Window sliding)

参考

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です