固定偏置神经元或偏置神经元更好吗?

机器算法验证 机器学习 神经网络 人工智能
2022-04-05 13:28:21

在构建人工神经网络时,使用偏差似乎有两种不同的理念。有些团体提出了具有可变权重的固定偏置神经元的神经网络,有些团体提出了隐藏层和输出层中每个神经元的可变偏置值。哪一个更好?一个真的更好吗(优点,缺点......)另请参阅下面的示例。

一个具有固定值和可变权重的偏置神经元可变偏置神经元

2个回答

原则上,您只是用稍微不同的形式表达相同的数学模型。在实践中,差异潜伏在两个方面,初始化和学习。

对于对称激活函数,偏差通常初始化为 0,对于整流线性单元,偏差通常初始化为某个正值。使用固定偏置神经元意味着您将使用权重的初始化过程来选择偏置,这通常会产生不同的结果。

对偏差使用比权重更大的学习率也很常见。尽管围绕它似乎没有太多的理论依据,但这似乎是一种有用的启发式方法,源于从业者的实验。

我分两部分给出答案:

  • 如何将偏差分配给节点
  • 是否应将偏差添加到隐藏层和输出层

如何将偏差分配给节点?你描述的两种情况是相同的。尽管在第一幅图中,偏差总是一个,但指向节点的箭头将在模型中分配一个系数:导致每个节点的偏差不同。因此,在这个意义上,你的第一幅和第二幅画之间没有区别。

是否应该将偏差添加到隐藏层和输出层?通常偏差会添加到所有层,但这不是一个原则性的选择:它只会产生最灵活的模型。从隐藏层中移除偏差可能会奏效。在这种情况下,您必须证明这个具有较少参数的模型与在隐藏层中具有额外偏差的模型一样好或更好。

一般来说,稀疏模型被视为更好的模型。在神经网络的情况下,由于稀疏性的原因,移除参数并不常见。收缩是使您的 nn 模型更稀疏的更常见方法。