在神经网络正向传播中,当计算权重和输入之间的点积时,哪个先出现?方法1)或方法2)?

1)Weight.dot(输入)+偏差

2)Input.dot(Weight)+ Bias

我已经看过两种方法。我很困惑。

最佳答案

两者之间的差异是点积中权重和输入之间的顺序。点积运算的commutative性质表明顺序无关紧要;无论结果如何。

话虽这么说,Weight.dot(Input) + Bias是我最熟悉的。

从数学的角度来看,您可能会考虑使用Weight.dot(Input)方法,因为权重被视为系数,因此首先出现是最合乎逻辑的。

从方案的角度来看,这将在很大程度上取决于实施情况;与权重相反,最好在输入对象上调用dot()方法。

请注意,dot productmatrix multiplication不同。如您所述,矩阵乘法不一定是可交换的。我主要使用的库Tensorflow使用tf.matmul()实现矩阵乘法。在神经网络的实现中,如果始终将权重用作第二个参数,则表明在这种情况下将首选第二种方法。

关于machine-learning - 神经网络正向传播中的点积,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48125622/

10-12 19:15