データセットの紹介
CIFAR-10は10類の物のデータセットである。
CIFARの完全の名前は知らないけど「なぜあいつのホムページにはこういうのは全然見つかなかったの?」、とりあえず、CIFARはカナダのリサーチセンターです。
CIFARのホムページはこっち:CIFARの公式サイト
CIFAR-10またCIFAR-100は全てこいつ作り出した公開データセットですし、CIFAR-100の難しさが全く違いのレベルだ。
そして、初心者によって、CIFAR-10はCIFAR-100より適当な入門挑戦だと思います。
ニューラルネットワークの建造
基本タイプはCNNを選んでください、続いてのは、具体的なパラメーター、例はこちらです。
def
Build_IINN
(
n_class
):
dim_x
=
[
1
,
None
,
None
,
3
]
dim_y
=
[
1
,
n_class
]
# configure the convolution layers
n_conv
=
8
conv_config
=
[
None
]
*
n_conv
for
i
in
range
(
n_conv
):
conv_config
[
i
]
=
new_conv_config
(
3
,
3
,
i
%
2
+
1
,
i
%
2
+
1
,
8
<<(
i
//
2
))
# configure the fully connectied layers
n_fc
=
3
fc_config
=
[
None
]
*
n_fc
for
i
in
range
(
n_fc
):
fc_config
[
i
]
=
new_fc_config
(
16
<<
i
)
# configure the special module : feedback attention
n_att
=
3
att_config
=
[
None
]
*
n_att
for
i
in
range
(
n_att
):
att_config
[
i
]
=
new_fc_config
(
64
>>
i
)
return
IINN
(
dim_x
,
dim_y
,
conv_config
,
fc_config
,
att_config
)
研究のため、一応batch normを利用しない。
トレインニングは300エポックでした。結果は悪いです。
TRAINING STAGE#1:
TRAIN = 1.00000 0.99968 0.99954 0.99922 0.99824 0.99698 0.98404
TEST = 0.66570 0.66420 0.66380 0.66330 0.66300 0.65990 0.65810