我对此感到困惑。假设我有一个权重矩阵 W(10,20)。这需要一个 20 维的输入向量(比如 X)。因此,dot(W,X) 将是 (10,1),我可以为此添加一个 10 维偏差向量。
现在我想做批量学习。是否可以将一批输入向量(30 个向量)相乘,使得 X 现在是(20,30),然后 dot(W,X) 将是(10,30)。但偏见又如何呢?我应该如何调整偏差?
最佳答案
我假设所有 30 个输入向量的偏差都是相同的。如果情况并非如此,请告诉我。
将您的 (10,30)
矩阵视为 30 个 10 维结果向量的集合。它们是独立的,只是排列成矩阵以便于处理。
如果要将 10 维偏差向量添加到 30 个结果向量中,您只需将 10 维偏差向量复制 30 次到 (10,30) 偏差矩阵中。 然后,添加矩阵将与将偏差向量添加到 30 个 10 维结果向量中的每一个相同
你可以通过相乘得到这个
<vertical bias vector> <outer/tensor product> <horizontal vector, filled with 30 ones>
关于python - MLP 中的 Theano 批量学习,偏差形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34269672/