Tensorflowの第1層ニューロンの重みは変化しません

リアム

最初の層のニューロンの重みが変わらなくても大丈夫ですか?

私はTensorflowのMNISTネットワークに参加しており、「推論」関数で次のようなニューロンの重みを取得しようとしました。

def inference(images, hidden1_units, hidden2_units):

    weights = []

    # Hidden 1
    with tf.name_scope('hidden1'):
        weights.append(tf.Variable( tf.truncated_normal([IMAGE_PIXELS, hidden1_units], stddev=1.0 / math.sqrt(float(IMAGE_PIXELS)))))
        biases = tf.Variable(tf.zeros([hidden1_units]))
        hidden1 = tf.nn.relu(tf.matmul(images, weights[0]) + biases)

    # Hidden 2
    with tf.name_scope('hidden2'):
        weights.append(tf.Variable(tf.truncated_normal([hidden1_units, hidden2_units],stddev=1.0 / math.sqrt(float(hidden1_units)))))
        biases = tf.Variable(tf.zeros([hidden2_units]))
        hidden2 = tf.nn.relu(tf.matmul(hidden1, weights[1]) + biases)

    # Linear
    with tf.name_scope('softmax_linear'):
        weights.append(tf.Variable(tf.truncated_normal([hidden2_units, NUM_CLASSES],stddev=1.0 / math.sqrt(float(hidden2_units)))))
        biases = tf.Variable(tf.zeros([NUM_CLASSES]))
        logits = tf.matmul(hidden2, weights[2]) + biases
    return weights, logits

ウェイトの配列を配置する配列を作成します。

私はこのように配列を印刷します:

print_weights(sess.run(poids))

ここで、print_weightsは

