今回は、比較的軽量なモデルであるDenseNetを使い、アーキテクチャをkmnist向けに軽量化してみました。論文で提案されているのは以下のモデルで、Kerasにもデフォルトで搭載されているモデルです。ブロック数の設計には揺らぎがあることを確認できます。そこで、これらのブロック数やハイパーパラメータをOptunaで最適化したらどうなるかを検証してみました。DenseBlock(1)(2)の数を3/6に減らしてDenseBlock(3)(4)の編成がどうなるのかを確認しました。15}という結果が得られました。15層必要になりました。3層が比較的重い設定になったのか、学習時間はかなり長めに感じました。軽量なモデルを作りたい場合、以下のコードのn_1stblockを2以下にすると良いでしょう。想定よりもcompressionが低下しました。論文では0.5になっていたので、レイヤー毎に削減されるパラメータ数が多く、高速化できていることが分かります。0.0001と減衰するようにしており、これもDenseNetの元の論文に従っています。ソースコードは以下の通りです。追記、n_1stblockは1~4で検証して、3が最も良かったですが、5以降は計算時間がかかるため行なっていません。optunaでかなりの時間を割いてしまうようです。