2
ネットワークにTensorBoardビジュアライゼーションを追加し、外側レイヤーだけが大きく変化することに気付きました。なぜネットワークの重みはあまり変わらないのですか?これは、特にオーバーレイヒストグラムに表示されます。テンソルボードウェイトヒストグラムは最後のレイヤーの表示変更のみ
def neural_network_model(inputdata):
"""The blueprint of the network and the tensorboard information
:param inputdata: the placeholder for the inputdata
:returns: the output of the network?
"""
W1 = tf.get_variable("W1", shape=[set.input, nodes_h1],
initializer=tf.contrib.layers.xavier_initializer())
B1 = tf.get_variable("B1", shape=[nodes_h1],
initializer=tf.random_normal_initializer())
layer1 = tf.matmul(inputdata, W1)
layer1_bias = tf.add(layer1, B1)
layer1_act = tf.nn.relu(layer1)
W2 = tf.get_variable("W2", shape=[nodes_h1, nodes_h2],
initializer=tf.contrib.layers.xavier_initializer())
B2 = tf.get_variable("B2", shape=[nodes_h2],
initializer=tf.random_normal_initializer())
layer2 = tf.matmul(layer1_act, W2)
layer2_bias = tf.add(layer2, B2)
layer2_act = tf.nn.relu(layer2)
W3 = tf.get_variable("W3", shape=[nodes_h2, nodes_h3],
initializer=tf.contrib.layers.xavier_initializer())
B3 = tf.get_variable("B3", shape=[nodes_h3],
initializer=tf.random_normal_initializer())
layer3 = tf.matmul(layer2_act, W3)
layer3_bias = tf.add(layer3, B3)
layer3_act = tf.nn.relu(layer3)
WO = tf.get_variable("WO", shape=[nodes_h3, set.output],
initializer=tf.contrib.layers.xavier_initializer())
layerO = tf.matmul(layer3_act, WO)
with tf.name_scope('Layer1'):
tf.summary.histogram("weights", W1)
tf.summary.histogram("layer", layer1)
tf.summary.histogram("bias", layer1_bias)
tf.summary.histogram("activations", layer1_act)
with tf.name_scope('Layer2'):
tf.summary.histogram("weights", W2)
tf.summary.histogram("layer", layer2)
tf.summary.histogram("bias", layer2_bias)
tf.summary.histogram("activations", layer2_act)
with tf.name_scope('Layer3'):
tf.summary.histogram("weights", W3)
tf.summary.histogram("layer", layer3)
tf.summary.histogram("bias", layer3_bias)
tf.summary.histogram("activations", layer3_act)
with tf.name_scope('Output'):
tf.summary.histogram("weights", WO)
tf.summary.histogram("layer", layerO)
return layerO
は私がトレーニングプロセスの理解私のモデルでは、体重はほとんどの画像で起こるどの調整を受けるべきであるということです。しかし、損失は行われます。私は10000エポックのためにネットワークを訓練したので、私は全体的にもう少し変化が予想されました。特に私は理解できない体重の変化の欠如。誰かがそれについて詳しく説明できますか?
私は神経ネットで同様の問題を抱えており、損失の大半がバイアスによって消費されていることがわかりました。万が一結論に達しましたか? – mamafoku