嵌入式AI领域关键技术的理论基础
本文系统阐述了嵌入式AI中神经网络量化的理论基础,重点关注信息论和优化理论。第一部分详细推导了量化过程的信息损失度量,包括互信息和率失真理论,给出了高斯源的闭式解。第二部分深入分析了最优量化器设计,证明了Lloyd算法的收敛性,并推导了非均匀量化的最优分配方案。第三部分探讨了量化感知训练的理论基础,解释了直通估计器的变分原理,并分析了训练收敛性。全文通过严格的数学推导,为嵌入式AI的模型压缩提供了
嵌入式AI领域关键技术的理论基础
引言
嵌入式AI的核心挑战在于如何在极其有限的计算和存储资源下实现高性能的智能推理。这需要我们从数学原理出发,理解模型压缩、优化和部署的本质。
第一部分:神经网络量化的完整理论体系
1.1 量化的信息论基础
1.1.1 从连续到离散:信息损失的数学刻画
考虑一个连续随机变量X∈RX \in \mathbb{R}X∈R,其概率密度函数为p(x)p(x)p(x)。量化过程将XXX映射到有限集合Q={q1,q2,...,qL}\mathcal{Q} = \{q_1, q_2, ..., q_L\}Q={q1,q2,...,qL},其中L=2bL = 2^bL=2b,bbb是量化位数。
量化函数定义为:
Q:R→QQ: \mathbb{R} \rightarrow \mathcal{Q}Q:R→Q
将实数轴划分为LLL个区间Ri=[ti−1,ti)\mathcal{R}_i = [t_{i-1}, t_i)Ri=[ti−1,ti),其中t0=−∞t_0 = -\inftyt0=−∞,tL=+∞t_L = +\inftytL=+∞。量化规则为:
Q(x)=qi if x∈RiQ(x) = q_i \text{ if } x \in \mathcal{R}_iQ(x)=qi if x∈Ri
信息损失的度量
原始信号的微分熵为:
h(X)=−∫−∞∞p(x)logp(x)dxh(X) = -\int_{-\infty}^{\infty} p(x)\log p(x) dxh(X)=−∫−∞∞p(x)logp(x)dx
量化后信号的离散熵为:
H(Q(X))=−∑i=1LP(Q(X)=qi)logP(Q(X)=qi)H(Q(X)) = -\sum_{i=1}^L P(Q(X) = q_i) \log P(Q(X) = q_i)H(Q(X))=−i=1∑LP(Q(X)=qi)logP(Q(X)=qi)
其中:
P(Q(X)=qi)=∫ti−1tip(x)dxP(Q(X) = q_i) = \int_{t_{i-1}}^{t_i} p(x) dxP(Q(X)=qi)=∫ti−1tip(x)dx
信息损失可以用互信息来刻画:
I(X;Q(X))=h(X)−h(X∣Q(X))I(X; Q(X)) = h(X) - h(X|Q(X))I(X;Q(X))=h(X)−h(X∣Q(X))
条件微分熵h(X∣Q(X))h(X|Q(X))h(X∣Q(X))表示量化后剩余的不确定性:
h(X∣Q(X))=−∑i=1LP(Q(X)=qi)∫Rip(x∣Q(X)=qi)logp(x∣Q(X)=qi)dxh(X|Q(X)) = -\sum_{i=1}^L P(Q(X) = q_i) \int_{\mathcal{R}_i} p(x|Q(X) = q_i) \log p(x|Q(X) = q_i) dxh(X∣Q(X))=−i=1∑LP(Q(X)=qi)∫Rip(x∣Q(X)=qi)logp(x∣Q(X)=qi)dx
1.1.2 率失真理论的深入分析
率失真函数的推导
给定失真度量d:R×Q→R+d: \mathbb{R} \times \mathcal{Q} \rightarrow \mathbb{R}^+d:R×Q→R+,平均失真定义为:
D=E[d(X,Q(X))]=∫−∞∞∑i=1Lp(x)1x∈Rid(x,qi)dxD = \mathbb{E}[d(X, Q(X))] = \int_{-\infty}^{\infty} \sum_{i=1}^L p(x) \mathbb{1}_{x \in \mathcal{R}_i} d(x, q_i) dxD=E[d(X,Q(X))]=∫−∞∞i=1∑Lp(x)1x∈Rid(x,qi)dx
率失真函数R(D)R(D)R(D)定义为在失真不超过DDD的条件下,最小可能的信息率:
R(D)=minp(q∣x):E[d(X,Q)]≤DI(X;Q)R(D) = \min_{p(q|x): \mathbb{E}[d(X,Q)] \leq D} I(X; Q)R(D)=p(q∣x):E[d(X,Q)]≤DminI(X;Q)
使用拉格朗日乘数法,构造泛函:
L=I(X;Q)+λ(E[d(X,Q)]−D)\mathcal{L} = I(X; Q) + \lambda(\mathbb{E}[d(X,Q)] - D)L=I(X;Q)+λ(E[d(X,Q)]−D)
展开互信息:
I(X;Q)=∫∑qp(x)p(q∣x)logp(q∣x)p(q)dxI(X; Q) = \int \sum_q p(x)p(q|x) \log \frac{p(q|x)}{p(q)} dxI(X;Q)=∫q∑p(x)p(q∣x)logp(q)p(q∣x)dx
其中边际分布:
p(q)=∫p(x)p(q∣x)dxp(q) = \int p(x)p(q|x) dxp(q)=∫p(x)p(q∣x)dx
对p(q∣x)p(q|x)p(q∣x)求变分导数:
δLδp(q∣x)=p(x)[logp(q∣x)p(q)+1+λd(x,q)]\frac{\delta \mathcal{L}}{\delta p(q|x)} = p(x)\left[\log \frac{p(q|x)}{p(q)} + 1 + \lambda d(x,q)\right]δp(q∣x)δL=p(x)[logp(q)p(q∣x)+1+λd(x,q)]
令导数为零,得到最优条件:
p(q∣x)=p(q)Z(x,λ)e−λd(x,q)p(q|x) = \frac{p(q)}{Z(x,\lambda)} e^{-\lambda d(x,q)}p(q∣x)=Z(x,λ)p(q)e−λd(x,q)
其中归一化常数:
Z(x,λ)=∑qp(q)e−λd(x,q)Z(x,\lambda) = \sum_q p(q) e^{-\lambda d(x,q)}Z(x,λ)=q∑p(q)e−λd(x,q)
高斯源的闭式解
对于高斯源X∼N(0,σ2)X \sim \mathcal{N}(0, \sigma^2)X∼N(0,σ2)和均方误差失真d(x,q)=(x−q)2d(x,q) = (x-q)^2d(x,q)=(x−q)2,率失真函数有闭式解:
R(D)={12log2σ2Dif 0<D<σ20if D≥σ2R(D) = \begin{cases} \frac{1}{2}\log_2\frac{\sigma^2}{D} & \text{if } 0 < D < \sigma^2 \\ 0 & \text{if } D \geq \sigma^2 \end{cases}R(D)={21log2Dσ20if 0<D<σ2if D≥σ2
推导过程:
对于高斯源,最优量化也是高斯的。设Q∣X=x∼N(ax,τ2)Q|X=x \sim \mathcal{N}(ax, \tau^2)Q∣X=x∼N(ax,τ2),其中aaa和τ2\tau^2τ2待定。
失真约束:
D=E[(X−Q)2]=E[(X−aX−ϵ)2]=(1−a)2σ2+τ2D = \mathbb{E}[(X-Q)^2] = \mathbb{E}[(X-aX-\epsilon)^2] = (1-a)^2\sigma^2 + \tau^2D=E[(X−Q)2]=E[(X−aX−ϵ)2]=(1−a)2σ2+τ2
其中ϵ∼N(0,τ2)\epsilon \sim \mathcal{N}(0, \tau^2)ϵ∼N(0,τ2)独立于XXX。
互信息:
I(X;Q)=h(Q)−h(Q∣X)=12log2a2σ2+τ2τ2I(X; Q) = h(Q) - h(Q|X) = \frac{1}{2}\log_2\frac{a^2\sigma^2 + \tau^2}{\tau^2}I(X;Q)=h(Q)−h(Q∣X)=21log2τ2a2σ2+τ2
最小化I(X;Q)I(X; Q)I(X;Q)受约束于失真DDD,得到:
a=1−Dσ2,τ2=D(1−Dσ2)a = 1 - \frac{D}{\sigma^2}, \quad \tau^2 = D\left(1 - \frac{D}{\sigma^2}\right)a=1−σ2D,τ2=D(1−σ2D)
代入得到率失真函数。
1.2 最优量化器设计
1.2.1 Lloyd-Max量化器的完整推导
目标函数
最小化均方量化误差:
J=∫−∞∞∑i=1L(x−qi)21x∈Rip(x)dxJ = \int_{-\infty}^{\infty} \sum_{i=1}^L (x - q_i)^2 \mathbb{1}_{x \in \mathcal{R}_i} p(x) dxJ=∫−∞∞i=1∑L(x−qi)21x∈Rip(x)dx
展开为:
J=∑i=1L∫ti−1ti(x−qi)2p(x)dxJ = \sum_{i=1}^L \int_{t_{i-1}}^{t_i} (x - q_i)^2 p(x) dxJ=i=1∑L∫ti−1ti(x−qi)2p(x)dx
最优性条件推导
对重构值qiq_iqi求偏导:
∂J∂qi=−2∫ti−1ti(x−qi)p(x)dx=0\frac{\partial J}{\partial q_i} = -2\int_{t_{i-1}}^{t_i} (x - q_i) p(x) dx = 0∂qi∂J=−2∫ti−1ti(x−qi)p(x)dx=0
解得质心条件:
qi=∫ti−1tixp(x)dx∫ti−1tip(x)dx=E[X∣X∈Ri]q_i = \frac{\int_{t_{i-1}}^{t_i} x p(x) dx}{\int_{t_{i-1}}^{t_i} p(x) dx} = \mathbb{E}[X | X \in \mathcal{R}_i]qi=∫ti−1tip(x)dx∫ti−1tixp(x)dx=E[X∣X∈Ri]
对决策边界tit_iti求偏导(使用Leibniz积分规则):
∂J∂ti=(ti−qi)2p(ti)−(ti−qi+1)2p(ti)=0\frac{\partial J}{\partial t_i} = (t_i - q_i)^2 p(t_i) - (t_i - q_{i+1})^2 p(t_i) = 0∂ti∂J=(ti−qi)2p(ti)−(ti−qi+1)2p(ti)=0
解得最近邻条件:
ti=qi+qi+12t_i = \frac{q_i + q_{i+1}}{2}ti=2qi+qi+1
Lloyd算法的收敛性证明
定义能量函数:
E(k)=∑i=1L∫ti−1(k)ti(k)(x−qi(k))2p(x)dxE^{(k)} = \sum_{i=1}^L \int_{t_{i-1}^{(k)}}^{t_i^{(k)}} (x - q_i^{(k)})^2 p(x) dxE(k)=i=1∑L∫ti−1(k)ti(k)(x−qi(k))2p(x)dx
引理1:质心更新步骤不增加能量。
证明:固定边界{ti(k)}\{t_i^{(k)}\}{ti(k)},对每个区间,质心是最小化该区间内均方误差的唯一点:
qi(k+1)=argminq∫ti−1(k)ti(k)(x−q)2p(x)dxq_i^{(k+1)} = \arg\min_{q} \int_{t_{i-1}^{(k)}}^{t_i^{(k)}} (x - q)^2 p(x) dxqi(k+1)=argqmin∫ti−1(k)ti(k)(x−q)2p(x)dx
因此:
E(q(k+1),t(k))≤E(q(k),t(k))E(q^{(k+1)}, t^{(k)}) \leq E(q^{(k)}, t^{(k)})E(q(k+1),t(k))≤E(q(k),t(k))
引理2:边界更新步骤不增加能量。
证明:固定质心{qi(k+1)}\{q_i^{(k+1)}\}{qi(k+1)},最近邻规则将每个xxx分配到最近的质心:
ti(k+1)=argmint[(t−qi(k+1))2+(t−qi+1(k+1))2]t_i^{(k+1)} = \arg\min_t \left[(t - q_i^{(k+1)})^2 + (t - q_{i+1}^{(k+1)})^2\right]ti(k+1)=argtmin[(t−qi(k+1))2+(t−qi+1(k+1))2]
这最小化了边界点的量化误差,因此:
E(q(k+1),t(k+1))≤E(q(k+1),t(k))E(q^{(k+1)}, t^{(k+1)}) \leq E(q^{(k+1)}, t^{(k)})E(q(k+1),t(k+1))≤E(q(k+1),t(k))
由于能量函数有下界(非负)且单调递减,算法必定收敛。
1.2.2 非均匀量化的最优分配
熵约束量化
考虑变长编码,目标是最小化率失真拉格朗日函数:
L=D+λR\mathcal{L} = D + \lambda RL=D+λR
其中码率:
R=−∑i=1LPilog2PiR = -\sum_{i=1}^L P_i \log_2 P_iR=−i=1∑LPilog2Pi
失真:
D=∑i=1L∫ti−1ti(x−qi)2p(x)dxD = \sum_{i=1}^L \int_{t_{i-1}}^{t_i} (x - q_i)^2 p(x) dxD=i=1∑L∫ti−1ti(x−qi)2p(x)dx
高分辨率量化近似
当LLL很大时,假设p(x)p(x)p(x)在每个量化区间内近似常数。设区间宽度为Δi=ti−ti−1\Delta_i = t_i - t_{i-1}Δi=ti−ti−1,则:
Pi≈p(qi)ΔiP_i \approx p(q_i) \Delta_iPi≈p(qi)Δi
区间内的失真(使用均匀分布近似):
Di≈Δi3p(qi)12D_i \approx \frac{\Delta_i^3 p(q_i)}{12}Di≈12Δi3p(qi)
总失真:
D≈112∑i=1LΔi3p(qi)D \approx \frac{1}{12} \sum_{i=1}^L \Delta_i^3 p(q_i)D≈121i=1∑LΔi3p(qi)
使用拉格朗日乘数法,加入约束∑iΔi=range\sum_i \Delta_i = \text{range}∑iΔi=range:
L=112∑i=1LΔi3p(qi)+μ(∑i=1LΔi−range)\mathcal{L} = \frac{1}{12} \sum_{i=1}^L \Delta_i^3 p(q_i) + \mu \left(\sum_{i=1}^L \Delta_i - \text{range}\right)L=121i=1∑LΔi3p(qi)+μ(i=1∑LΔi−range)
对Δi\Delta_iΔi求导:
∂L∂Δi=14Δi2p(qi)+μ=0\frac{\partial \mathcal{L}}{\partial \Delta_i} = \frac{1}{4} \Delta_i^2 p(q_i) + \mu = 0∂Δi∂L=41Δi2p(qi)+μ=0
解得最优区间宽度:
Δi∝[p(qi)]−1/3\Delta_i \propto [p(q_i)]^{-1/3}Δi∝[p(qi)]−1/3
这就是著名的压扩定律:高概率密度区域使用更小的量化间隔。
1.3 量化感知训练的深度分析
1.3.1 直通估计器的理论基础
量化函数Q(⋅)Q(\cdot)Q(⋅)是分段常数函数,几乎处处导数为零。直通估计器(STE)使用恒等函数的梯度近似量化函数的梯度:
∂Q(w)∂w≈1∣w∣≤α\frac{\partial Q(w)}{\partial w} \approx \mathbb{1}_{|w| \leq \alpha}∂w∂Q(w)≈1∣w∣≤α
STE的变分解释
考虑带噪声的量化模型:
w~=Q(w)+ϵ\tilde{w} = Q(w) + \epsilonw~=Q(w)+ϵ
其中ϵ\epsilonϵ是小扰动。目标函数:
L(w~)=Eϵ[ℓ(f(w~,x),y)]\mathcal{L}(\tilde{w}) = \mathbb{E}_\epsilon[\ell(f(\tilde{w}, x), y)]L(w~)=Eϵ[ℓ(f(w~,x),y)]
使用重参数化技巧:
∇wL=Eϵ[∇w~ℓ⋅∂w~∂w]\nabla_w \mathcal{L} = \mathbb{E}_\epsilon\left[\nabla_{\tilde{w}} \ell \cdot \frac{\partial \tilde{w}}{\partial w}\right]∇wL=Eϵ[∇w~ℓ⋅∂w∂w~]
当ϵ→0\epsilon \to 0ϵ→0时,∂w~∂w→1\frac{\partial \tilde{w}}{\partial w} \to \mathbb{1}∂w∂w~→1,这正是STE的本质。
1.3.2 量化感知训练的收敛性分析
问题设置
考虑量化神经网络的训练:
minwL(Q(w))=E(x,y)∼D[ℓ(f(Q(w),x),y)]\min_w \mathcal{L}(Q(w)) = \mathbb{E}_{(x,y) \sim \mathcal{D}}[\ell(f(Q(w), x), y)]wminL(Q(w))=E(x,y)∼D[ℓ(f(Q(w),x),y)]
使用STE的梯度下降:
wt+1=wt−ηg^tw_{t+1} = w_t - \eta \hat{g}_twt+1=wt−ηg^t
其中g^t\hat{g}_tg^t是通过STE计算的梯度估计。
收敛性定理
定理1:假设损失函数ℓ\ellℓ是LLL-Lipschitz连续且β\betaβ-光滑的,量化误差有界∥w−Q(w)∥≤ϵQ\|w - Q(w)\| \leq \epsilon_Q∥w−Q(w)∥≤ϵQ,则使用STE的SGD满足:
1T∑t=1TE[∥∇L(wt)∥2]≤2(L(w1)−L∗)ηT+ηL2σ2+2LϵQ2(L(w1)−L∗)ηT\frac{1}{T}\sum_{t=1}^T \mathbb{E}[\|\nabla \mathcal{L}(w_t)\|^2] \leq \frac{2(\mathcal{L}(w_1) - \mathcal{L}^*)}{\eta T} + \eta L^2 \sigma^2 + 2L\epsilon_Q\sqrt{\frac{2(\mathcal{L}(w_1) - \mathcal{L}^*)}{\eta T}}T1t=1∑TE[∥∇L(wt)∥2]≤ηT2(L(w1)−L∗)+ηL2σ2+2LϵQηT2(L(w1)−L∗)
证明:
Step 1: 建立下降引理
由β\betaβ-光滑性:
L(wt+1)≤L(wt)+⟨∇L(wt),wt+1−wt⟩+β2∥wt+1−wt∥2\mathcal{L}(w_{t+1}) \leq \mathcal{L}(w_t) + \langle \nabla \mathcal{L}(w_t), w_{t+1} - w_t \rangle + \frac{\beta}{2}\|w_{t+1} - w_t\|^2L(wt+1)≤L(wt)+⟨∇L(wt),wt+1−wt⟩+2β∥wt+1−wt∥2
代入更新规则:
L(wt+1)≤L(wt)−η⟨∇L(wt),g^t⟩+βη22∥g^t∥2\mathcal{L}(w_{t+1}) \leq \mathcal{L}(w_t) - \eta \langle \nabla \mathcal{L}(w_t), \hat{g}_t \rangle + \frac{\beta \eta^2}{2}\|\hat{g}_t\|^2L(wt+1)≤L(wt)−η⟨∇L(wt),g^t⟩+2βη2∥g^t∥2
Step 2: 处理梯度误差
STE梯度与真实梯度的关系:
g^t=∇L(Q(wt))+ξt\hat{g}_t = \nabla \mathcal{L}(Q(w_t)) + \xi_tg^t=∇L(Q(wt))+ξt
其中ξt\xi_tξt是STE引入的误差。由Lipschitz连续性:
∥∇L(wt)−∇L(Q(wt))∥≤L∥wt−Q(wt)∥≤LϵQ\|\nabla \mathcal{L}(w_t) - \nabla \mathcal{L}(Q(w_t))\| \leq L\|w_t - Q(w_t)\| \leq L\epsilon_Q∥∇L(wt)−∇L(Q(wt))∥≤L∥wt−Q(wt)∥≤LϵQ
Step 3: 取期望并求和
对不等式两边取期望:
E[L(wt+1)]≤E[L(wt)]−ηE[∥∇L(wt)∥2]+ηLϵQE[∥∇L(wt)∥]+βη22(L2σ2+∥∇L(wt)∥2)\mathbb{E}[\mathcal{L}(w_{t+1})] \leq \mathbb{E}[\mathcal{L}(w_t)] - \eta \mathbb{E}[\|\nabla \mathcal{L}(w_t)\|^2] + \eta L\epsilon_Q \mathbb{E}[\|\nabla \mathcal{L}(w_t)\|] + \frac{\beta \eta^2}{2}(L^2\sigma^2 + \|\nabla \mathcal{L}(w_t)\|^2)E[L(wt+1)]≤E[L(wt)]−ηE[∥∇L(wt)∥2]+ηLϵQE[∥∇L(wt)∥]+2βη2(L2σ2+∥∇L(wt)∥2)
使用Cauchy-Schwarz不等式处理交叉项,累加TTT步并重新整理,得到收敛速率。
1.3.3 学习型量化参数
可微分量化函数
定义带可学习参数的量化函数:
Qθ(w)=s(θs)⋅clip(round(ws(θs)+z(θz)),0,2b−1)−s(θs)⋅z(θz)Q_{\theta}(w) = s(\theta_s) \cdot \text{clip}\left(\text{round}\left(\frac{w}{s(\theta_s)} + z(\theta_z)\right), 0, 2^b-1\right) - s(\theta_s) \cdot z(\theta_z)Qθ(w)=s(θs)⋅clip(round(s(θs)w+z(θz)),0,2b−1)−s(θs)⋅z(θz)
其中:
- 缩放因子:s(θs)=softplus(θs)=log(1+eθs)s(\theta_s) = \text{softplus}(\theta_s) = \log(1 + e^{\theta_s})s(θs)=softplus(θs)=log(1+eθs)
- 零点:z(θz)=(2b−1)⋅sigmoid(θz)z(\theta_z) = (2^b-1) \cdot \text{sigmoid}(\theta_z)z(θz)=(2b−1)⋅sigmoid(θz)
联合优化问题
minw,θL(Qθ(w))=E(x,y)[ℓ(f(Qθ(w),x),y)]\min_{w, \theta} \mathcal{L}(Q_\theta(w)) = \mathbb{E}_{(x,y)}[\ell(f(Q_\theta(w), x), y)]w,θminL(Qθ(w))=E(x,y)[ℓ(f(Qθ(w),x),y)]
梯度计算
对权重的梯度(使用STE):
∂L∂w=∂L∂Qθ(w)⋅1w∈clip range\frac{\partial \mathcal{L}}{\partial w} = \frac{\partial \mathcal{L}}{\partial Q_\theta(w)} \cdot \mathbb{1}_{w \in \text{clip range}}∂w∂L=∂Qθ(w)∂L⋅1w∈clip range
对缩放因子参数的梯度:
∂L∂θs=∂L∂Qθ(w)⋅∂Qθ(w)∂s⋅∂s∂θs\frac{\partial \mathcal{L}}{\partial \theta_s} = \frac{\partial \mathcal{L}}{\partial Q_\theta(w)} \cdot \frac{\partial Q_\theta(w)}{\partial s} \cdot \frac{\partial s}{\partial \theta_s}∂θs∂L=∂Qθ(w)∂L⋅∂s∂Qθ(w)⋅∂θs∂s
展开:
∂Qθ(w)∂s=round(ws+z)−z−ws2⋅∂round∂⋅\frac{\partial Q_\theta(w)}{\partial s} = \text{round}\left(\frac{w}{s} + z\right) - z - \frac{w}{s^2} \cdot \frac{\partial \text{round}}{\partial \cdot}∂s∂Qθ(w)=round(sw+z)−z−s2w⋅∂⋅∂round
由于round函数不可微,实践中忽略最后一项或使用软量化近似。
1.4 混合精度量化
1.4.1 层敏感度分析
不同层对量化的敏感度不同。定义第lll层的敏感度:
Sl=∂L∂ϵlS_l = \frac{\partial \mathcal{L}}{\partial \epsilon_l}Sl=∂ϵl∂L
其中ϵl=∥Wl−Q(Wl)∥F\epsilon_l = \|W_l - Q(W_l)\|_Fϵl=∥Wl−Q(Wl)∥F是第lll层的量化误差。
使用一阶泰勒展开:
L(W+ΔW)≈L(W)+∑ltr(∇WlL⋅ΔWlT)\mathcal{L}(W + \Delta W) \approx \mathcal{L}(W) + \sum_l \text{tr}(\nabla_{W_l} \mathcal{L} \cdot \Delta W_l^T)L(W+ΔW)≈L(W)+l∑tr(∇WlL⋅ΔWlT)
敏感度可以通过Hessian矩阵的特征值近似:
Sl≈tr(Hl)=∑iλi(l)S_l \approx \text{tr}(H_l) = \sum_i \lambda_i^{(l)}Sl≈tr(Hl)=i∑λi(l)
其中λi(l)\lambda_i^{(l)}λi(l)是第lll层Hessian的特征值。
1.4.2 比特分配优化
问题定义
给定总比特预算BBB,为每层分配比特数{bl}\{b_l\}{bl}:
min{bl}∑lSl⋅Dl(bl)\min_{\{b_l\}} \sum_l S_l \cdot D_l(b_l){bl}minl∑Sl⋅Dl(bl)
s.t. ∑lnl⋅bl≤B\text{s.t. } \sum_l n_l \cdot b_l \leq Bs.t. l∑nl⋅bl≤B
其中nln_lnl是第lll层的参数数量,Dl(bl)D_l(b_l)Dl(bl)是使用blb_lbl比特量化的失真。
失真模型
假设量化失真与比特数呈指数关系:
Dl(bl)=σl2⋅2−2blD_l(b_l) = \sigma_l^2 \cdot 2^{-2b_l}Dl(bl)=σl2⋅2−2bl
其中σl2\sigma_l^2σl2是第lll层权重的方差。
拉格朗日优化
构造拉格朗日函数:
L=∑lSlσl22−2bl+λ(∑lnlbl−B)\mathcal{L} = \sum_l S_l \sigma_l^2 2^{-2b_l} + \lambda \left(\sum_l n_l b_l - B\right)L=l∑Slσl22−2bl+λ(l∑nlbl−B)
对blb_lbl求导:
∂L∂bl=−2ln(2)Slσl22−2bl+λnl=0\frac{\partial \mathcal{L}}{\partial b_l} = -2\ln(2) S_l \sigma_l^2 2^{-2b_l} + \lambda n_l = 0∂bl∂L=−2ln(2)Slσl22−2bl+λnl=0
解得最优比特分配:
bl=12log2(2ln(2)Slσl2λnl)b_l = \frac{1}{2}\log_2\left(\frac{2\ln(2) S_l \sigma_l^2}{\lambda n_l}\right)bl=21log2(λnl2ln(2)Slσl2)
使用预算约束确定λ\lambdaλ,得到:
bl=B∑jnj+12log2(Slσl2/nl(∏j(Sjσj2/nj)nj/∑knk))b_l = \frac{B}{\sum_j n_j} + \frac{1}{2}\log_2\left(\frac{S_l \sigma_l^2 / n_l}{\left(\prod_j (S_j \sigma_j^2 / n_j)^{n_j/\sum_k n_k}\right)}\right)bl=∑jnjB+21log2
(∏j(Sjσj2/nj)nj/∑knk)Slσl2/nl
这表明敏感度高、方差大的层应分配更多比特。
第二部分:神经网络剪枝的数学原理
2.1 稀疏性的理论基础
2.1.1 稀疏表示理论
稀疏编码问题
给定输入x∈Rnx \in \mathbb{R}^nx∈Rn和字典D∈Rn×mD \in \mathbb{R}^{n \times m}D∈Rn×m(m>nm > nm>n),寻找稀疏表示α∈Rm\alpha \in \mathbb{R}^mα∈Rm:
minα12∥x−Dα∥22+λ∥α∥0\min_\alpha \frac{1}{2}\|x - D\alpha\|_2^2 + \lambda\|\alpha\|_0αmin21∥x−Dα∥22+λ∥α∥0
其中∥α∥0\|\alpha\|_0∥α∥0是ℓ0\ell_0ℓ0范数,表示非零元素个数。
ℓ0\ell_0ℓ0优化的NP-hard性
定理2:稀疏编码问题是NP-hard的。
证明(通过归约):考虑子集和问题:给定集合S={s1,...,sm}S = \{s_1, ..., s_m\}S={s1,...,sm}和目标ttt,判断是否存在子集和为ttt。
构造稀疏编码实例:
- 字典:D=[s1,...,sm]TD = [s_1, ..., s_m]^TD=[s1,...,sm]T(单行矩阵)
- 输入:x=tx = tx=t
- 稀疏度:kkk
存在kkk-稀疏解当且仅当存在大小为kkk的子集和为ttt。
2.1.2 凸松弛:从ℓ0\ell_0ℓ0到ℓ1\ell_1ℓ1
ℓ1\ell_1ℓ1松弛
将ℓ0\ell_0ℓ0范数松弛为ℓ1\ell_1ℓ1范数:
minα12∥x−Dα∥22+λ∥α∥1\min_\alpha \frac{1}{2}\|x - D\alpha\|_2^2 + \lambda\|\alpha\|_1αmin21∥x−Dα∥22+λ∥α∥1
恢复保证
定理3(限制等距性质RIP):如果字典DDD满足阶为2k2k2k的RIP条件:
(1−δ2k)∥α∥22≤∥Dα∥22≤(1+δ2k)∥α∥22(1-\delta_{2k})\|\alpha\|_2^2 \leq \|D\alpha\|_2^2 \leq (1+\delta_{2k})\|\alpha\|_2^2(1−δ2k)∥α∥22≤∥Dα∥22≤(1+δ2k)∥α∥22
对所有2k2k2k-稀疏向量α\alphaα成立,且δ2k<2−1\delta_{2k} < \sqrt{2} - 1δ2k<2−1,则ℓ1\ell_1ℓ1最小化可以精确恢复kkk-稀疏信号。
证明概要:
设α∗\alpha^*α∗是真实的kkk-稀疏解,α^\hat{\alpha}α^是ℓ1\ell_1ℓ1最小化的解。
定义误差:h=α^−α∗h = \hat{\alpha} - \alpha^*h=α^−α∗
将hhh分解为:
- hTh_ThT:对应α∗\alpha^*α∗支撑集的分量
- hTch_{T^c}hTc:其余分量
由于α^\hat{\alpha}α^是ℓ1\ell_1ℓ1最小化的解:
∥α∗+h∥1≤∥α∗∥1\|\alpha^* + h\|_1 \leq \|\alpha^*\|_1∥α∗+h∥1≤∥α∗∥1
这意味着:
∥hTc∥1≤∥hT∥1\|h_{T^c}\|_1 \leq \|h_T\|_1∥hTc∥1≤∥hT∥1
使用RIP条件和上述不等式,可以证明h=0h = 0h=0,即精确恢复。
2.2 结构化剪枝算法
2.2.1 滤波器剪枝的优化框架
问题定义
对于卷积层,权重张量W∈RCout×Cin×K×KW \in \mathbb{R}^{C_{out} \times C_{in} \times K \times K}W∈RCout×Cin×K×K,其中CoutC_{out}Cout是输出通道数,CinC_{in}Cin是输入通道数,KKK是卷积核大小。
滤波器剪枝选择保留的输出通道子集S⊆{1,...,Cout}\mathcal{S} \subseteq \{1, ..., C_{out}\}S⊆{1,...,Cout}:
minS,WSL(WS)+λ∣S∣\min_{\mathcal{S}, W_\mathcal{S}} \mathcal{L}(W_\mathcal{S}) + \lambda |\mathcal{S}|S,WSminL(WS)+λ∣S∣
其中WSW_\mathcal{S}WS表示只保留S\mathcal{S}S中通道的权重。
贪婪剪枝算法
重要性评分(使用泰勒展开):
Ii=∣∂L∂zi⋅zi∣I_i = \left|\frac{\partial \mathcal{L}}{\partial z_i} \cdot z_i\right|Ii=
∂zi∂L⋅zi
其中ziz_izi是第iii个滤波器的输出。
展开:
L(W∖{i})≈L(W)−∂L∂zi⋅zi+12ziT∂2L∂zi2zi\mathcal{L}(W \setminus \{i\}) \approx \mathcal{L}(W) - \frac{\partial \mathcal{L}}{\partial z_i} \cdot z_i + \frac{1}{2} z_i^T \frac{\partial^2 \mathcal{L}}{\partial z_i^2} z_iL(W∖{i})≈L(W)−∂zi∂L⋅zi+21ziT∂zi2∂2Lzi
忽略二阶项,重要性正比于一阶项。
2.2.2 通道剪枝的联合优化
输入输出通道的依赖关系
剪枝第lll层的输出通道会影响第l+1l+1l+1层的输入通道。定义联合掩码:
M={m(l)∈{0,1}Cl}l=1LM = \{m^{(l)} \in \{0,1\}^{C_l}\}_{l=1}^LM={m(l)∈{0,1}Cl}l=1L
优化问题:
minM,WL(W⊙M)+λ∑l∥m(l)∥0\min_{M, W} \mathcal{L}(W \odot M) + \lambda \sum_l \|m^{(l)}\|_0M,WminL(W⊙M)+λl∑∥m(l)∥0
约束:mi(l)=mi(l+1,in)m_i^{(l)} = m_i^{(l+1, in)}mi(l)=mi(l+1,in)(通道对应关系)
交替优化算法
Step 1: 固定MMM,优化WWW(标准训练)
W(t+1)=argminWL(W⊙M(t))W^{(t+1)} = \arg\min_W \mathcal{L}(W \odot M^{(t)})W(t+1)=argWminL(W⊙M(t))
Step 2: 固定WWW,优化MMM(组合优化)
使用连续松弛:m∈[0,1]m \in [0,1]m∈[0,1]
m(t+1)=argminmL(W(t+1)⊙m)+λ∥m∥1m^{(t+1)} = \arg\min_m \mathcal{L}(W^{(t+1)} \odot m) + \lambda \|m\|_1m(t+1)=argmminL(W(t+1)⊙m)+λ∥m∥1
使用近端梯度方法:
m(t+1)=proxλη(m(t)−η∇mL)m^{(t+1)} = \text{prox}_{\lambda\eta}(m^{(t)} - \eta \nabla_m \mathcal{L})m(t+1)=proxλη(m(t)−η∇mL)
其中软阈值算子:
proxλη(x)=sign(x)⋅max(∣x∣−λη,0)\text{prox}_{\lambda\eta}(x) = \text{sign}(x) \cdot \max(|x| - \lambda\eta, 0)proxλη(x)=sign(x)⋅max(∣x∣−λη,0)
2.3 彩票假设的数学分析
2.3.1 彩票假设的形式化
定义(强彩票假设):对于随机初始化的密集网络f(x;θ0)f(x; \theta_0)f(x;θ0),存在子网络f(x;θ0⊙m)f(x; \theta_0 \odot m)f(x;θ0⊙m)(其中m∈{0,1}pm \in \{0,1\}^pm∈{0,1}p是二进制掩码),满足:
L(f(⋅;θ0⊙m))≤L(f(⋅;θ∗))+ϵ\mathcal{L}(f(\cdot; \theta_0 \odot m)) \leq \mathcal{L}(f(\cdot; \theta^*)) + \epsilonL(f(⋅;θ0⊙m))≤L(f(⋅;θ∗))+ϵ
其中θ∗\theta^*θ∗是密集网络训练后的参数,ϵ\epsilonϵ是小常数。
弱彩票假设:允许对子网络重新训练:
∃m:L(θm∗)≤L(θ∗)+ϵ\exists m: \mathcal{L}(\theta_m^*) \leq \mathcal{L}(\theta^*) + \epsilon∃m:L(θm∗)≤L(θ∗)+ϵ
其中θm∗=argminθL(f(⋅;θ⊙m))\theta_m^* = \arg\min_\theta \mathcal{L}(f(\cdot; \theta \odot m))θm∗=argminθL(f(⋅;θ⊙m)),初始化为θ0⊙m\theta_0 \odot mθ0⊙m。
2.3.2 彩票存在的概率分析
随机子网络的性能
考虑随机选择比例ppp的连接。子网络数量:
N=(npn)≈2nH(p)2πnp(1−p)N = \binom{n}{pn} \approx \frac{2^{nH(p)}}{\sqrt{2\pi np(1-p)}}N=(pnn)≈2πnp(1−p)2nH(p)
其中H(p)=−plogp−(1−p)log(1−p)H(p) = -p\log p - (1-p)\log(1-p)H(p)=−plogp−(1−p)log(1−p)是二进制熵。
定理4:假设每个子网络的性能独立同分布,期望为μ\muμ,方差为σ2\sigma^2σ2。至少存在一个性能优于μ−tσ\mu - t\sigmaμ−tσ的子网络的概率为:
P(miniLi≤μ−tσ)≥1−Φ(−t)NP(\min_i L_i \leq \mu - t\sigma) \geq 1 - \Phi(-t)^NP(iminLi≤μ−tσ)≥1−Φ(−t)N
其中Φ\PhiΦ是标准正态分布函数。
证明:使用独立性和互补概率。
含义:当NNN很大时(过参数化),高概率存在好的子网络。
2.3.3 迭代量级剪枝(IMP)的理论分析
IMP算法
- 训练密集网络:θ∗=argminL(θ)\theta^* = \arg\min \mathcal{L}(\theta)θ∗=argminL(θ),初始化θ0\theta_0θ0
- 剪枝:保留最大的ppp比例权重,得到掩码mmm
- 重置:将保留的权重重置为θ0⊙m\theta_0 \odot mθ0⊙m
- 重新训练:θm∗=argminL(θ⊙m)\theta_m^* = \arg\min \mathcal{L}(\theta \odot m)θm∗=argminL(θ⊙m),初始化θ0⊙m\theta_0 \odot mθ0⊙m
- 迭代重复
收敛性分析
定义第ttt轮的掩码为m(t)m^{(t)}m(t),稀疏度为ptp^tpt。
定理5:在适当条件下,IMP找到的子网络性能满足:
L(θm(T)∗)−L(θ∗)≤O(1pTn+(1−p)T)\mathcal{L}(\theta_{m^{(T)}}^*) - \mathcal{L}(\theta^*) \leq O\left(\frac{1}{\sqrt{p^T n}} + (1-p)^T\right)L(θm(T)∗)−L(θ∗)≤O(pTn1+(1−p)T)
证明思路:
- 第一项来自统计误差(有限样本)
- 第二项来自逐步剪枝的累积误差
2.4 动态稀疏训练
2.4.1 稀疏进化算法
Rigged Lottery (RigL)
动态调整网络拓扑:
- 梯度计算:对剪枝的连接也计算梯度
- 生长:添加梯度最大的连接
- 剪枝:移除权重最小的连接
数学描述:
掩码更新规则:
mij(t+1)={1if (i,j)∈TopK(∣∇wijL∣,kgrow)0if (i,j)∈BottomK(∣wij∣,kprune)mij(t)otherwisem_{ij}^{(t+1)} = \begin{cases} 1 & \text{if } (i,j) \in \text{TopK}(|\nabla_{w_{ij}} \mathcal{L}|, k_{grow}) \\ 0 & \text{if } (i,j) \in \text{BottomK}(|w_{ij}|, k_{prune}) \\ m_{ij}^{(t)} & \text{otherwise} \end{cases}mij(t+1)=⎩
⎨
⎧10mij(t)if (i,j)∈TopK(∣∇wijL∣,kgrow)if (i,j)∈BottomK(∣wij∣,kprune)otherwise
其中kgrow=kprunek_{grow} = k_{prune}kgrow=kprune保持稀疏度不变。
理论保证
定理6:RigL算法的遗憾界(相对于最优固定稀疏模式):
RegretT=∑t=1TL(w(t))−minm:∥m∥0≤k∑t=1TL(wm)≤O(Tlogn)\text{Regret}_T = \sum_{t=1}^T \mathcal{L}(w^{(t)}) - \min_{m: \|m\|_0 \leq k} \sum_{t=1}^T \mathcal{L}(w_m) \leq O(\sqrt{T \log n})RegretT=t=1∑TL(w(t))−m:∥m∥0≤kmint=1∑TL(wm)≤O(Tlogn)
证明使用在线学习理论和专家算法分析。
2.4.2 稀疏度调度
余弦稀疏度调度
时变稀疏度:
s(t)=sfinal+12(sinit−sfinal)(1+cos(πtT))s(t) = s_{final} + \frac{1}{2}(s_{init} - s_{final})\left(1 + \cos\left(\frac{\pi t}{T}\right)\right)s(t)=sfinal+21(sinit−sfinal)(1+cos(Tπt))
开始时稀疏度低(更多连接),逐渐增加稀疏度。
理论解释
早期:探索更多连接组合
后期:收敛到最优稀疏结构
可以用多臂老虎机理论分析探索-利用权衡。
第三部分:知识蒸馏的深度理论
3.1 蒸馏的信息论视角
3.1.1 互信息最大化
知识蒸馏可以视为最大化学生和教师表示之间的互信息:
maxfSI(T;S)=Ep(t,s)logp(t,s)p(t)p(s)\max_{f_S} I(T; S) = \mathbb{E}_{p(t,s)} \log \frac{p(t,s)}{p(t)p(s)}fSmaxI(T;S)=Ep(t,s)logp(t)p(s)p(t,s)
其中TTT是教师表示,SSS是学生表示。
变分下界
直接优化互信息困难,使用变分下界:
I(T;S)≥Ep(t,s)[logq(t∣s)]+H(T)I(T; S) \geq \mathbb{E}_{p(t,s)}[\log q(t|s)] + H(T)I(T;S)≥Ep(t,s)[logq(t∣s)]+H(T)
其中q(t∣s)q(t|s)q(t∣s)是变分后验。
选择q(t∣s)=N(t;fS(s),σ2I)q(t|s) = \mathcal{N}(t; f_S(s), \sigma^2I)q(t∣s)=N(t;fS(s),σ2I),得到:
I(T;S)≥−12σ2E[∥T−fS(S)∥2]+constI(T; S) \geq -\frac{1}{2\sigma^2}\mathbb{E}[\|T - f_S(S)\|^2] + \text{const}I(T;S)≥−2σ21E[∥T−fS(S)∥2]+const
这正是MSE蒸馏损失。
3.1.2 信息瓶颈理论在蒸馏中的应用
蒸馏的信息瓶颈观点
学生网络形成信息瓶颈:
maxfSI(S;Y)−βI(X;S)\max_{f_S} I(S; Y) - \beta I(X; S)fSmaxI(S;Y)−βI(X;S)
其中YYY是标签,XXX是输入,β\betaβ控制压缩程度。
加入教师指导:
maxfSαI(S;Y)+(1−α)I(S;T)−βI(X;S)\max_{f_S} \alpha I(S; Y) + (1-\alpha)I(S; T) - \beta I(X; S)fSmaxαI(S;Y)+(1−α)I(S;T)−βI(X;S)
最优学生的刻画
使用变分方法,最优学生满足:
p(s∣x)∝p(s)exp(αβEp(y∣x)[logp(y∣s)]+1−αβEp(t∣x)[logp(t∣s)])p(s|x) \propto p(s) \exp\left(\frac{\alpha}{\beta} \mathbb{E}_{p(y|x)}[\log p(y|s)] + \frac{1-\alpha}{\beta} \mathbb{E}_{p(t|x)}[\log p(t|s)]\right)p(s∣x)∝p(s)exp(βαEp(y∣x)[logp(y∣s)]+β1−αEp(t∣x)[logp(t∣s)])
这解释了为什么组合硬标签和软标签有效。
3.2 温度缩放的数学原理
3.2.1 温度的几何解释
Softmax函数:
pi=exp(zi/T)∑jexp(zj/T)p_i = \frac{\exp(z_i/T)}{\sum_j \exp(z_j/T)}pi=∑jexp(zj/T)exp(zi/T)
梯度分析
对logit的梯度:
∂pi∂zj={1Tpi(1−pi)i=j−1Tpipji≠j\frac{\partial p_i}{\partial z_j} = \begin{cases} \frac{1}{T}p_i(1-p_i) & i = j \\ -\frac{1}{T}p_i p_j & i \neq j \end{cases}∂zj∂pi={T1pi(1−pi)−T1pipji=ji=j
Jacobian矩阵:
J=1T(diag(p)−ppT)J = \frac{1}{T}(\text{diag}(p) - pp^T)J=T1(diag(p)−ppT)
特征值:
- λ1=0\lambda_1 = 0λ1=0(对应全1向量)
- λi=piT\lambda_i = \frac{p_i}{T}λi=Tpi(其他特征值)
温度控制梯度流的速度。
3.2.2 最优温度的推导
目标函数
最小化学生和教师分布的散度:
minTDKL(PTteacher∥PTstudent)\min_T D_{KL}(P_T^{teacher} \| P_T^{student})TminDKL(PTteacher∥PTstudent)
其中PTP_TPT表示温度为TTT的softmax输出。
渐近分析(T→∞T \to \inftyT→∞)
泰勒展开softmax:
pi=1C+zi−zˉCT+(zi−zˉ)2−(z−zˉ)2‾2CT2+O(T−3)p_i = \frac{1}{C} + \frac{z_i - \bar{z}}{CT} + \frac{(z_i - \bar{z})^2 - \overline{(z - \bar{z})^2}}{2CT^2} + O(T^{-3})pi=C1+CTzi−zˉ+2CT2(zi−zˉ)2−(z−zˉ)2+O(T−3)
其中zˉ=1C∑izi\bar{z} = \frac{1}{C}\sum_i z_izˉ=C1∑izi。
KL散度展开:
DKL=12CT2∑i(ziteacher−zistudent)2+O(T−3)D_{KL} = \frac{1}{2CT^2}\sum_i (z_i^{teacher} - z_i^{student})^2 + O(T^{-3})DKL=2CT21i∑(ziteacher−zistudent)2+O(T−3)
有限温度优化
定义logit差异:Δi=ziteacher−zistudent\Delta_i = z_i^{teacher} - z_i^{student}Δi=ziteacher−zistudent
考虑二阶泰勒展开,最优温度满足:
T∗=∑iΔi2C⋅KLtargetT^* = \sqrt{\frac{\sum_i \Delta_i^2}{C \cdot \text{KL}_{target}}}T∗=C⋅KLtarget∑iΔi2
3.3 特征蒸馏的理论框架
3.3.1 中间层匹配
FitNets方法
匹配中间层特征:
Lhint=∥fS(ls)(x)−r(fT(lt)(x))∥2\mathcal{L}_{hint} = \|f_S^{(l_s)}(x) - r(f_T^{(l_t)}(x))\|^2Lhint=∥fS(ls)(x)−r(fT(lt)(x))∥2
其中rrr是回归器(通常是1x1卷积)。
理论分析
将特征匹配视为子空间对齐问题。设教师特征FT∈Rn×dtF_T \in \mathbb{R}^{n \times d_t}FT∈Rn×dt,学生特征FS∈Rn×dsF_S \in \mathbb{R}^{n \times d_s}FS∈Rn×ds。
最优回归器(当ds≥dtd_s \geq d_tds≥dt):
R∗=FS+FT=(FSTFS)−1FSTFTR^* = F_S^+ F_T = (F_S^T F_S)^{-1} F_S^T F_TR∗=FS+FT=(FSTFS)−1FSTFT
其中FS+F_S^+FS+是伪逆。
主成分对齐
对特征进行SVD分解:
FT=UTΣTVTT,FS=USΣSVSTF_T = U_T \Sigma_T V_T^T, \quad F_S = U_S \Sigma_S V_S^TFT=UTΣTVTT,FS=USΣSVST
匹配前kkk个主成分:
LPCA=∥US,k−UT,k∥F2\mathcal{L}_{PCA} = \|U_{S,k} - U_{T,k}\|_F^2LPCA=∥US,k−UT,k∥F2
这保留了最重要的特征方向。
3.3.2 注意力转移
注意力图定义
对于卷积特征F∈RC×H×WF \in \mathbb{R}^{C \times H \times W}F∈RC×H×W,注意力图:
A=∑c=1C∣Fc∣pA = \sum_{c=1}^C |F_c|^pA=c=1∑C∣Fc∣p
通常p=2p=2p=2(能量图)。
梯度匹配解释
注意力匹配等价于匹配空间梯度:
LAT=∥∇xfS(x)−∇xfT(x)∥2\mathcal{L}_{AT} = \|\nabla_x f_S(x) - \nabla_x f_T(x)\|^2LAT=∥∇xfS(x)−∇xfT(x)∥2
这保证了学生和教师关注相同的输入区域。
3.4 自蒸馏的理论分析
3.4.1 深度网络的自蒸馏
Born-Again Networks
迭代自蒸馏:
θS(k+1)=argminθLCE(y,f(x;θ))+λLKL(f(x;θ(k)),f(x;θ))\theta_S^{(k+1)} = \arg\min_\theta \mathcal{L}_{CE}(y, f(x;\theta)) + \lambda \mathcal{L}_{KL}(f(x;\theta^{(k)}), f(x;\theta))θS(k+1)=argθminLCE(y,f(x;θ))+λLKL(f(x;θ(k)),f(x;θ))
收敛性分析
定义能量函数:
E(k)=L(f(⋅;θ(k)))E^{(k)} = \mathcal{L}(f(\cdot; \theta^{(k)}))E(k)=L(f(⋅;θ(k)))
定理7:在适当条件下,自蒸馏序列收敛到局部最优:
E(k+1)≤E(k)−η∥∇E(k)∥2+O(η2)E^{(k+1)} \leq E^{(k)} - \eta \|\nabla E^{(k)}\|^2 + O(\eta^2)E(k+1)≤E(k)−η∥∇E(k)∥2+O(η2)
证明使用梯度下降理论和KL散度的性质。
3.4.2 多代蒸馏的性能界
性能退化分析
经过KKK代蒸馏后的性能:
L(K)≤L(0)+K⋅ϵdistill+O(K2δ)\mathcal{L}^{(K)} \leq \mathcal{L}^{(0)} + K \cdot \epsilon_{distill} + O(K^2 \delta)L(K)≤L(0)+K⋅ϵdistill+O(K2δ)
其中ϵdistill\epsilon_{distill}ϵdistill是单次蒸馏误差,δ\deltaδ是模型容量差异。
这解释了为什么多代蒸馏会累积误差。
第四部分:神经架构搜索的优化理论
4.1 搜索空间的数学结构
4.1.1 架构的图表示
神经架构可以表示为有向无环图(DAG):
G=(V,E,O)G = (V, E, \mathcal{O})G=(V,E,O)
其中:
- VVV:节点(特征图)
- EEE:边(操作连接)
- O\mathcal{O}O:操作集合
搜索空间大小:
∣A∣=∏(i,j)∈E∣Oij∣|\mathcal{A}| = \prod_{(i,j) \in E} |\mathcal{O}_{ij}|∣A∣=(i,j)∈E∏∣Oij∣
对于nnn节点的cell,完全连接时:
∣A∣=∣O∣n(n−1)/2|\mathcal{A}| = |\mathcal{O}|^{n(n-1)/2}∣A∣=∣O∣n(n−1)/2
4.1.2 连续松弛(DARTS)
离散选择的连续化:
oˉ(i,j)(x)=∑o∈Oαo(i,j)⋅o(x)\bar{o}^{(i,j)}(x) = \sum_{o \in \mathcal{O}} \alpha_o^{(i,j)} \cdot o(x)oˉ(i,j)(x)=o∈O∑αo(i,j)⋅o(x)
架构参数α\alphaα通过softmax归一化:
αo(i,j)=exp(αo(i,j))∑o′∈Oexp(αo′(i,j))\alpha_o^{(i,j)} = \frac{\exp(\alpha_o^{(i,j)})}{\sum_{o' \in \mathcal{O}} \exp(\alpha_{o'}^{(i,j)})}αo(i,j)=∑o′∈Oexp(αo′(i,j))exp(αo(i,j))
Gumbel-Softmax技巧
为了使采样可微,使用Gumbel-Softmax:
αo=exp((logπo+go)/τ)∑o′exp((logπo′+go′)/τ)\alpha_o = \frac{\exp((\log \pi_o + g_o)/\tau)}{\sum_{o'} \exp((\log \pi_{o'} + g_{o'})/\tau)}αo=∑o′exp((logπo′+go′)/τ)exp((logπo+go)/τ)
其中go∼Gumbel(0,1)g_o \sim \text{Gumbel}(0,1)go∼Gumbel(0,1),τ\tauτ是温度参数。
当τ→0\tau \to 0τ→0时,趋向于离散采样;τ→∞\tau \to \inftyτ→∞时,趋向于均匀分布。
4.2 双层优化问题
4.2.1 问题形式化
minαLval(w∗(α),α)\min_\alpha \mathcal{L}_{val}(w^*(\alpha), \alpha)αminLval(w∗(α),α)
s.t. w∗(α)=argminwLtrain(w,α)\text{s.t. } w^*(\alpha) = \arg\min_w \mathcal{L}_{train}(w, \alpha)s.t. w∗(α)=argwminLtrain(w,α)
4.2.2 梯度计算
隐函数定理方法
从下层问题的最优性条件:
∇wLtrain(w∗(α),α)=0\nabla_w \mathcal{L}_{train}(w^*(\alpha), \alpha) = 0∇wLtrain(w∗(α),α)=0
对α\alphaα求全微分:
∇αw2Ltrain+∇ww2Ltrain⋅dw∗dα=0\nabla_{\alpha w}^2 \mathcal{L}_{train} + \nabla_{ww}^2 \mathcal{L}_{train} \cdot \frac{dw^*}{d\alpha} = 0∇αw2Ltrain+∇ww2Ltrain⋅dαdw∗=0
解得:
dw∗dα=−[∇ww2Ltrain]−1∇αw2Ltrain\frac{dw^*}{d\alpha} = -[\nabla_{ww}^2 \mathcal{L}_{train}]^{-1} \nabla_{\alpha w}^2 \mathcal{L}_{train}dαdw∗=−[∇ww2Ltrain]−1∇αw2Ltrain
上层梯度:
∇αLval=∂Lval∂α+∂Lval∂w⋅dw∗dα\nabla_\alpha \mathcal{L}_{val} = \frac{\partial \mathcal{L}_{val}}{\partial \alpha} + \frac{\partial \mathcal{L}_{val}}{\partial w} \cdot \frac{dw^*}{d\alpha}∇αLval=∂α∂Lval+∂w∂Lval⋅dαdw∗
二阶近似
计算Hessian逆矩阵代价高,使用有限差分近似:
dw∗dα≈w∗(α+ϵ)−w∗(α−ϵ)2ϵ\frac{dw^*}{d\alpha} \approx \frac{w^*(\alpha + \epsilon) - w^*(\alpha - \epsilon)}{2\epsilon}dαdw∗≈2ϵw∗(α+ϵ)−w∗(α−ϵ)
或使用一步梯度近似:
w+(α)=w−ξ∇wLtrain(w,α)w^+(\alpha) = w - \xi \nabla_w \mathcal{L}_{train}(w, \alpha)w+(α)=w−ξ∇wLtrain(w,α)
w−(α)=w+ξ∇wLtrain(w,α)w^-(\alpha) = w + \xi \nabla_w \mathcal{L}_{train}(w, \alpha)w−(α)=w+ξ∇wLtrain(w,α)
则:
∇αLval≈Lval(w+,α)−Lval(w−,α)2ξ∇αLtrain(w,α)\nabla_\alpha \mathcal{L}_{val} \approx \frac{\mathcal{L}_{val}(w^+, \alpha) - \mathcal{L}_{val}(w^-, \alpha)}{2\xi} \nabla_\alpha \mathcal{L}_{train}(w, \alpha)∇αLval≈2ξLval(w+,α)−Lval(w−,α)∇αLtrain(w,α)
4.3 进化算法的理论分析
4.3.1 多目标优化
同时优化精度和效率:
minα[f1(α),f2(α),...,fk(α)]\min_\alpha [f_1(\alpha), f_2(\alpha), ..., f_k(\alpha)]αmin[f1(α),f2(α),...,fk(α)]
其中f1f_1f1是错误率,f2f_2f2是延迟,f3f_3f3是能耗等。
Pareto支配
架构α1\alpha_1α1支配α2\alpha_2α2(记作α1≺α2\alpha_1 \prec \alpha_2α1≺α2)当且仅当:
∀i:fi(α1)≤fi(α2) 且 ∃j:fj(α1)<fj(α2)\forall i: f_i(\alpha_1) \leq f_i(\alpha_2) \text{ 且 } \exists j: f_j(\alpha_1) < f_j(\alpha_2)∀i:fi(α1)≤fi(α2) 且 ∃j:fj(α1)<fj(α2)
超体积指标
Pareto前沿的质量度量:
HV(P)=λ(⋃α∈P[α,r])HV(P) = \lambda\left(\bigcup_{\alpha \in P} [\alpha, r]\right)HV(P)=λ(α∈P⋃[α,r])
其中rrr是参考点,λ\lambdaλ是Lebesgue测度。
更多推荐
所有评论(0)