def print_weights(poids):
    for i in range(len(poids)):
        print('--  + str(i) + ' --')
        print(poids[i])

ここまでは大丈夫です。しかし、最初と最後に重みを表示し、最初の層のニューロンの重みは変更されていません。

BEGINNING

-- 0 --

[[ 0.03137168  0.03483023]
 [ 0.01353009  0.00035462]
 [ 0.02957422 -0.01347954]
 ..., 
 [-0.04083598  0.02377481]
 [-0.05120984  0.00143244]
 [-0.01799158 -0.02219945]]

-- 1 --

[[ 0.68714064]
 [ 0.30847442]]

-- 2 --

[[ 0.87441564  0.09957008 -0.58042473  1.34084558 -0.46372819 -0.19947429
  -1.46314788 -0.59285629  0.72775543 -0.69785988]]


END

-- 0 --

[[ 0.03137168  0.03483023]
 [ 0.01353009  0.00035462]
 [ 0.02957422 -0.01347954]
 ..., 
 [-0.04083598  0.02377481]
 [-0.05120984  0.00143244]
 [-0.01799158 -0.02219945]]

-- 1 --

[[-1.16852498]
 [-0.27643263]]

-- 2 --

[[ 0.98213464  0.12448452 -0.36638314  0.47689819 -0.42525211 -0.13292283
  -1.29118276 -0.49366322  0.74673325 -0.57575113]]

ご覧のとおり、秒と3分の1の重みの配列は変化しますが、最初の重みは変化しません。理由はわかりません...誰かが私を助けてくれませんか?ありがとう!

rdadolf

私はあなたのコードをトレーニングハーネスに包み、問題なく実行しました。

ここでの問題はあなたのコードではなく、結果の解釈だと思います。Numpyは、最初のカップルと最後のカップルの要素を表示することにより、表示した方法で大きな配列を要約します。poidsリストの要素np.array'sです。)

あなたが見ているのは、最初のカップルと最後のカップルの重み要素が変化していないということですが、あなたの結論は、マトリックス全体が変化してないということです—しかし、それはそうです!

代わりに、これを要約方法として使用してみてください(いくつかの要素ではなく、平均と標準偏差を出力します)。

def print_weights(poids):
  for i in range(len(poids)):
    print('-- ' + str(i) + ' --')
    print(np.mean(poids[i]),np.std(poids[i]))

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

多層パーセプトロンの重みは変化しません

分類Dev

D3サンバーストの第2層は、第1層の全幅を占めていません

分類Dev

Kerasを使用する場合、トレーニング後に最初のレイヤーの重みは変化しません

分類Dev

Tensorflow-トレーニング可能な変数は時間の経過とともに変化しません

分類Dev

Tensorflowの顧客化トレーニング-ValueError:変数dense / kernel / Adam /は存在しませんか?

分類Dev

メニュー項目の可視性は部分的に変化しません

分類Dev

TransitionManagerは色の変化をアニメーション化しません

分類Dev

バックページを使用した多層ニューラルネットワークの1つのランダム層の重みの更新?

分類Dev

ニューラルネットワークモデルは、単一層のニューロンごとに異なる重みをどのように学習しますか?

分類Dev

隠れ層のトレーニングは機能しません

分類Dev

useSpringは小道具の変更をアニメーション化しません

分類Dev

ニューロンまたは重みを追加するための学習率を増減しますか?

分類Dev

1つの隠れ層を持つニューラルネットワークはトレーニングできません

分類Dev

テーブルビューの下部の拘束はアニメーション化/変更されません

分類Dev

UIViewは1つのビューコントローラーでのみアニメーション化します

分類Dev

ホバーはほとんどのメニュー項目のリンクの色を変更しません

分類Dev

ニューラルネットワークの出力はあまり変化していません

分類Dev

Androidアニメーションビューは他のビューのサイズを変更しません

分類Dev

連続パーセプトロンの重みはゼロに変化します

分類Dev

隠れ層を追加すると、ニューラルネットワークは1の値しか生成しません

分類Dev

PyTorchの2層ニューラルネットワークは収束しません

分類Dev

2層ニューラルネットワークの精度は向上していません

分類Dev

Caffeは各層のニューロンの数をどのように決定しますか?

分類Dev

3つのリンクはホバーでアニメーション化しますが、1つはアニメーション化しません

分類Dev

PHP Codeigniter-データのクローン化(1行のみで機能しますが、すべての行では機能しません)

分類Dev

加重平均:カスタムレイヤーの重みはTensorFlow2.2.0では変更されません

分類Dev

ニューラルネットワークの損失関数と重み行列が一致しません

分類Dev

Tensorflowは、バックプロパゲーション中に線形重みを更新しません

分類Dev

親のドロップダウンメニューボタンはhrefの場所に移動しません

Related 関連記事

  1. 1

    多層パーセプトロンの重みは変化しません

  2. 2

    D3サンバーストの第2層は、第1層の全幅を占めていません

  3. 3

    Kerasを使用する場合、トレーニング後に最初のレイヤーの重みは変化しません

  4. 4

    Tensorflow-トレーニング可能な変数は時間の経過とともに変化しません

  5. 5

    Tensorflowの顧客化トレーニング-ValueError:変数dense / kernel / Adam /は存在しませんか?

  6. 6

    メニュー項目の可視性は部分的に変化しません

  7. 7

    TransitionManagerは色の変化をアニメーション化しません

  8. 8

    バックページを使用した多層ニューラルネットワークの1つのランダム層の重みの更新?

  9. 9

    ニューラルネットワークモデルは、単一層のニューロンごとに異なる重みをどのように学習しますか?

  10. 10

    隠れ層のトレーニングは機能しません

  11. 11

    useSpringは小道具の変更をアニメーション化しません

  12. 12

    ニューロンまたは重みを追加するための学習率を増減しますか?

  13. 13

    1つの隠れ層を持つニューラルネットワークはトレーニングできません

  14. 14

    テーブルビューの下部の拘束はアニメーション化/変更されません

  15. 15

    UIViewは1つのビューコントローラーでのみアニメーション化します

  16. 16

    ホバーはほとんどのメニュー項目のリンクの色を変更しません

  17. 17

    ニューラルネットワークの出力はあまり変化していません

  18. 18

    Androidアニメーションビューは他のビューのサイズを変更しません

  19. 19

    連続パーセプトロンの重みはゼロに変化します

  20. 20

    隠れ層を追加すると、ニューラルネットワークは1の値しか生成しません

  21. 21

    PyTorchの2層ニューラルネットワークは収束しません

  22. 22

    2層ニューラルネットワークの精度は向上していません

  23. 23

    Caffeは各層のニューロンの数をどのように決定しますか?

  24. 24

    3つのリンクはホバーでアニメーション化しますが、1つはアニメーション化しません

  25. 25

    PHP Codeigniter-データのクローン化(1行のみで機能しますが、すべての行では機能しません)

  26. 26

    加重平均:カスタムレイヤーの重みはTensorFlow2.2.0では変更されません

  27. 27

    ニューラルネットワークの損失関数と重み行列が一致しません

  28. 28

    Tensorflowは、バックプロパゲーション中に線形重みを更新しません

  29. 29

    親のドロップダウンメニューボタンはhrefの場所に移動しません

ホットタグ

アーカイブ