我应该为神经网络使用多个初始化吗?

时间:2017-05-30 03:34:47

标签: machine-learning tensorflow

在学习TensorFlow期间,我对神经网络初始化感到困惑。

我发现它有两个原因应该执行随机初始化

  1. 避免对称性破坏。 (使用初始化)
  2. 避免糟糕的局部最小值。 (使用多个初始化并选择最佳的一个)
  3. 我知道为什么它可以避免对称性破裂的第一个原因,但第二个原因仍让我非常困惑。

    在TensorFlow Getting Started教程中,他们使用随机初始化,但多次使用 NOT

1 个答案:

答案 0 :(得分:1)

他们只使用初始化一次。然后训练。没有新的初始化,因为这将覆盖训练的权重。

一旦您的神经网络收敛(=找到“好”结果),您可以保存这些权重并从头开始(=新初始化)并将结果与​​第一次训练过程的结果进行比较。

您可以重复几次,然后使用最佳训练中的权重(=从“最佳”初始化开始)。

你这样做的原因是因为初始化是一个很好的表现,取决于你的神经网络的架构。所以你可能会说:每个人只出生一次。但是如果你想培养一个新的爱因斯坦,你可能需要很多人找到它。