0
入力=出力以上のネットワークを訓練しようとします:f(x)= x < ==> y = x < ==> x = x入力が出力と等しく、重みが1に初期化されても平均二乗誤差がより大きくなる
したがって、私はサイズの入力を持っています。 [1、500、500、3]と私のネットワークは次のようになります。
logits = tf.layers.conv2d(inputs=x, filters=3, kernel_size=1, padding='SAME', name ='logits', kernel_initializer=tf.ones_initializer(), trainable=True)
それから私は損失の計算:
loss = tf.losses.mean_squared_error(x, logits) > 0
をしかし、ネットワークが0
の損失を示していません私の意見では、私はx = yを設定すると、1で重みを初期化するときに損失が0になるはずだと思いました。
私の心に何か問題はありますか?
あなたの入力のチャンネルの合計はどういう意味ですか?あなたがチャネル= 1を持っていたら、それは合計ではないでしょうか? 注:別のテストでuse_bias = Falseを設定しましたが、まだ動作しませんでした。 – thigi
'conv2d'のリンクされたドキュメントは、私ができるよりも優れていると思います。 –
そう、私が言ったように、チャネル= 1の場合、合計がないので、損失が0.0を返すべきであるように動作するはずです。 – thigi