为什么要在神经网络中添加零偏差?

存在

MNIST 教程中的代码

  with tf.name_scope('hidden1'):
    weights = tf.Variable(
        tf.truncated_normal([IMAGE_PIXELS, hidden1_units],
                            stddev=1.0 / math.sqrt(float(IMAGE_PIXELS))),
        name='weights')
    biases = tf.Variable(tf.zeros([hidden1_units]),
                         name='biases')
    hidden1 = tf.nn.relu(tf.matmul(images, weights) + biases)
  # Hidden 2
  with tf.name_scope('hidden2'):
    weights = tf.Variable(
        tf.truncated_normal([hidden1_units, hidden2_units],
                            stddev=1.0 / math.sqrt(float(hidden1_units))),
        name='weights')
    biases = tf.Variable(tf.zeros([hidden2_units]),
                         name='biases')
    hidden2 = tf.nn.relu(tf.matmul(hidden1, weights) + biases)

似乎所有的偏见都是零。添加它们有什么意义?

尼尔·斯莱特

您正在查看网络初始化代码。这是训练前的网络。weights在那个阶段,随机值不会映射到任何有用的函数。相反,它们是随机的,以防止每个人工神经元学习相同的东西,因为反向传播是确定性的,你通常需要一些东西来破坏同一层内神经元之间的对称性。否则,每个训练示例将为每个权重生成完全相同的梯度,并且一切都会同步变化。

这里:

biases = tf.Variable(tf.zeros([hidden1_units]),
                         name='biases')

biases是一个变量。稍后会在训练期间发生变化。如果您愿意,您可以从随机值开始(类似于权重),并且训练仍然与示例几乎相同。然而,随机权重在实践中已经足以防止输出相互复制,因此将偏差设置为零是最简单的方法。

看看一些训练后的偏差值,你会发现它们都是不同的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

神经网络中的反向传播偏差

来自分类Dev

卷积神经网络中的恒定偏差

来自分类Dev

为什么在神经网络中需要隐藏层?

来自分类Dev

你如何计算卷积神经网络中的偏差梯度?

来自分类Dev

在神经网络中,为什么通常将神经元数设置为2 ^ n?

来自分类Dev

神经网络中的“层”是什么

来自分类Dev

消除神经网络层的偏差

来自分类Dev

为什么较大的神经网络比较小的神经网络反向传播更快

来自分类Dev

R中从零开始的神经网络

来自分类Dev

这两种在Keras中添加神经网络层的方式有什么区别?

来自分类Dev

这两种在Keras中添加神经网络层的方式有什么区别?

来自分类Dev

为什么神经网络中的激活函数取这么小的值?

来自分类Dev

为什么重塑我的数据会完全改变Keras中完全连接的神经网络的行为?

来自分类Dev

为什么神经网络的提升在SAS Viya演示中稳定?

来自分类Dev

为什么我的神经网络中的错误首先增加然后不改变?

来自分类Dev

每个神经元的神经网络偏差

来自分类Dev

为什么神经网络这么好工作?

来自分类Dev

神经网络ConvNetJs-为什么不能收敛

来自分类Dev

为什么神经网络不学习曲线?

来自分类Dev

为什么前馈神经网络不通用?

来自分类Dev

为什么我的神经网络不训练?

来自分类Dev

为什么我非常简单的神经网络表现不佳?

来自分类Dev

为什么存在全连接神经网络?

来自分类Dev

在什么情况下在神经网络中使用偏差可能没有好处?

来自分类Dev

零作为神经网络输入

来自分类Dev

Swift中的神经网络

来自分类Dev

神经网络中的权重

来自分类Dev

神经网络中的动量

来自分类Dev

Swift中的神经网络

Related 相关文章

热门标签

归档