嵌入式AI领域关键技术的理论基础

引言

嵌入式AI的核心挑战在于如何在极其有限的计算和存储资源下实现高性能的智能推理。这需要我们从数学原理出发,理解模型压缩、优化和部署的本质。

第一部分:神经网络量化的完整理论体系

1.1 量化的信息论基础

1.1.1 从连续到离散:信息损失的数学刻画

考虑一个连续随机变量X∈RX \in \mathbb{R}XR,其概率密度函数为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=2bbbb是量化位数。

量化函数定义为:
Q:R→QQ: \mathbb{R} \rightarrow \mathcal{Q}Q:RQ

将实数轴划分为LLL个区间Ri=[ti−1,ti)\mathcal{R}_i = [t_{i-1}, t_i)Ri=[ti1,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 xRi

信息损失的度量

原始信号的微分熵为:
h(X)=−∫−∞∞p(x)log⁡p(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)log⁡P(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=1LP(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)=ti1tip(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(XQ(X))

条件微分熵h(X∣Q(X))h(X|Q(X))h(XQ(X))表示量化后剩余的不确定性:
h(X∣Q(X))=−∑i=1LP(Q(X)=qi)∫Rip(x∣Q(X)=qi)log⁡p(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(XQ(X))=i=1LP(Q(X)=qi)Rip(xQ(X)=qi)logp(xQ(X)=qi)dx

1.1.2 率失真理论的深入分析

率失真函数的推导

给定失真度量d:R×Q→R+d: \mathbb{R} \times \mathcal{Q} \rightarrow \mathbb{R}^+d:R×QR+,平均失真定义为:
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=1Lp(x)1xRid(x,qi)dx

率失真函数R(D)R(D)R(D)定义为在失真不超过DDD的条件下,最小可能的信息率:
R(D)=min⁡p(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(qx):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)log⁡p(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)=qp(x)p(qx)logp(q)p(qx)dx

其中边际分布:
p(q)=∫p(x)p(q∣x)dxp(q) = \int p(x)p(q|x) dxp(q)=p(x)p(qx)dx

p(q∣x)p(q|x)p(qx)求变分导数:
δLδp(q∣x)=p(x)[log⁡p(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(qx)δL=p(x)[logp(q)p(qx)+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(qx)=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,λ)=qp(q)eλd(x,q)

高斯源的闭式解

对于高斯源X∼N(0,σ2)X \sim \mathcal{N}(0, \sigma^2)XN(0,σ2)和均方误差失真d(x,q)=(x−q)2d(x,q) = (x-q)^2d(x,q)=(xq)2,率失真函数有闭式解:

R(D)={12log⁡2σ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)QX=xN(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[(XQ)2]=E[(XaXϵ)2]=(1a)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)=12log⁡2a2σ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(QX)=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=1L(xqi)21xRip(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=1Lti1ti(xqi)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 = 0qiJ=2ti1ti(xqi)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=ti1tip(x)dxti1tixp(x)dx=E[XXRi]

对决策边界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) = 0tiJ=(tiqi)2p(ti)(tiqi+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=1Lti1(k)ti(k)(xqi(k))2p(x)dx

引理1:质心更新步骤不增加能量。

证明:固定边界{ti(k)}\{t_i^{(k)}\}{ti(k)},对每个区间,质心是最小化该区间内均方误差的唯一点:
qi(k+1)=arg⁡min⁡q∫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)=argqminti1(k)ti(k)(xq)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)=arg⁡min⁡t[(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[(tqi(k+1))2+(tqi+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=1LPilog⁡2PiR = -\sum_{i=1}^L P_i \log_2 P_iR=i=1LPilog2Pi

失真:
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=1Lti1ti(xqi)2p(x)dx

高分辨率量化近似

LLL很大时,假设p(x)p(x)p(x)在每个量化区间内近似常数。设区间宽度为Δi=ti−ti−1\Delta_i = t_i - t_{i-1}Δi=titi1,则:

Pi≈p(qi)ΔiP_i \approx p(q_i) \Delta_iPip(qi)Δi

区间内的失真(使用均匀分布近似):
Di≈Δi3p(qi)12D_i \approx \frac{\Delta_i^3 p(q_i)}{12}Di12Δi3p(qi)

总失真:
D≈112∑i=1LΔi3p(qi)D \approx \frac{1}{12} \sum_{i=1}^L \Delta_i^3 p(q_i)D121i=1LΔ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=1LΔi3p(qi)+μ(i=1LΔirange)

Δ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ΔiL=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}wQ(w)1wα

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~ww~]

ϵ→0\epsilon \to 0ϵ0时,∂w~∂w→1\frac{\partial \tilde{w}}{\partial w} \to \mathbb{1}ww~1,这正是STE的本质。

1.3.2 量化感知训练的收敛性分析

问题设置

考虑量化神经网络的训练:
min⁡wL(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:假设损失函数ℓ\ellLLL-Lipschitz连续且β\betaβ-光滑的,量化误差有界∥w−Q(w)∥≤ϵQ\|w - Q(w)\| \leq \epsilon_QwQ(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=1TE[∥∇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+1wt+2βwt+1wt2

代入更新规则:
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βη2g^t2

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))LwtQ(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,2b1)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)=(2b1)sigmoid(θz)

联合优化问题

min⁡w,θ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}}wL=Qθ(w)L1wclip 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}θsL=Qθ(w)LsQθ(w)θss

展开:
∂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}sQθ(w)=round(sw+z)zs2wround

由于round函数不可微,实践中忽略最后一项或使用软量化近似。

1.4 混合精度量化

1.4.1 层敏感度分析

不同层对量化的敏感度不同。定义第lll层的敏感度:
Sl=∂L∂ϵlS_l = \frac{\partial \mathcal{L}}{\partial \epsilon_l}Sl=ϵlL

其中ϵl=∥Wl−Q(Wl)∥F\epsilon_l = \|W_l - Q(W_l)\|_Fϵl=WlQ(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)+ltr(WlLΔWlT)

敏感度可以通过Hessian矩阵的特征值近似:
Sl≈tr(Hl)=∑iλi(l)S_l \approx \text{tr}(H_l) = \sum_i \lambda_i^{(l)}Sltr(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}minlSlDl(bl)
s.t. ∑lnl⋅bl≤B\text{s.t. } \sum_l n_l \cdot b_l \leq Bs.t. lnlblB

其中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)=σl222bl

其中σ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=lSlσl222bl+λ(lnlblB)

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 = 0blL=2ln(2)Slσl222bl+λnl=0

解得最优比特分配:
bl=12log⁡2(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+12log⁡2(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}^nxRn和字典D∈Rn×mD \in \mathbb{R}^{n \times m}DRn×mm>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αmin21xDα22+λα0

其中∥α∥0\|\alpha\|_0α0ℓ0\ell_00范数,表示非零元素个数。

ℓ0\ell_00优化的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_00ℓ1\ell_11

ℓ1\ell_11松弛

ℓ0\ell_00范数松弛为ℓ1\ell_11范数:
min⁡α12∥x−Dα∥22+λ∥α∥1\min_\alpha \frac{1}{2}\|x - D\alpha\|_2^2 + \lambda\|\alpha\|_1αmin21xDα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)α22Dα22(1+δ2k)α22

对所有2k2k2k-稀疏向量α\alphaα成立,且δ2k<2−1\delta_{2k} < \sqrt{2} - 1δ2k<2 1,则ℓ1\ell_11最小化可以精确恢复kkk-稀疏信号。

证明概要

α∗\alpha^*α是真实的kkk-稀疏解,α^\hat{\alpha}α^ℓ1\ell_11最小化的解。

定义误差:h=α^−α∗h = \hat{\alpha} - \alpha^*h=α^α

hhh分解为:

  • hTh_ThT:对应α∗\alpha^*α支撑集的分量
  • hTch_{T^c}hTc:其余分量

由于α^\hat{\alpha}α^ℓ1\ell_11最小化的解:
∥α∗+h∥1≤∥α∗∥1\|\alpha^* + h\|_1 \leq \|\alpha^*\|_1α+h1α1

这意味着:
∥hTc∥1≤∥hT∥1\|h_{T^c}\|_1 \leq \|h_T\|_1hTc1hT1

使用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}WRCout×Cin×K×K,其中CoutC_{out}Cout是输出通道数,CinC_{in}Cin是输入通道数,KKK是卷积核大小。

滤波器剪枝选择保留的输出通道子集S⊆{1,...,Cout}\mathcal{S} \subseteq \{1, ..., C_{out}\}S{1,...,Cout}

min⁡S,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= ziLzi

其中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)ziLzi+21ziTzi22Lzi

