1. supersaiakujin

    Posted

    supersaiakujin
Changes in title
+[Survey]Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,68 @@
+**ImageNet classification challenge**のTest Setの結果がMicrosoftの[**ResNet**](http://qiita.com/supersaiakujin/items/935bbc9610d0f87607e8)を超えたgoogleの[論文](http://arxiv.org/pdf/1602.07261v1.pdf)
+Microsoftはtop-5 errorが**3.57%**だったが、こちらは**3.08%**
+
+**論文のポイント**
+・**Residual connection**を使った
+・Residual connectionに**改良**を入れた(bottleneckを1x7と7x1にした)
+・**不安定対策**で**scaling**を入れた
+
+**Residual Connection**
+MicrosoftのResNetはこんな感じ
+
+![範囲を選択_108.png](https://qiita-image-store.s3.amazonaws.com/0/100523/c90ed57d-c3d6-de06-56f8-eeaf43eefea0.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](https://qiita-image-store.s3.amazonaws.com/0/100523/e32b7d94-1af6-de2f-5440-c49a9bc46e9d.png)
+
+# Inception-ResNet-v1 and Inception-ResNet-v2
+ResNetを使ったVersionの全体図は下記の通り
+![範囲を選択_116.png](https://qiita-image-store.s3.amazonaws.com/0/100523/7a9ad70b-552a-8784-f208-1c619e8cb32e.png)
+
+各ブロックの図は論文にあるが数が多いので割愛。
+ちなみに**residual connection**を使ったブロックは下記のような感じになっている。
+![範囲を選択_119.png](https://qiita-image-store.s3.amazonaws.com/0/100523/504be1c9-e8f1-e16e-4e0a-6a5dbbac9d83.png)
+
+# scaling
+filter数が**1000**を超えると、学習が**不安定**になる(値が0になる)。
+Microsoftの論文のように**warm-up**をしても改善しない。
+この論文では、下の図のように残差を0.1から0.3の間で値を**scale down**したら安定したらしい。
+このScale downは不必要なものだけど、trainingの安定には役立ったと書いてあった。
+
+![範囲を選択_117.png](https://qiita-image-store.s3.amazonaws.com/0/100523/ff39b0d4-9542-33cf-166f-ad3339ac1c13.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](https://qiita-image-store.s3.amazonaws.com/0/100523/762ab78b-0152-acf9-195f-bbdf0c26e2bc.png)
+
+
+**single modelの結果**
+![範囲を選択_120.png](https://qiita-image-store.s3.amazonaws.com/0/100523/19b1ce74-c51a-e6cb-c512-ccc100b38996.png)
+
+**ensembleの結果**
+Top-5 Errorで3.08%で、1位だったMicrosoftを上回っている
+
+![範囲を選択_118.png](https://qiita-image-store.s3.amazonaws.com/0/100523/c45b9004-0f4e-47ab-460b-cadbea9f6e7e.png)
+
+# 最後に
+ものすごい力技のような気がするのは気のせいか。