1. 对称性问题的定义
在神经网络中,对称性问题指的是在隐藏层中,多个神经元的参数可以是对称的(即相同的),导致这些神经元在前向传播时计算出完全相同的值。在反向传播过程中,它们的梯度也是相同的。这种对称性导致网络的多个神经元实际上只发挥一个神经元的作用,从而极大地降低了网络的表达能力。
2. 对称性导致的问题
当网络的权重初始化为相同值时,隐藏单元之间的这种对称性会在训练过程中被保留,这会导致:
- 模型的表达能力大幅度降低:虽然网络的结构上有多个神经元,但实际上这些神经元都表现为相同的计算单元,网络的表现能力受到限制。
- 梯度无法打破对称性:在基于梯度的优化方法(例如小批量随机梯度下降,SGD)中,由于每个隐藏单元的输入和参数相同,它们的梯度也是相同的。优化过程中,梯度的变化也无法打破这种对称性,导致神经元始终保持相同的权重更新。
3. 打破对称性
为了避免这种对称性问题,必须在网络的设计中打破对称性,常见的打破对称性的方法包括:
3.1. 随机初始化权重
通过随机初始化网络的权重,可以确保每个神经元在开始时具有不同的权重,避免对称性问题。常见的初始化方法有:
- Xavier 初始化:用于确保权重的初始分布使得网络的输入和输出具有相同的方差。
- He 初始化:适合 ReLU 等激活函数的初始化方法,可以更好地保持信号在前向传播过程中的幅度。
这些初始化方法通过随机化神经元的权重来打破隐藏层神经元之间的对称性,确保不同神经元从不同的起点开始学习。
3.2. 暂退法正则化(Dropout)
Dropout 是一种正则化技术,它在训练过程中随机丢弃隐藏单元。这可以防止神经元之间的共适应关系,进一步打破对称性。即使某些神经元的权重相同,由于 Dropout 的随机性,每次训练迭代中不同的神经元可能被丢弃,从而破坏了它们之间的依赖性。
3.3. 其他正则化方法
除了 Dropout,其他正则化技术(如 L2 正则化)也可以通过限制权重的增长,进一步增强网络的泛化能力,减少神经元之间的依赖。