給定Tensorflow API nn.softmax
,nn.sparse_softmax_cross_entropy_with_logits
,tf.nn.rnn
等似乎慣例是將樣品作爲批處理中的行放置。Tensorflow示例爲行或列?
然後神經網絡中的正向通過是tf.matmul(input_batch, W) + b
,其中input_batch
是形狀爲[n_samples, input_size]
的矩陣。 API中的n_samples
通常被命名爲batch_size
。在批次中的所有樣品(行)上廣播添加行向量b
。
這是神經網絡工作時的一般慣例嗎?我已經閱讀了很多以樣本爲列的研究文章,並使用向前傳遞權矩陣的左乘法。爲什麼這個會議選擇了?
EDIT
本文使用的左側輸入的,以及矢量級聯權重矩陣的乘法,所以,樣品必須是列: http://colah.github.io/posts/2015-08-Understanding-LSTMs/。它在此處的Tensorflow文檔中提到:https://www.tensorflow.org/versions/r0.11/tutorials/recurrent/index.html。
BasicLSTMCell的實施是根據這裏https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/ops/rnn_cell.py源基於本文https://arxiv.org/pdf/1409.2329v5.pdf上。你也可以看到左邊的乘法。
最後在這篇文章https://arxiv.org/pdf/1506.00019.pdf中,激活也是列向量。
示例通常是第0維(即批量維度)。我認爲原因是這個維度通常存在,其他維度是可選的,所以它是有意義的,使它成爲第一個 –