Chainer:畳み込み1層入れただけでCIFAR-10の認識精度が10%向上


2017年 05月 16日

畳み込みを1層だけ最初に追加したCNNでCIFAR-10の学習をさせた結果が以下である。

CIFAR-10$ python train_cifar2.py -g 0 -u 200 200 -e 30
GPU: 0
# number: 50000
# units: [200, 200]
# Minibatch-size: 100
# epoch: 30

epoch       main/loss   validation/main/loss  main/accuracy  validation/main/accuracy  elapsed_time
1           1.48308     1.24916               0.47942        0.5549                    7.63466
2           1.09741     1.1589                0.61328        0.5884                    15.1307
3           0.902901    1.12019               0.684281       0.607                     22.6394
4           0.746917    1.12401               0.73846        0.6189                    30.102
5           0.607654    1.19505               0.78932        0.6183                    37.5926
6           0.473919    1.24625               0.834919       0.6182                    45.1233
7           0.360158    1.45592               0.87666        0.6133                    52.5734
8           0.272877    1.64055               0.905601       0.5979                    60.049
9           0.200269    1.79699               0.932441       0.593                     67.5596
10          0.147457    2.04664               0.951441       0.6033                    75.1765
11          0.138903    2.10482               0.954261       0.6068                    82.7928
12          0.119845    2.36163               0.959241       0.5933                    90.3151
13          0.100088    2.4714                0.966941       0.5943                    97.825
14          0.0921214   2.58492               0.969361       0.5995                    105.367
15          0.0904041   2.68363               0.970821       0.5898                    113.004
16          0.0665794   2.76532               0.97846        0.6024                    120.664
17          0.0730196   3.07065               0.975461       0.5976                    128.205
18          0.0666776   3.06092               0.977981       0.5966                    135.714
19          0.06255     3.05346               0.98012        0.605                     143.241
20          0.0676996   3.14168               0.978761       0.5951                    150.761
21          0.0504124   3.24065               0.984          0.5864                    158.293
22          0.0662862   3.33464               0.97872        0.5926                    165.852
23          0.0556291   3.08113               0.982401       0.5892                    173.412
24          0.0491994   3.51707               0.9846         0.5939                    180.943
25          0.0509226   3.43427               0.983321       0.5909                    188.522
26          0.0460675   3.51363               0.98522        0.6022                    195.956
27          0.0530636   3.69479               0.98338        0.591                     203.52
28          0.0500169   3.60148               0.98434        0.5908                    211.039
29          0.0501503   3.55716               0.98432        0.5945                    218.465
30          0.0384891   3.71265               0.9885         0.581                     225.952
CIFAR-10$

accuracy-CNN1.png

第4epochで、最高精度 61.89% になり、その後少し下がって60%前後をうろちょろしている。

畳み込みを1層追加する前(Chainer:CIFAR-10のカラー画像の学習の最初の一歩)は、50%を少し超えたあたりが限界だったので、1層入れただけ、それも何も考えず、何も工夫していない入れ方で10%も向上した。

畳み込みは、どうやら強力なのかもしれない。

次回は、畳み込み層をもう少し増やして、どんどん精度が上がるかどうか調べてみよう。