忽略二阶项,重要性正比于一阶项。

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

优化问题:
min⁡M,WL(W⊙M)+λ∑l∥m(l)∥0\min_{M, W} \mathcal{L}(W \odot M) + \lambda \sum_l \|m^{(l)}\|_0M,WminL(WM)+λlm(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)=arg⁡min⁡WL(W⊙M(t))W^{(t+1)} = \arg\min_W \mathcal{L}(W \odot M^{(t)})W(t+1)=argWminL(WM(t))

Step 2: 固定WWW,优化MMM(组合优化)

使用连续松弛:m∈[0,1]m \in [0,1]m[0,1]
m(t+1)=arg⁡min⁡mL(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)+λm1

使用近端梯度方法:
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;θ0m)(其中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(;θ0m))L(f(;θ))+ϵ

其中θ∗\theta^*θ是密集网络训练后的参数,ϵ\epsilonϵ是小常数。

弱彩票假设:允许对子网络重新训练:
∃m:L(θm∗)≤L(θ∗)+ϵ\exists m: \mathcal{L}(\theta_m^*) \leq \mathcal{L}(\theta^*) + \epsilonm:L(θm)L(θ)+ϵ

其中θm∗=arg⁡min⁡θ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θ0m

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(1p) 2nH(p)

其中H(p)=−plog⁡p−(1−p)log⁡(1−p)H(p) = -p\log p - (1-p)\log(1-p)H(p)=plogp(1p)log(1p)是二进制熵。

