在神经网络和矩阵分析中,经常会看到一种表面相似的操作:给某个表达式加一个小量。
在线性最小二乘的 Tikhonov 正则化中,我们把
$$ \min_x \|Ax-b\|_2^2 $$改成
$$ \min_x \|Ax-b\|_2^2+\lambda\|x\|_2^2 $$求导后,法方程从
$$ A^TAx=A^Tb $$变成
$$ (A^TA+\lambda I)x=A^Tb $$其中 $\lambda>0$。
在神经网络中,一个神经元通常写成
$$ z=w^Tx+b $$$$ a=\phi(z) $$其中 $b$ 是 bias,$\phi$ 是激活函数。
于是一个自然问题出现了:
神经网络中给激活函数加一个小 bias,是否和 Tikhonov 正则化中加一个小 $\lambda$ 有关系?
答案是:有类比,但不是同一件事。
更准确地说:
$$ \text{activation bias}\neq \text{Tikhonov regularization parameter} $$但在更高层次上,它们都属于“向原问题加入额外结构,以改变问题性质”的操作。
区别在于,Tikhonov 中的 $\lambda$ 是对参数规模的惩罚强度;神经网络中的 bias 是模型结构中的平移自由度。
先区分三个容易混淆的 “bias”
讨论之前,必须先拆开三个不同概念。
神经网络中的 bias
神经网络中的 bias 通常是仿射变换的一部分:
$$ z=w^Tx+b $$$$ a=\phi(z) $$这里的 $b$ 是可训练参数。它的作用是平移激活函数的输入,使神经元的响应阈值可以移动。
例如 ReLU 神经元:
$$ a=\max(0,w^Tx+b) $$如果 $b=0$,激活边界是
$$ w^Tx=0 $$如果 $b\neq 0$,激活边界变成
$$ w^Tx+b=0 $$也就是
$$ w^Tx=-b $$所以 bias 改变的是神经元的几何分割位置。
统计估计中的 bias
统计中的 bias 指估计量的偏差:
$$ \operatorname{Bias}(\hat\theta)=\mathbb{E}[\hat\theta]-\theta $$Tikhonov 正则化会使估计量通常变成有偏估计。
对于线性模型
$$ y=Ax_0+\varepsilon $$Tikhonov 解为
$$ \hat{x}_\lambda=(A^TA+\lambda I)^{-1}A^Ty $$于是
$$ \mathbb{E}[\hat{x}_\lambda] =(A^TA+\lambda I)^{-1}A^TAx_0 $$一般不等于 $x_0$。
这里的 bias 是“估计偏差”,不是神经网络层里的偏置参数。
数值计算中的小常数
有时深度学习里也会给表达式加一个很小的常数 $\varepsilon$,例如
$$ \log(x+\varepsilon) $$或者
$$ \frac{x}{\sqrt{\sigma^2+\varepsilon}} $$这里的 $\varepsilon$ 主要是数值稳定项,用来避免除零、开方奇异、对数无定义等问题。
这种 $\varepsilon$ 和 Tikhonov 的 $\lambda$ 有某种“防止退化”的相似性,但它通常不是参数范数惩罚,也不一定对应统计意义上的正则化。
Tikhonov 正则化中的 $\lambda$ 到底做了什么
普通最小二乘为
$$ \min_x \|Ax-b\|_2^2 $$它只关心拟合误差。
Tikhonov 正则化改为
$$ \min_x \|Ax-b\|_2^2+\lambda\|x\|_2^2 $$它同时要求:
$$ \|Ax-b\|_2^2 \quad \text{小} $$以及
$$ \|x\|_2^2 \quad \text{小} $$因此 $\lambda$ 控制的是两个目标之间的权衡:
$$ \text{拟合数据} \quad \text{vs.} \quad \text{压低参数规模} $$对目标函数求导:
$$ J(x)=\|Ax-b\|_2^2+\lambda\|x\|_2^2 $$展开为
$$ J(x)=(Ax-b)^T(Ax-b)+\lambda x^Tx $$对 $x$ 求导:
$$ \nabla_xJ=2A^T(Ax-b)+2\lambda x $$令其为零:
$$ A^T(Ax-b)+\lambda x=0 $$得到
$$ (A^TA+\lambda I)x=A^Tb $$因此
$$ \hat{x}_\lambda=(A^TA+\lambda I)^{-1}A^Tb $$关键在于:
$$ A^TA $$一定半正定,但可能不正定。若 $A$ 不满列秩,则 $A^TA$ 有零特征值,因而不可逆。
加上 $\lambda I$ 后,对任意非零向量 $z\neq 0$,有
$$ z^T(A^TA+\lambda I)z =z^TA^TAz+\lambda z^Tz $$即
$$ z^T(A^TA+\lambda I)z =\|Az\|_2^2+\lambda\|z\|_2^2 $$因为
$$ \|Az\|_2^2\ge 0 $$且
$$ \lambda\|z\|_2^2>0 $$所以
$$ z^T(A^TA+\lambda I)z>0 $$因此
$$ A^TA+\lambda I\succ 0 $$它正定,因此可逆。
所以 Tikhonov 中的 $\lambda$ 不是简单地“加一个小偏置”,而是在目标函数里加入参数范数惩罚,并在法方程中把 $A^TA$ 的全部特征值整体抬高。
若 $A^TA$ 的特征值为
$$ \mu_1,\mu_2, \dots, \mu_n $$则
$$ A^TA+\lambda I $$的特征值为
$$ \mu_1+\lambda,\mu_2+\lambda, \dots, \mu_n+\lambda $$所有特征值都至少大于等于 $\lambda$。
这是谱意义上的稳定化。
神经网络中的 bias 做了什么
考虑最简单的单神经元:
$$ a=\phi(w^Tx+b) $$这里的 bias $b$ 不是损失函数中的惩罚系数,而是模型参数的一部分。
没有 bias 时:
$$ a=\phi(w^Tx) $$有 bias 时:
$$ a=\phi(w^Tx+b) $$它改变的是函数族本身。
例如线性模型中,如果没有截距项:
$$ y=wx $$所有直线必须经过原点。
加入 bias 后:
$$ y=wx+b $$直线可以上下平移,不必经过原点。
所以 bias 的核心作用是:
$$ \text{给模型增加平移自由度} $$而不是:
$$ \text{惩罚参数规模} $$这和 Tikhonov 的作用方向相反。
Tikhonov 正则化通常减少模型自由度的有效使用,压低参数范数;bias 通常增加模型表达能力,使模型不再被迫通过原点或固定阈值。
一个具体例子:线性模型中的截距项与 Tikhonov 正则化
考虑一维数据拟合。
如果模型没有 bias:
$$ \hat{y}=wx $$则模型只能表示过原点的直线。
如果真实数据大致满足
$$ y=2x+5 $$那么没有 bias 的模型必须通过调整 $w$ 来勉强拟合整体偏移。它没有能力单独表示常数项 $5$。
加入 bias 后:
$$ \hat{y}=wx+b $$模型可以直接学习
$$ w\approx 2, \qquad b\approx 5 $$这不是正则化,而是扩充模型结构。
从矩阵角度看,加入截距项等价于扩充设计矩阵:
$$ Xw+b\mathbf{1}
\begin{bmatrix} X & \mathbf{1} \end{bmatrix} \begin{bmatrix} w\ b \end{bmatrix} $$
也就是把一列全 1 向量加入设计矩阵。
这一步改变的是列空间:
$$ \mathcal{C}(X) \quad \longrightarrow \quad \mathcal{C}([X,\mathbf{1}]) $$它使模型能够表达常数平移。
Tikhonov 正则化则是:
$$ \min_w \|Xw-y\|_2^2+\lambda\|w\|_2^2 $$它没有给模型增加一列常数特征,而是在已有参数上施加范数惩罚。
因此:
$$ \text{bias 是扩展特征空间} $$$$ \text{Tikhonov 是约束参数空间} $$这是根本区别。
ReLU 中的 bias:移动激活边界
以 ReLU 为例:
$$ a=\max(0,w^Tx+b) $$神经元是否激活由下面的不等式决定:
$$ w^Tx+b>0 $$其边界为
$$ w^Tx+b=0 $$如果没有 bias:
$$ w^Tx=0 $$边界必须经过原点。
如果有 bias:
$$ w^Tx=-b $$边界可以平移。
所以 ReLU bias 的作用是改变分段线性函数的折点位置。
在一维情况下:
$$ a=\max(0,wx+b) $$折点满足
$$ wx+b=0 $$即
$$ x=-\frac{b}{w} $$因此 bias 决定了 ReLU 从零区间进入线性区间的位置。
这与 Tikhonov 中的 $\lambda$ 不同。$\lambda$ 不移动某个激活边界,而是改变优化目标,限制参数过大,并改善矩阵条件数。
为什么二者容易被联系起来
它们容易被联系起来,主要是因为都表现为“加一个小量”。
但数学位置不同。
神经网络 bias 通常出现在模型内部:
$$ a=\phi(w^Tx+b) $$Tikhonov 正则化出现在优化目标里:
$$ J(x)=\|Ax-b\|_2^2+\lambda\|x\|_2^2 $$进一步,它们影响的对象不同。
神经网络 bias 改变函数:
$$ x\mapsto \phi(w^Tx+b) $$Tikhonov $\lambda$ 改变解的选择原则:
$$ \text{残差小} \quad \text{且} \quad \text{参数范数小} $$前者是模型层面的平移参数,后者是优化层面的惩罚权重。
真正与 Tikhonov 对应的神经网络概念:L2 正则化与 weight decay
如果要在神经网络中寻找与 Tikhonov 正则化真正对应的东西,应该看 L2 正则化或 weight decay。
神经网络训练通常是
$$ \min_\theta \mathcal{L}(\theta) $$其中 $\theta$ 表示所有可训练参数,包括权重和可能的 bias。
加入 L2 正则化后:
$$ \min_\theta \mathcal{L}(\theta)+\lambda\|\theta\|_2^2 $$这和 Tikhonov 的形式一致。
如果只对权重正则化,不对 bias 正则化,则常写成
$$ \min_{W,b} \mathcal{L}(W,b)+\lambda\|W\|_2^2 $$如果同时对权重和 bias 正则化,则是
$$ \min_{W,b} \mathcal{L}(W,b)+\lambda(\|W\|_2^2+\|b\|_2^2) $$这时 $\lambda$ 才是 Tikhonov 意义上的正则化系数。
所以更准确的对应关系是:
$$ \text{Tikhonov 正则化} \quad \leftrightarrow \quad \text{神经网络中的 L2 正则化 / weight decay} $$而不是:
$$ \text{Tikhonov 正则化} \quad \leftrightarrow \quad \text{神经网络中的 bias 参数} $$bias 是否也可以被正则化
可以。
如果神经网络参数为
$$ \theta=(W,b) $$则可以构造正则化项:
$$ \lambda\|\theta\|_2^2 $$也就是
$$ \lambda(\|W\|_2^2+\|b\|_2^2) $$这时 bias 作为参数,也被 Tikhonov/L2 正则化惩罚。
但要注意,这里的逻辑是:
$$ \text{bias 是被正则化的参数} $$而不是:
$$ \text{bias 本身就是正则化} $$二者不同。
在实际深度学习中,很多实现默认对权重做 weight decay,但不一定对 bias 和归一化层参数做 weight decay。原因是 bias 参数数量少,且主要承担平移功能;对它们强行衰减到零,不一定带来明显泛化收益。
从线性代数角度看二者的差异
Tikhonov 正则化的核心操作是:
$$ A^TA \longrightarrow A^TA+\lambda I $$这发生在参数求解方程的二次型矩阵上。
它的效果是谱平移:
$$ \mu_i \longrightarrow \mu_i+\lambda $$因此可以消除零特征值,提高最小特征值,改善条件数。
神经网络 bias 的核心操作是:
$$ w^Tx \longrightarrow w^Tx+b $$这发生在神经元的仿射输入上。
它的效果是几何平移:
$$ w^Tx=0 \quad \longrightarrow \quad w^Tx+b=0 $$因此可以移动分类边界、激活边界或函数折点。
这两个操作不在同一个数学层级上。
一个改变优化问题的 Hessian 或法方程结构。
一个改变模型函数族的几何表达能力。
从贝叶斯角度看 Tikhonov
Tikhonov 正则化还有一个统计解释。
假设线性模型为
$$ y=Ax+\varepsilon $$其中噪声为高斯噪声:
$$ \varepsilon\sim\mathcal{N}(0,\sigma^2I) $$如果再给参数 $x$ 一个零均值高斯先验:
$$ x\sim\mathcal{N}(0,\tau^2I) $$那么最大后验估计会变成
$$ \min_x \|Ax-y\|_2^2+\lambda\|x\|_2^2 $$其中 $\lambda$ 与噪声方差和先验方差有关。
所以 Tikhonov 可以理解为:
$$ \text{参数先验倾向于靠近零} $$这与神经网络 bias 的作用也不同。
bias 参数不是“先验强度”。它是模型中的可学习平移项。
只有当我们对 bias 本身施加 L2 惩罚时,才可以说 bias 参数也受到了 Tikhonov 式先验约束。
一个容易误判的说法
有一种说法是:
给激活函数加一个小 bias,可以避免某些神经元不工作;Tikhonov 加小 $\lambda$ 也可以避免矩阵奇异。因此它们是同一类东西。
这句话只能算弱类比,不是数学等价。
以 ReLU 为例,如果
$$ a=\max(0,w^Tx+b) $$适当的 $b$ 可能让神经元在初始阶段更容易进入激活区间,影响梯度流动。
但这不保证任何矩阵正定,也不等价于对参数范数施加惩罚。
Tikhonov 中的 $\lambda I$ 有严格结论:
$$ A^TA+\lambda I\succ 0 $$只要 $\lambda>0$,该结论必然成立。
而给激活函数加 bias 并没有类似的普遍保证。它可能改善训练,也可能造成激活偏移、饱和、输出分布偏移,具体效果取决于网络结构、初始化、归一化、数据分布和优化器。
所以二者不是同一种机制。
小常数的三种类型
可以把“加小常数”分成三类。
结构性平移
例如
$$ a=\phi(w^Tx+b) $$这里的 $b$ 是模型结构的一部分。
它改变函数族。
对应概念:神经网络 bias,线性回归截距项。
正则化惩罚
例如
$$ J(x)=\|Ax-b\|_2^2+\lambda\|x\|_2^2 $$这里的 $\lambda$ 是惩罚强度。
它改变优化目标。
对应概念:Tikhonov 正则化,L2 正则化,weight decay。
数值稳定项
例如
$$ \frac{x}{\sqrt{\sigma^2+\varepsilon}} $$或者
$$ \log(x+\varepsilon) $$这里的 $\varepsilon$ 是为了避免数值异常。
它主要改变计算稳定性。
对应概念:normalization epsilon,log epsilon,division epsilon。
这三类都可能表现为“加一个小常数”,但数学含义不同。
关系图
flowchart LR
A[加一个小量] --> B[结构性平移]
A --> C[正则化惩罚]
A --> D[数值稳定项]
B --> B1[神经网络 bias: z = w^T x + b]
B --> B2[线性回归截距项]
B --> B3[改变函数族与几何边界]
C --> C1[Tikhonov]
C --> C2[L2 regularization / weight decay]
C --> C3[惩罚参数范数]
C --> C4[改善条件数与抑制过大参数]
D --> D1[epsilon in denominator]
D --> D2[epsilon in log]
D --> D3[避免除零或数值异常]
对应关系表
| 对象 | 出现位置 | 数学形式 | 主要作用 | 是否等价于 Tikhonov |
|---|---|---|---|---|
| 神经网络 bias | 模型内部 | $\phi(w^Tx+b)$ | 平移激活边界,增加表达能力 | 否 |
| 线性回归截距 | 模型内部 | $Xw+b\mathbf{1}$ | 扩展列空间,表示常数偏移 | 否 |
| Tikhonov $\lambda$ | 损失函数 | $\|Ax-y\|^2+\lambda\|x\|^2$ | 惩罚参数范数,改善病态 | 是 |
| 神经网络 L2 正则 | 损失函数 | $\mathcal{L}(\theta)+\lambda\|\theta\|^2$ | 抑制参数过大,提高泛化 | 是,广义 Tikhonov |
| 数值 $\varepsilon$ | 计算公式 | $1/\sqrt{v+\varepsilon}$ | 避免数值奇异 | 只有弱类比 |
最终判断
神经网络中给激活函数加 bias,与 Tikhonov 正则化中加入 $\lambda$,不是同一个数学操作。
bias 是模型参数。它改变神经元的仿射输入,使激活函数发生平移,从而改变模型的表达能力。
Tikhonov 中的 $\lambda$ 是正则化强度。它改变优化目标,在最小二乘中等价于把法方程矩阵从
$$ A^TA $$变成
$$ A^TA+\lambda I $$从而提升正定性、改善条件数、抑制参数范数。
二者的共同点只是:它们都通过加入额外项改变原问题。
但其数学位置不同,作用对象不同,几何意义不同,统计意义不同。
更准确的对应关系是:
$$ \text{神经网络 bias} \quad \leftrightarrow \quad \text{线性模型截距项} $$而
$$ \text{Tikhonov 正则化} \quad \leftrightarrow \quad \text{神经网络 L2 正则化 / weight decay} $$如果 bias 本身也被纳入 L2 正则化项,那么它只是“被 Tikhonov 正则化约束的参数之一”。
它不是 $\lambda$ 本身。
这一区分很关键。把所有“小常数”都理解成同一种正则化,会混淆模型结构、优化约束和数值稳定这三个层面。