【问题标题】:What does it mean to "break symmetry"? in the context of neural network programming? [duplicate]“打破对称性”是什么意思?在神经网络编程的背景下? [复制]
【发布时间】:2020-01-08 02:32:12
【问题描述】:

我听说过很多关于在神经网络编程和初始化方面“打破对称性”的内容。有人可以解释一下这是什么意思吗?据我所知,如果权重矩阵在初始化期间填充了相同的值,则它与神经元在前向和后向传播中的表现相似有关。随机初始化会更清楚地复制不对称行为,即,不在整个矩阵中使用相同的值。

【问题讨论】:

  • @gman 很好。这应该是那个的副本,然后

标签: neural-network computer-science distribution


【解决方案1】:

你的理解是正确的。

当所有初始值都相同时,例如将每个权重初始化为 0,那么在进行反向传播时,所有权重将获得相同的梯度,从而进行相同的更新。这就是所谓的对称性。

直观地说,这意味着所有节点都将学习相同的东西,我们不希望这样,因为我们希望网络学习不同类型的特征。这是通过随机初始化来实现的,因为那时梯度会不同,每个节点都会变得与其他节点更加不同,从而实现多样化的特征提取。这就是所谓的打破对称性。

【讨论】:

    猜你喜欢
    • 2017-05-10
    • 2019-02-13
    • 2012-12-08
    • 2018-06-04
    • 2015-12-02
    • 1970-01-01
    • 1970-01-01
    • 2011-03-14
    • 2018-11-14
    相关资源
    最近更新 更多