为何单隐层H个隐藏单元的神经网络局部极小值属规模H!2^H的族?
拆解单隐层神经网络局部极小值的$H!2^H$等价族
嘿,这个问题问得特别到位!咱们一步步把这个等价族的两个因子拆解清楚,再聊聊为什么每个局部极小值都属于这个规模的集合。
一、你已经get到的$H!$因子:隐藏单元的排列等价性
- 这部分你的理解完全正确:隐藏单元本身没有固定的“顺序”——交换任意两个隐藏单元的位置,同时把对应的输入权重和输出权重同步交换,整个网络的输入输出映射完全不变。
- 举个例子:交换第i和第j个隐藏单元,只需要把输入权重矩阵里的第i行和第j行互换,再把输出权重向量里的第i个和第j个元素互换,网络算出来的结果跟之前一模一样。
- H个隐藏单元的全排列总共有$H!$种,这就贡献了等价极小值里的$H!$因子。
二、你疑惑的$2^H$因子:隐藏单元的符号翻转等价性
这部分的核心是激活函数的对称性(通常指奇函数,比如$\tanh(x) = -\tanh(-x)$这类),咱们具体掰扯一下:
- 拿单个隐藏单元来说,假设它的输入权重是$\mathbf{w}_h$,输出权重是$v_h$,激活函数满足$f(-x) = -f(x)$。
- 如果我们把$\mathbf{w}_h$翻转为$-\mathbf{w}_h$,同时把$v_h$也翻转为$-v_h$,这个单元对最终输出的贡献会变成:
(-v_h) * f(-w_h^T x) = (-v_h) * (-f(w_h^T x)) = v_h * f(w_h^T x)
跟原来的贡献完全没差! - 每个隐藏单元都可以独立选择要不要做这种“权重符号翻转”操作,所以总共有$2H$种组合(每个单元两种选择:翻或不翻)——这就是$2H$因子的来源。
- 划重点:如果用的是非对称激活函数(比如ReLU,$f(-x)=0≠-f(x)$),这个等价性就不成立了,$2^H$因子也就消失了。
三、为什么每个局部极小值都属于这个规模的族?
这要结合损失函数和参数空间的对称性来看:
- 等价变换不改变损失:上面说的两种操作(排列单元、翻转单个单元的权重符号),都不会改变网络的输出,自然也不会改变损失函数的值(毕竟损失是输出和标签的差异)。
- 局部极小值的传递性:如果某个参数组合$\theta$是损失函数的局部极小值,那对$\theta$做任意上述等价变换得到的$\theta'$,肯定也是局部极小值——因为$\theta'$附近的损失取值和$\theta$附近完全一样,既然$\theta$是局部最小,$\theta'$也跑不了。
- 变换的独立性与封闭性:排列单元和符号翻转是两个独立的操作,它们的组合数就是$H! \times 2^H$。而且对于单隐层、奇函数激活的神经网络,不存在其他能保持输出不变的非平凡参数变换了——也就是说,所有和某个局部极小值等价的参数组合,都能通过这两种变换得到。
- 所以每个局部极小值所属的等价族规模就是$H!2^H$。
内容的提问来源于stack exchange,提问作者Mauricio Tec
相关产品推荐
相关产品推荐

