问题标签 [bias-neuron]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3787 浏览

machine-learning - 每个神经元的神经网络偏差

我一直在关注 Andrew NG 关于神经网络的视频。在这些视频中,他没有将偏见与每个神经元联系起来。相反,他在计算激活值后在每一层的头部添加了一个偏置单元,并使用这个偏置和计算来计算下一层的激活值(前向传播)。

然而,在其他一些关于机器学习的博客和类似的视频,每个神经元都存在偏差。这种差异是什么,为什么是这样,它的含义是什么?

0 投票
1 回答
253 浏览

python - 实现偏置神经元神经网络

我用梯度下降为我的神经网络实现了偏置单元。但我不能 100% 确定我是否以正确的方式实施它。如果你能快速浏览我的代码,我会很高兴。只有零件与

如果有偏见:

是重要的。

还有我的第二个问题:softmax 函数的导数不应该是 1-x,因为 x 是 softmax 函数的输出吗?我用 1-x 尝试了我的网络,但它的性能更差。

感谢您的每一次帮助。提前致谢。

0 投票
1 回答
10945 浏览

machine-learning - 在张量流中使用 get_variable 对偏差进行零初始化

我正在修改的代码tf.get_variable用于权重变量和tf.Variable偏差初始化。get_variable经过一番搜索,由于它在共享方面的可移植性,它似乎总是受到青睐。因此,我尝试将偏差变量更改为get_variable但似乎无法使其正常工作。

原来的:tf.Variable(tf.zeros([128]), trainable=True, name="b1")

我的尝试:tf.get_variable(name="b1", shape=[128], initializer=tf.zeros_initializer(shape=[128]))

我收到一条错误消息,指出不应为常量指定形状。但是删除形状会引发错误,因为没有参数。

我很陌生,tf所以我可能误解了这里的一些基本内容。我在这里先向您的帮助表示感谢 :)

0 投票
0 回答
31 浏览

java - 神经网络:偏见似乎被忽略了

我在 java 中编写了一个非常简单的神经网络,它有 1 个神经元、2 个输入和 1 个偏差,试图对一条线左侧或右侧的点进行分类。问题是神经网络识别直线的斜率而不识别 y 截距(例如直线的函数可能是 y = m*x + c 并且 NN 识别 m 但不识别 c)。

我尝试使用偏差值 = 1,以使 NN 能够计算偏差的权重,偏差应该是 y 截距。但它没有。您会看到我对 Java 编程非常陌生。不幸的是,NN 也是新手。在那种情况下,我想我的问题在于对 NN 中偏差的基本方法的理解。

备注:在代码最后的输出行中,我希望在函数 y = 3*x + 5 的情况下出现以下数字: weight[0]=3 (which is the m) , weight[1]= 1(这是 y 的因数)和 weight[2]=5(这是 c)。重量[2] 总是错误的。

如果您在我的编码风格中发现一些重大问题,请告诉我,我猜这是一种初学者风格。提前谢谢了!隆科

0 投票
1 回答
147 浏览

neural-network - 有了偏差,ANN 不再收敛

我正在学习 ANN,我为简单的二进制分类问题做了两个脚本(在 fortran90 和 python 中)。

我第一次没有偏见,我得到了很好的收敛。但是为每个节点添加一个偏差,它不再收敛(或者一切都接近 0 或一切都接近 1)

偏差为 1,并且对每个节点都有特定的权重。它是随机初始化的,然后更新添加增量,例如其他权重。我试图改变梯度步长,但它仍然在做同样的事情。

有人有什么线索吗?......

编辑 :

网络 :

激活函数是一个 sigmoid (1/(1+exp(-x)))

权重初始化为 [-1, 1] 范围内的正态分布

0 投票
3 回答
1395 浏览

tensorflow - 张量流模型中的每一层是否默认添加了偏置项?

创建 tensorflow 神经网络模型时是否默认添加了偏置项?

换句话说,如果 x 是特定层的输入,y 是输出,W 是权重矩阵,b 是偏差,则该层的输出由下式给出,

那么我们创建模型时是否默认添加了偏差?

0 投票
2 回答
9083 浏览

machine-learning - 神经网络的初始偏差值

我目前正在 tensorflow 中构建一个 CNN,并且我正在使用 He 正常权重初始化来初始化我的权重矩阵。但是,我不确定我应该如何初始化我的偏差值。我在每个卷积层之间使用 ReLU 作为我的激活函数。是否有初始化偏差值的标准方法?

0 投票
0 回答
328 浏览

neural-network - 神经网络 XOR 不收敛

我试图通过 myslef 在 Java 中实现一个神经网络作为 XOR 门,它有点工作。当我尝试训练它时,大约有 20% 的时间权重会收敛以产生足够好的输出(RMS < 0.05),但其他 80% 的时间则没有。

神经网络(可以在这里看到)由 2 个输入(+1 个偏差)、2 个隐藏(+1 个偏差)和 1 个输出单元组成。我使用的激活函数是 sigmoid 函数

它将输入值映射到 0 和 1 之间。使用的学习算法是使用 RMS 作为成本函数的随机梯度下降。偏置神经元的输出恒定为 1。我尝试在 0.1 和 0.01 之间更改学习率,但似乎无法解决问题。

我让网络跟踪网络的权重和 rms 并绘制在图表上。权重基本上可以得到三种不同的行为。我只能发三个。

两个(或更多)值在不同方向发散

其他两个之一只是权重收敛到一个好的值,第二个是一个权重的随机摆动。

我不知道这是否只是发生的事情,或者是否有某种方法可以解决它,所以如果您知道任何事情,请告诉我。

0 投票
1 回答
6115 浏览

tensorflow - 在 Colvolution 层是否需要 Bias?

我正在构建 CNN + Ensemble 模型,用于在 Python 中使用 Tensorflow 对图像进行分类。我在谷歌图片上抓取了狗和猫的图片。然后将它们更改为 126 * 126 像素大小和灰度,添加标签 0 到狗,1 到猫。CNN有5个conv层和2个fc层。HE、PReLU、max-pooling、drop-out、Adam 用于模型。当 Parameter Tuning 完成后,我添加了 Early-Stopping,模型学习了 65~70 epoch,完成了 92.5~92.7% 的准确率。学完之后,想把我的CNN模型改成VGG网络,我检查了我的CNN参数,震惊地发现我没有在conv层添加Bias。2 fc 层有偏差,但 5 conv 层没有偏差。所以我在 5 conv 层添加了 Bias,但我的模型无法学习。成本增加到无限。

偏差不一定在深度卷积层?

0 投票
2 回答
63 浏览

c++ - 我如何知道使用 caffe 框架和 c++ 程序的层中是否存在偏差

我正在尝试使用 c++ 读取 caffe 框架中的权重和偏差。这是我的代码

但是,如果对于某些模型,偏差不存在或通过分段错误错误定义它。

那么哪个函数返回一个布尔值,指示存在偏差以及如何在 C++ 中调用该函数?