machine-learning - 为什么 ANN 中需要 BIAS?我们应该为每一层设置单独的 BIAS 吗?

标签 machine-learning neural-network bias-neuron

我想建立一个模型来预测输入信号的 future 响应,我的网络架构是[3,5,1]:

  • 3 个输入,
  • 隐藏层有 5 个神经元,并且
  • 输出层有 1 个神经元。

我的问题是:

  1. 我们应该为每个隐藏层和输出层设置单独的 BIAS 吗?
  2. 我们是否应该在每一层为 BIAS 分配权重(因为 BIAS 会对我们的网络产生额外值(value)并导致网络负担过重)?
  3. 为什么 BIAS 始终设置为 1?如果eta有不同的值,为什么我们不将BIAS设置为不同的值?
  4. 为什么非线性函数总是使用 log sigmoid 函数,可以使用 tanh 吗?

最佳答案

所以,我认为如果我们退后一步讨论偏差单元在神经网络中扮演的角色,大部分问题都会弄清楚。

偏置单元旨在允许网络中的单元学习适当的阈值(即在达到一定的总输入后,开始发送正激活),因为通常正的总输入意味着正激活。

例如,如果您的偏置单元对某些神经元 x 的权重为 -2,则当所有其他输入加起来大于 -2 时,神经元 x 将提供正激活。

因此,以此为背景,您的答案是:

  1. 不,一个偏置输入总是足够的,因为它可以根据每个单元的权重对不同的神经元产生不同的影响。
  2. 一般来说,为每个非输入单元设置偏差权重是一个好主意,否则那些没有偏差权重的单元的阈值将始终为零。
  3. 自阈值起,一旦学习就应该在各个试验中保持一致。请记住,偏差代表每个单元如何与输入交互;它本身不是输入。
  4. 您当然可以,而且很多人都可以。任何挤压函数通常都充当激活函数。

关于machine-learning - 为什么 ANN 中需要 BIAS?我们应该为每一层设置单独的 BIAS 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7175099/

相关文章:

validation - 评估 CNN 训练效果的最佳指标是什么?验证错误或训练损失?

python - Dice 损失和目标张量中不包含数据的样本?

matrix - 在神经网络中实现偏差的正确方法

machine-learning - 带偏差更新的神经网络 sigmoid 激活

python - 如何评估用于降维的自动编码器

machine-learning - 通过机器学习检测损坏的传感器

neural-network - 强化学习。使用 PPO 绕过物体行驶

tensorflow - Bias一定需要卷积层吗?

machine-learning - 自然语言处理中的文本标记

python - CNN Pytorch错误: Input type (torch. cuda.ByteTensor)和权重类型(torch.cuda.FloatTensor)应该相同