Neural network 隐藏的神经元如何变得彼此不同?

Neural network 隐藏的神经元如何变得彼此不同?,neural-network,deep-learning,Neural Network,Deep Learning,我一直在努力学习神经网络是如何工作的,但我无法理解隐藏层。如果隐藏的神经元都有相同的输入,并且它们都有随机的权重(在开始时),为什么权重(通过训练)不在神经元之间变得相似呢?是什么导致神经元执行不同的任务,例如在一个数字中寻找不同的模式?考虑学习过程是如何工作的:你正在优化一个损失函数L(w),它取决于网络的权重w。请注意,学习过程通常发生在权重上,而不是神经元上 通常的学习方法是通过梯度下降,这意味着您将通过对权重w进行微小更改来迭代减少L(w),使用有关L(w)在我们稍微调整w时的行为的局部

我一直在努力学习神经网络是如何工作的,但我无法理解隐藏层。如果隐藏的神经元都有相同的输入,并且它们都有随机的权重(在开始时),为什么权重(通过训练)不在神经元之间变得相似呢?是什么导致神经元执行不同的任务,例如在一个数字中寻找不同的模式?

考虑学习过程是如何工作的:你正在优化一个损失函数
L(w)
,它取决于网络的权重
w
。请注意,学习过程通常发生在权重上,而不是神经元上

通常的学习方法是通过梯度下降,这意味着您将通过对权重
w
进行微小更改来迭代减少
L(w)
,使用有关
L(w)
在我们稍微调整
w
时的行为的局部信息(这正是
w
的梯度所测量的)。遵循
w
的梯度将为我们提供最好的局部调整
w
的方法,使
L(w)
减少,并且当
w
的不同成分不同时,它们没有理由朝着相同的方向进化,即使它们连接到相同的神经元

请注意,这是唯一正确的,因为我们随机初始化权重。如果我们将它们都设置为相同的初始值,比如说
1e-3
,并且我们使用对称架构,就像完全连接的层一样,那么梯度也将是对称的,学习将停滞。这是因为渐变将为每个权重保留相同的值。要了解更直观的原因,请查看。您还可以查阅“机器学习中的对称性破坏”以了解有关此主题的更多信息