我试图弄清楚我是否正在使用 sigmoid 激活函数并正确使用偏差来创建人工神经网络。我希望一个偏置节点输入到所有隐藏节点,其中静态输出 -1 与其权重相结合,然后一个偏置节点输入到输出也是静态输出 -1 与其权重相结合。然后我可以像训练其他神经元一样训练这些偏差,对吗?!
最佳答案
这是一个正确的推理,但是设置“-1”值是相当罕见的(为什么不是+1?),我以前从未在文献中见过这种情况。如果维护正确的图形结构,那么更新“真实”节点和“偏置节点”的权重之间没有区别。如果您不存储图形结构,因此您不“知道”偏置(连接到输出节点的偏置)没有“子节点”,因此信号不会“反向传播”到网络更深处,则可能会出现唯一的区别。我见过这样的代码,它们只是将层存储为数组,并将偏差放置在索引 0 处,这样它们就可以在反向传播期间从 1 开始迭代。显然,基于图的实现更具可读性(但是速度要慢得多,因为您无法矢量化计算)。
关于machine-learning - 带偏差更新的神经网络 sigmoid 激活,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26145602/