Chapter - 11 Exercise(1-7)

  1. 是否可以将所有权重初始化为相同的值,只要使用He初始化随机选择该值?

不,所有权重都应独立采样;它们不应该都具有相同的初始值。随机抽样权重的一个重要目的是打破对称性:
如果所有权重具有相同的初始值,即使该值不为零,那么对称性不会被破坏(即,给定层中的所有神经元都是等价的),并且反向传播也将无法打破它

具体地说,这意味着任何给定层中的所有神经元将始终具有相同的权重。这就像每层只有一个神经元,而且要慢得多。这种配置几乎不可能收敛到一个好的解决方案。

  1. 将偏差项初始化为0可以吗?
    将偏置项初始化为零是完全正确的。有些人喜欢像权重一样初始化它们,这也没关系; 它没有太大的区别。

  2. 说明ELU激活功能优于ReLU的三个优点。
    ELU功能优于ReLU功能的一些优点是:

  • 它可以采用负值,因此任何给定层中神经元的平均输出通常比使用ReLU激活函数(从不输出负值)时更接近0。 这有助于缓解梯度消失问题。

  • 它总是具有非零导数,这避免了可能影响ReLU单位的死亡单位问题。

  • 它在任何地方都很平滑,而ReLU的斜率在z = 0时突然从0跳到1.这种突然的变化会减慢梯度下降,因为它会在z = 0附近反弹。

  1. 在哪种情况下,你希望使用以下每个激活函数:
    ELU,leaky ReLU(及其变体),ReLU,tanh,logistic和softmax?
  • ELU激活函数是一个很好的默认值。

  • 如果你需要尽可能快地使用神经网络,则可以使用其中一个变体 leaky ReLU
    (例如,使用默认超参数值的简单 leaky ReLU)。

  • ReLU激活函数的简单性使其成为许多人的首选选项,尽管它们通常优于ELU和 leaky ReLU。但是,在某些情况下,ReLU激活功能输出精确为零的能力可能很有用(例如,参见第15章)。

  • 如果你需要输出介于 和 之间的数字,则双曲正切(tanh)在输出层中很有用,但现在它在隐藏层中使用的次数不多。

  • 当你需要估计概率时,逻辑激活函数在输出层中也很有用(例如,对于二元分类),但它也很少用于隐藏层(有例外 ——例如,对于变分自动编码器的编码层;参见第15章)。

  • 最后,softmax激活函数在输出层中用于输出互斥类的概率,但除此之外,很少(如果曾经)在隐藏层中使用它。

  1. 如果在使用MomentumOptimizer时将动量超参数设置得太接近1(例如,0.99999)会发生什么?
  • 如果你在使用MomentumOptimizer时,将动量超参数设置得太接近1(例如,0.99999),

  • 然后算法可能会获得很大的速度,希望大致达到全局最小值,但由于它的动量,它将会在最小值之后超调。 然后它会减速然后回来,再次加速,再次超调,等等。

  • 在收敛之前它可能会以这种方式振荡很多次,因此总体而言,收敛所需的时间要比使用较小的动量值要长得多。

  1. 列举三种可以生成稀疏模型的方法。
    产生稀疏模型(即,大多数权重等于零)的
  • 一种方法是正常训练模型,然后将微小的权重归零

  • 为了更加稀疏,你可以在训练期间应用 正则化,从而将优化器推向稀疏性。

  • 第三种选择是使用TensorFlow的FTRLOptimizer类将正则化与双重平均 -dual averaging相结合。

  1. dropout 是否会减缓训练?它是否会减慢推理速度(即对新实例进行预测)?
    是的,dropout 确实会减慢训练速度,一般大约是两倍
    但是,它对推理没有影响,因为它仅在训练期间打开

你可能感兴趣的:(Chapter - 11 Exercise(1-7))