定理4:假设每个子网络的性能独立同分布,期望为μ\muμ,方差为σ2\sigma^2σ2。至少存在一个性能优于μ−tσ\mu - t\sigmaμtσ的子网络的概率为:

P(min⁡iLi≤μ−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算法

  1. 训练密集网络:θ∗=arg⁡min⁡L(θ)\theta^* = \arg\min \mathcal{L}(\theta)θ=argminL(θ),初始化θ0\theta_0θ0
  2. 剪枝:保留最大的ppp比例权重,得到掩码mmm
  3. 重置:将保留的权重重置为θ0⊙m\theta_0 \odot mθ0m
  4. 重新训练:θm∗=arg⁡min⁡L(θ⊙m)\theta_m^* = \arg\min \mathcal{L}(\theta \odot m)θm=argminL(θm),初始化θ0⊙m\theta_0 \odot mθ0m
  5. 迭代重复

收敛性分析

定义第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(pTn 1+(1p)T)

证明思路:

  1. 第一项来自统计误差(有限样本)
  2. 第二项来自逐步剪枝的累积误差

2.4 动态稀疏训练

2.4.1 稀疏进化算法

Rigged Lottery (RigL)

动态调整网络拓扑:

  1. 梯度计算:对剪枝的连接也计算梯度
  2. 生长:添加梯度最大的连接
  3. 剪枝:移除权重最小的连接

数学描述:

掩码更新规则:
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))−min⁡m:∥m∥0≤k∑t=1TL(wm)≤O(Tlog⁡n)\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=1TL(w(t))m:m0kmint=1TL(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(sinitsfinal)(1+cos(Tπt))

开始时稀疏度低(更多连接),逐渐增加稀疏度。

理论解释

早期:探索更多连接组合
后期:收敛到最优稀疏结构

可以用多臂老虎机理论分析探索-利用权衡。

第三部分:知识蒸馏的深度理论

3.1 蒸馏的信息论视角

3.1.1 互信息最大化

知识蒸馏可以视为最大化学生和教师表示之间的互信息:

max⁡fSI(T;S)=Ep(t,s)log⁡p(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)[log⁡q(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(ts)]+H(T)

其中q(t∣s)q(t|s)q(ts)是变分后验。

选择q(t∣s)=N(t;fS(s),σ2I)q(t|s) = \mathcal{N}(t; f_S(s), \sigma^2I)q(ts)=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[TfS(S)2]+const

这正是MSE蒸馏损失。

3.1.2 信息瓶颈理论在蒸馏中的应用

蒸馏的信息瓶颈观点

学生网络形成信息瓶颈:
max⁡fSI(S;Y)−βI(X;S)\max_{f_S} I(S; Y) - \beta I(X; S)fSmaxI(S;Y)βI(X;S)

其中YYY是标签,XXX是输入,β\betaβ控制压缩程度。

加入教师指导:
max⁡fSα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)[log⁡p(y∣s)]+1−αβEp(t∣x)[log⁡p(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(sx)p(s)exp(βαEp(yx)[logp(ys)]+β1αEp(tx)[logp(ts)])

这解释了为什么组合硬标签和软标签有效。

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}zjpi={T1pi(1pi)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 最优温度的推导

目标函数

最小化学生和教师分布的散度:
min⁡TDKL(PTteacher∥PTstudent)\min_T D_{KL}(P_T^{teacher} \| P_T^{student})TminDKL(PTteacherPTstudent)

其中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+CTzizˉ+2CT2(zizˉ)2(zzˉ)2+O(T3)

其中zˉ=1C∑izi\bar{z} = \frac{1}{C}\sum_i z_izˉ=C1izi

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(ziteacherzistudent)2+O(T3)

有限温度优化

定义logit差异:Δi=ziteacher−zistudent\Delta_i = z_i^{teacher} - z_i^{student}Δi=ziteacherzistudent

考虑二阶泰勒展开,最优温度满足:
T∗=∑iΔi2C⋅KLtargetT^* = \sqrt{\frac{\sum_i \Delta_i^2}{C \cdot \text{KL}_{target}}}T=CKLtargetiΔ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}FTRn×dt,学生特征FS∈Rn×dsF_S \in \mathbb{R}^{n \times d_s}FSRn×ds

最优回归器(当ds≥dtd_s \geq d_tdsdt):
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,kUT,kF2

这保留了最重要的特征方向。

3.3.2 注意力转移

注意力图定义

对于卷积特征F∈RC×H×WF \in \mathbb{R}^{C \times H \times W}FRC×H×W,注意力图:
A=∑c=1C∣Fc∣pA = \sum_{c=1}^C |F_c|^pA=c=1CFcp

通常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)=arg⁡min⁡θ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)EOij

对于nnn节点的cell,完全连接时:
∣A∣=∣O∣n(n−1)/2|\mathcal{A}| = |\mathcal{O}|^{n(n-1)/2}A=On(n1)/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)=oOα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)=oOexp(α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=oexp((logπo+go)/τ)exp((logπo+go)/τ)

其中go∼Gumbel(0,1)g_o \sim \text{Gumbel}(0,1)goGumbel(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∗(α)=arg⁡min⁡wLtrain(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) = 0wLtrain(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+ww2Ltraindα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+wLvaldαdw

二阶近似

计算Hessian逆矩阵代价高,使用有限差分近似:
dw∗dα≈w∗(α+ϵ)−w∗(α−ϵ)2ϵ\frac{dw^*}{d\alpha} \approx \frac{w^*(\alpha + \epsilon) - w^*(\alpha - \epsilon)}{2\epsilon}dαdw2ϵ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)αLval2ξ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测度。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