Help us understand the problem. What is going on with this article?

[Survey]Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning

More than 3 years have passed since last update.

ImageNet classification challengeのTest Setの結果がMicrosoftのResNetを超えたgoogleの論文
Microsoftはtop-5 errorが3.57%だったが、こちらは3.08%

論文のポイント
Residual connectionを使った
・Residual connectionに改良を入れた(bottleneckを1x7と7x1にした)
不安定対策scalingを入れた

Residual Connection
MicrosoftのResNetはこんな感じ

範囲を選択_108.png

Architecture

3つのArchitectureで評価を行っている。
Architecture毎の違いは下記の通り

Inception-ResNet-v1: InceptionとResNetのhybridで計算コストが少ない方
Inception-ResNet-v2: InceptionとResNetのhybridで計算コストが多い方
Inception-v4: ResNetなしでInceptionを改良したもの

Inception-v4

範囲を選択_109.png

Inception-ResNet-v1 and Inception-ResNet-v2

ResNetを使ったVersionの全体図は下記の通り
範囲を選択_116.png

各ブロックの図は論文にあるが数が多いので割愛。
ちなみにresidual connectionを使ったブロックは下記のような感じになっている。
範囲を選択_119.png

scaling

filter数が1000を超えると、学習が不安定になる(値が0になる)。
Microsoftの論文のようにwarm-upをしても改善しない。
この論文では、下の図のように残差を0.1から0.3の間で値をscale downしたら安定したらしい。
このScale downは不必要なものだけど、trainingの安定には役立ったと書いてあった。

範囲を選択_117.png

Training Methodology

momentum 0.9
RMSProp decay 0.9 epsion 1.0
learning rate 0.045で2 epochごとに0.94倍

Experimental Results

・validationの時に、性能が悪くなる1700 blacklistデータを除いたもので行った。
・これらはbenchmarkを測定するときだけ使えばいい。
・最初の論文では含まれているので、差がtop-1で0.3%、top-5で0.15%でるけど、差が一定だからcurveの比較には問題ないと思う。

論文にはたくさん結果が掲載されているが、代表的なものだけ

Inception-v4とInception-ResNet-v2の比較
最終的な性能は同じぐらいだが、ちょっとだけresidual versionの方が性能がいい。あと、学習の収束が速い。
範囲を選択_121.png

single modelの結果
範囲を選択_120.png

ensembleの結果
Top-5 Errorで3.08%で、1位だったMicrosoftを上回っている

範囲を選択_118.png

最後に

ものすごい力技のような気がするのは気のせいか。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away