【发布时间】:2016-05-02 05:05:04
【问题描述】:
我希望实现一个通用神经网络,其中 1 个输入层由输入节点组成,1 个输出层由输出节点组成,N 个隐藏层由隐藏节点组成。节点按层组织,同层节点不能连接。
我基本了解偏见的概念,但我有一个问题。
每一层应该有一个偏差值(由该层中的所有节点共享)还是每个节点(输入层中的节点除外)都有自己的偏差值?
我感觉这两种方法都可以,并且想了解每种方法的权衡,也知道最常用的实现方式。
【问题讨论】:
-
通常我们每个神经元有一个偏差值(输入层除外),即每层必须有一个偏差向量,向量的长度是该层中神经元的数量。
-
每个神经元的偏差(几乎总是)是个体的。在一些具有权重共享>的现代神经网络中是个例外。查看this answer,了解为什么偏差应该是唯一的。 TLDR:偏差用于转移激活函数。因此,在一个层内的所有节点中使用相同的偏差不一定有意义。
-
有趣,感谢您的回复。我将在创建神经网络时将单个偏差和每层偏差共享的选项作为可配置选项构建到我的系统中
-
您可以将偏差视为常量输入。我将有一个权重将它连接到层中的每个节点(假设全连接网络)。训练后,即权重实现后,您有一个常数值 1*weight[i] 进入每个节点。
标签: neural-network artificial-intelligence bias-neuron