DEEP LEARNING: Convolutional Neural Network #2: AI-Anesth 5

前回の Convolutional Neural Networkについて、もう少し理解を深める。
そのために、以前と同様に重みパラメータを調べる。
モデルに対するパラメータを表示させる関数paramTable()を用いて、重みパラメータの初期値と最終値を表示させる。ただし、コンソール・ターミナル出力ではオーバーとなるため、標準出力をファイルへ切り替えて、重みパラメータテーブルをout_pre.txtとout_post.txtへ書き込む。

第0層 Convolution層:
28 x 28ピクセルで構成されたMNISTの数値画像に対して、5×5行列重みフィルタ20セットを掛け合わせる。画像は、ストライド(1,1)により、24 x 24ピクセルに畳み込まれる。パラメータとして、5×5行列20セットと20個のバイアス値が出力された。


パラメータ初期値は、

第1層 Pooling層:
第0層で更新された24×24行列に対して、2×2の行列サイズごとにストライド(2,2)でMax値を拾い、その結果、12×12行列にダウンサイジングされる。

第2層 Convolution層
12 x 12ピクセルに畳み込まれた数値画像に対して、5×5行列重みフィルタ50セットを掛け合わせる。画像は、ストライド(1,1)により、8 x 8ピクセルに畳み込まれる。パラメータとして、5×5行列20セットx 50セットと50個のバイアス値が出力された。

パラメータ初期値は、

第3層 Pooling層:
第2層で更新された8×8行列に対して、2×2の行列サイズごとにストライド(2,2)でMax値を拾い、その結果、4×4行列にダウンサイジングされる。

第4層 Dense層:
第3層で、4×4行列にダウンサイジングされた画像イメージの50チャンネル各4×4=16ポイント=800個に対して、500個のニューロンへ接続。500個の行列重みパラメータが800個と、500個のバイアス値が出力される。

パラメータ初期値は、

第5層 Output層:
第4層からの500個入力に対して、数字0~9に該当する10個のアウトプットニューロンへ。
重み行列10個x500個の重み行列と10個のバイアス値が出力される。

これらの重みとバイアスパラメータが、訓練データにより更新されて、以下のようになった。