关于神经网络:隐藏的神经元如何彼此不同?

How do hidden neurones become different to one another?

我一直在尝试学习神经网络的工作原理,但是我无法绕过隐藏层。如果隐藏的神经元都具有相同的输入,并且它们都具有随机权重(在开始时),为什么权重(通过训练)在整个神经元中不一样?是什么导致神经元执行单独的任务,例如在一个数字中寻找不同的模式?


考虑学习过程的工作原理:您正在根据网络w的权重优化损失函数L(w)。请注意,学习过程通常发生在权重上,而不是神经元上。

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

请注意,这仅是因为我们随机初始化权重。如果我们将它们都设置为相同的初始值(例如1e-3),并且我们使用的是对称结构,就像完全连接的层一样,则梯度也将是对称的,并且学习将停滞。这是因为对于每个权重,渐变将保持相同的值。对于这种情况,出于更直观的原因,请检查此答案。您还可以在本主题中查找"机器学习中的对称性破坏"。