什么是全连接层加性偏置?

数据挖掘 神经网络
2022-03-04 12:19:46

我将专门使用 PyTorch,但我怀疑我的问题一般适用于深度学习和 CNN,因此我选择在这里发布。

从本视频的这一点开始,随后:

https://www.youtube.com/watch?v=JRlyw6LO5qo&t=1370s

George H. 解释说,参数设置为的 PyTorch 函数torch.nn.Linearbias功能Falsetorch.nn.Linear等同于以下 NumPy 行(当然,GPU 支持除外):

x = np.dot(weights, x) + biases

请注意,torch.nn.Linear默认情况下偏向设置为True

https://pytorch.org/docs/stable/generated/torch.nn.Linear.html

以下是有关 bias 参数的 PyTorch 文档:

偏差——如果设置为 False,该层将不会学习附加偏差。默认值:真

谁能解释一下“加性偏差”是什么?换句话说,如果torch.nn.Linear bias参数设置为, PyTorch 会执行哪些额外步骤True令人惊讶的是,我在谷歌上找不到太多关于这个主题的信息。

1个回答

您可能误解了视频,并不是说将 Bias 设置为 False 的线性层等效于:

x = np.dot(weights, x) + biases

因为那不是真的,没有 Bias 的层等价于

x = np.dot(weights, x)

他在没有 Bias 的情况下重新创建图层的方式实际上是使用以下功能:

x = x.dot(l1)  # X = W1.X  First linear layer
x = np.maximum(x, 0)  # X = ReLU(X)
x = x.dot(l2)  # X = W2.X  Second linear layer

设置 Bias=True 意味着该层具有在将权重与输入相乘后添加的第二个偏置项(如您引用的公式中所示):

x = np.dot(weights, x) + biases