私はこの簡単な2層フィードフォワードネットワークを持っており、これはMNIST数字を分類することになります。このネットワークでは、満足できる精度を得ることができますが、少し修正したいと思います。 Shrivastava et al.の論文に続いて、横方向モジュールなしでトップダウン変調を組み込みたい(3ページ参照)。また、これらの2つのレイヤーに限定して保存したいので、より深いネットワークを作成しないでください。基本的に、新しいネットワークでは、以下の単純なフィードフォワードネットワークとは対照的に、第2の層が第1の層に再び接続され、このトップダウンフィードバックリンクを達成する。トップダウン変調2層ネットワーク
TensorFlow(またはその他のライブラリについてはこの点については、これを行う方法については、他のソースコード/サンプルが見つかりませんでした。どんな助けや正しい方向へのプッシュも大変ありがとう!あなたが実際に言及
# PREVENTS VANISHING GRADIENT PROBLEM
stddev1=np.sqrt(2/float(784))
# second = 10 units
stddev2=np.sqrt(2/float(10))
w1 = tf.get_variable('w1',[784,10],
initializer=tf.random_normal_initializer(mean=0, stddev=stddev1))
b1 = tf.get_variable('b1',[10,],
initializer=tf.constant_initializer(0.0))
# relu has vanishing gradient problem
z1 = tf.matmul(x, w1) + b1
y1 = tf.nn.relu(z1) #
# layer 2
w2 = tf.get_variable('w2',[10,10],
initializer= tf.random_normal_initializer(mean=0,stddev=stddev2))
b2 = tf.get_variable('b2',[10,],
initializer=tf.constant_initializer(0.0))
y = tf.nn.softmax(tf.matmul(y1, w2) + b2, name="output")
y_ = tf.placeholder(tf.float32, [None, 10])
cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1]))
train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)
これは意味があります。おそらく後の段階です。私が達成したいのは、z2がx(入力画像)に追加され、z1がxとz2の合計から計算されるということです。これにRNN細胞/ LSTM細胞を使用すべきですか?そして、この作品のようなものでしょうか(これは単層ですか?):[リンク](https://pythonprogramming.net/rnn-tensorflow-python-machine-learning-tutorial/) – coderjoe
このようにしたい場合は: layer1 = x + z1、layer2 = x + layer1)ので、RNNは必要ありません。また、共有するリンクには複数のレイヤーが使用されます。 –