プーリングのサイズを大きくして実行してみた


2017年 05月 31日

前回、コマンドラインからプーリングのサイズを指定できるようになったので、3×3, 4×4,….のプーリングを試してみよう。
サイズを大きくするということは、データが集約されて、肝心の情報が無視されてしまうような気もするのだが。

まず、3×3の場合。プーリングサイズ以外は、以前と同じ状態だ。


CIFAR-10$ python train_cifar5.py -g 0 -u 500 500 -p 3
GPU: 0
# number: 50000
# units: [500, 500]
# pooling: 3
# Minibatch-size: 100
# epoch: 20

epoch       main/loss   validation/main/loss  main/accuracy  validation/main/accuracy  elapsed_time
1           1.36881     1.05861               0.50406        0.6211                    9.16741
2           0.941233    0.887284              0.66934        0.6877                    18.1766
3           0.765903    0.862215              0.73098        0.6993                    27.2039
4           0.628062    0.834987              0.7782         0.715                     36.3343
5           0.491332    0.892278              0.82718        0.7122                    45.5346
6           0.369885    0.987892              0.86914        0.7141                    54.6321
7           0.258368    1.06508               0.909741       0.7145                    63.7151
8           0.185255    1.28405               0.935921       0.7027                    72.7915
9           0.134805    1.41083               0.953181       0.7086                    81.8067
10          0.102211    1.61051               0.964881       0.7063                    90.8323
11          0.0954875   1.59982               0.966341       0.7073                    99.89
12          0.0744035   1.87134               0.974921       0.6999                    108.908
13          0.0799358   1.87029               0.972621       0.7059                    117.916
14          0.064477    1.79121               0.977761       0.706                     126.942
15          0.0539574   1.99034               0.98168        0.6957                    135.992
16          0.0564298   2.12325               0.981061       0.7012                    145.031
17          0.0636167   1.98566               0.978781       0.6953                    154.082
18          0.0543167   2.06661               0.98182        0.6956                    163.078
19          0.0525986   2.02431               0.982701       0.7004                    172.108
20          0.0473705   2.20115               0.98364        0.6995                    181.123
CIFAR-10$

accuracy-CNNp3x3.png
3×3にしたら、テスト精度が70%を超え、71.5%まで達した。
ということは、どうやらプーリングサイズをもう少し大きくしても大丈夫なようなので、4×4の場合も試してみた。




CIFAR-10$ python train_cifar5.py -g 0 -u 500 500 -p 4
GPU: 0
# number: 50000
# units: [500, 500]
# pooling: 4
# Minibatch-size: 100
# epoch: 20

epoch       main/loss   validation/main/loss  main/accuracy  validation/main/accuracy  elapsed_time
1           1.3321      1.0314                0.51792        0.6355                    8.92798
2           0.918795    0.892485              0.67598        0.6891                    17.7368
3           0.739756    0.828365              0.74008        0.7125                    26.4688
4           0.599331    0.809332              0.78932        0.7276                    35.2266
5           0.462065    0.8635                0.8369         0.7233                    44.0019
6           0.334985    0.901586              0.88288        0.7274                    52.7741
7           0.235922    1.03643               0.916901       0.7221                    61.5884
8           0.16752     1.19928               0.941761       0.7251                    70.3582
9           0.127554    1.30587               0.955101       0.7188                    79.1021
10          0.106585    1.38816               0.962142       0.7147                    87.8739
11          0.0812968   1.61297               0.971281       0.7076                    96.6838
12          0.0796875   1.69275               0.972361       0.7081                    105.472
13          0.0682185   1.78928               0.97666        0.7108                    114.232
14          0.0667448   1.75986               0.977441       0.7132                    123.013
15          0.054462    1.89674               0.981441       0.7137                    131.803
16          0.0661604   1.76279               0.977181       0.7202                    140.547
17          0.0535431   1.84795               0.981821       0.7185                    149.297
18          0.0534156   1.9057                0.982001       0.7144                    158.044
19          0.0432006   2.0893                0.98536        0.7146                    166.812
20          0.0517301   2.09486               0.9826         0.7156                    175.534
CIFAR-10$
accuracy-CNNp4x4.png
4×4にしたら、さらにテスト精度が向上し、72.76%に達している。
ということは、まだまだサイズを大きくすればするほど精度は向上するような気がするが、そんなことがありうるのだろうか?