这个 Tensorflow 偏置向量的形状是否正确?

Is this Tensorflow bias vector shaped correctly?

在文中我读到以下内容:

我对偏置向量的维度感到困惑。我们如何将 (m,1) 向量添加到 (1, p) 向量? w0 的形状是否正确?或者 w1 应该整形 (n, P) 以占 P classes,然后我们广播 w0?

注意:我假设 w1 应该 (n, P) 以便我们的矩阵乘法为每个观察的每个 class 预测产生一行非标准化对数。那么添加每个 class 偏差并将其广播到我们数据中的样本数量是否有意义?

我什至觉得很愚蠢,因为我什至问了,但是走过我无法调和的例子......

从技术上讲,将 (m,1) 张量添加到 (1, P) 张量会通过广播两次得到 (m, P) 张量(假设索引 (i,j) 处的 Y_hat 是等于索引 i 处的 tf.matmul(X, w1) 加上索引 j 处的 w0)。然而,这不是前馈网络中应该发生的事情。

w1 确实应该整形为 (n, P) 然后偏差被正确整形。 tf.matmul(X, w1) 的形状为 (m, P),Y_hat 的形状为 (m, P),使用预期的广播(因为它的形状应该与 Y 相同)。