FC2カウンター FPGAの部屋 白線間走行用CNNをKerasで学習する2(各層の重みとバイアスの統計情報)
fc2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

白線間走行用CNNをKerasで学習する2(各層の重みとバイアスの統計情報)

白線間走行用CNNをKerasで学習する”の続き。

前回は、白線間走行用CNN をKeras で学習できた。今回は、学習した結果の重みやバイアスの統計情報を見ていこう。

まずは、層の構成から見ていく。
_________________________________________________________________

Layer (type)                 Output Shape              Param #   
=================================================================
conv2d_22 (Conv2D)           (None, 6, 52, 2)          52        
_________________________________________________________________
activation_64 (Activation)   (None, 6, 52, 2)          0         
_________________________________________________________________
max_pooling2d_22 (MaxPooling (None, 3, 26, 2)          0         
_________________________________________________________________
flatten_22 (Flatten)         (None, 156)               0         
_________________________________________________________________
dense_43 (Dense)             (None, 100)               15700     
_________________________________________________________________
activation_65 (Activation)   (None, 100)               0         
_________________________________________________________________
dense_44 (Dense)             (None, 3)                 303       
_________________________________________________________________
activation_66 (Activation)   (None, 3)                 0         
=================================================================
Total params: 16,055
Trainable params: 16,055
Non-trainable params: 0


畳み込み層の統計情報を見ていく。

conv_layer_bias = [-0.3386867 -0.5459513]
np.max(conv_layer_weight) = 0.6478661894798279
np.min(conv_layer_weight) = -0.44461962580680847
np.max(abs_conv_layer_weight) = 0.6478661894798279
np.min(abs_conv_layer_weight) = 0.01398547738790512
np.max(conv_layer_bias) = -0.3386867046356201
np.min(conv_layer_bias) = -0.5459513068199158
np.max(abs_conv_layer_bias) = 0.5459513068199158
np.min(abs_conv_layer_bias) = 0.3386867046356201
conv_output = (26550, 6, 52, 2)
np.std(conv_output) = 0.2930081784725189
np.max(conv_output) = 1.9703364372253418
np.min(conv_output) = -0.6579744815826416
np.max(abs_conv) = 1.9703364372253418
np.min(abs_conv) = 7.748603820800781e-07


畳み込み層の重みの最大値は約 0.65 で、最小値は約 -0.44 だった。(この下からは約を外します)
重みの絶対値の最小値は 0.014 程度だった。
バイアスの最大値は -0.34 で、最小値は -0.55 だった。バイアスの絶対値の最小値は 0.34 だった。
畳み込み層の出力の最大値は 1.97 で、最小値は -0.66 だった。
畳み込み層の重みとバイアスのグラフを示す。
keras_mnist_zero_10_180729.png

次に、全結合層第1層目の統計情報を見ていく。

np.max(dence_layer1_weight) = 0.6284171938896179
np.min(dence_layer1_weight) = -0.452088862657547
np.max(abs_dence_layer1_weight) = 0.6284171938896179
np.min(abs_dence_layer1_weight) = 2.8568319976329803e-07
np.max(dence_layer1_bias) = 0.11784756183624268
np.min(dence_layer1_bias) = -0.08143308758735657
np.max(abs_dence_layer1_bias) = 0.11784756183624268
np.min(abs_dence_layer1_bias) = 0.0
dence_layer1_output = (26550, 100)
np.std(dence_layer1_output) = 0.9401099681854248
np.max(dence_layer1_output) = 5.256106853485107
np.min(dence_layer1_output) = -5.39329195022583
np.max(abs_dence_layer1_output) = 5.39329195022583
np.min(abs_dence_layer1_output) = 8.740462362766266e-07


全結合層第1層目の重みの最大値は 0.63 、最小値は -0.45 だった。バイアスの最大値は 0.12 、最小値は -0.08 だった。
全結合層第1層目の出力の最大値は 5.26 、最小値は -5.39 だった。
全結合層第1層目の重みとバイアスのグラフを示す。
keras_mnist_zero_11_180729.png

最後に全結合層第2層目の統計情報を見ていく。

np.max(dence_layer2_weight) = 1.2727510929107666
np.min(dence_layer2_weight) = -1.23631751537323
np.max(abs_dence_layer2_weight) = 1.2727510929107666
np.min(abs_dence_layer2_weight) = 0.002743939170613885
np.max(dence_layer2_bias) = 0.009167053736746311
np.min(dence_layer2_bias) = -0.028219975531101227
np.max(abs_dence_layer2_bias) = 0.028219975531101227
np.min(abs_dence_layer2_bias) = 0.007371054962277412
dence_layer2_output = (26550, 3)
np.std(dence_layer2_output) = 5.037158012390137
np.max(dence_layer2_output) = 17.514923095703125
np.min(dence_layer2_output) = -16.942663192749023
np.max(abs_dence_layer2_output) = 17.514923095703125
np.min(abs_dence_layer2_output) = 0.00031781941652297974


全結合層第2層目の重みの最大値は 1.27 で、最小値は 0.003 だった。バイアスの最大値は 0.009 で、最小値は -0.03 だった。
全結合層第2層目の出力の最大値は 17.51 で、最小値は -16.94 だった。
全結合層第2層目の重みとバイアスのグラフを示す。
keras_mnist_zero_12_180729.png
  1. 2018年07月28日 05:15 |
  2. TensorFlow, Keras
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/4240-4da6e5f4
この記事にトラックバックする(FC2ブログユーザー)