python - MLP 中的 Theano 批量学习,偏差形状

标签 python neural-network theano

我对此感到困惑。假设我有一个权重矩阵 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/

相关文章:

python - 我可以告诉 lldb 使用 PATH 中第一个以外的 Python 吗?

python - 为什么需要 Twisted?

python - Python中如何检查String是否有相同的字符

java - 在 Java 中,哪种集合对于数据网络来说性能最高?

neural-network - 如何从深度 CNN 输出创建不确定性彩色 map 图像?

neural-network - 为什么 XOR 函数的这种变体并不总是收敛?

c++ - 将 Keras 模型转换为 C++

python - 从字典列表中添加新列

python - 超过一类的神经网络不起作用

machine-learning - Keras、Lasagne、Block 和 Theano 之间的关系?