嵌入式AI领域关键技术的理论基础
引言
嵌入式AI的核心挑战在于如何在极其有限的计算和存储资源下实现高性能的智能推理。这需要我们从数学原理出发,理解模型压缩、优化和部署的本质。
第一部分:神经网络量化的完整理论体系
1.1 量化的信息论基础
1.1.1 从连续到离散:信息损失的数学刻画
考虑一个连续随机变量$X \in \mathbb{R}$,其概率密度函数为$p(x)$。量化过程将$X$映射到有限集合$\mathcal{Q} = {q_1, q_2, ..., q_L}$,其中$L = 2^b$,$b$是量化位数。
量化函数定义为:
$$Q: \mathbb{R} \rightarrow \mathcal{Q}$$
将实数轴划分为$L$个区间$\mathcal{R}i = [t{i-1}, t_i)$,其中$t_0 = -\infty$,$t_L = +\infty$。量化规则为:
$$Q(x) = q_i \text{ if } x \in \mathcal{R}_i$$
信息损失的度量
原始信号的微分熵为:
$$h(X) = -\int_{-\infty}^{\infty} p(x)\log p(x) dx$$
量化后信号的离散熵为:
$$H(Q(X)) = -\sum_{i=1}^L P(Q(X) = q_i) \log P(Q(X) = q_i)$$
其中:
$$P(Q(X) = q_i) = \int_{t_{i-1}}^{t_i} p(x) dx$$
信息损失可以用互信息来刻画:
$$I(X; Q(X)) = h(X) - h(X|Q(X))$$
条件微分熵$h(X|Q(X))$表示量化后剩余的不确定性:
$$h(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) dx$$
1.1.2 率失真理论的深入分析
率失真函数的推导
给定失真度量$d: \mathbb{R} \times \mathcal{Q} \rightarrow \mathbb{R}^+$,平均失真定义为:
$$D = \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) dx$$
率失真函数$R(D)$定义为在失真不超过$D$的条件下,最小可能的信息率:
$$R(D) = \min_{p(q|x): \mathbb{E}[d(X,Q)] \leq D} I(X; Q)$$
使用拉格朗日乘数法,构造泛函:
$$\mathcal{L} = I(X; Q) + \lambda(\mathbb{E}[d(X,Q)] - D)$$
展开互信息:
$$I(X; Q) = \int \sum_q p(x)p(q|x) \log \frac{p(q|x)}{p(q)} dx$$
其中边际分布:
$$p(q) = \int p(x)p(q|x) dx$$
对$p(q|x)$求变分导数:
$$\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) = \frac{p(q)}{Z(x,\lambda)} e^{-\lambda d(x,q)}$$
其中归一化常数:
$$Z(x,\lambda) = \sum_q p(q) e^{-\lambda d(x,q)}$$
高斯源的闭式解
对于高斯源$X \sim \mathcal{N}(0, \sigma^2)$和均方误差失真$d(x,q) = (x-q)^2$,率失真函数有闭式解:
$$R(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}$$
推导过程:
对于高斯源,最优量化也是高斯的。设$Q|X=x \sim \mathcal{N}(ax, \tau^2)$,其中$a$和$\tau^2$待定。
失真约束:
$$D = \mathbb{E}[(X-Q)^2] = \mathbb{E}[(X-aX-\epsilon)^2] = (1-a)^2\sigma^2 + \tau^2$$
其中$\epsilon \sim \mathcal{N}(0, \tau^2)$独立于$X$。
互信息:
$$I(X; Q) = h(Q) - h(Q|X) = \frac{1}{2}\log_2\frac{a^2\sigma^2 + \tau^2}{\tau^2}$$
最小化$I(X; Q)$受约束于失真$D$,得到:
$$a = 1 - \frac{D}{\sigma^2}, \quad \tau^2 = D\left(1 - \frac{D}{\sigma^2}\right)$$
代入得到率失真函数。
1.2 最优量化器设计
1.2.1 Lloyd-Max量化器的完整推导
目标函数
最小化均方量化误差:
$$J = \int_{-\infty}^{\infty} \sum_{i=1}^L (x - q_i)^2 \mathbb{1}_{x \in \mathcal{R}_i} p(x) dx$$
展开为:
$$J = \sum_{i=1}^L \int_{t_{i-1}}^{t_i} (x - q_i)^2 p(x) dx$$
最优性条件推导
对重构值$q_i$求偏导:
$$\frac{\partial J}{\partial q_i} = -2\int_{t_{i-1}}^{t_i} (x - q_i) p(x) dx = 0$$
解得质心条件:
$$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]$$
对决策边界$t_i$求偏导(使用Leibniz积分规则):
$$\frac{\partial J}{\partial t_i} = (t_i - q_i)^2 p(t_i) - (t_i - q_{i+1})^2 p(t_i) = 0$$
解得最近邻条件:
$$t_i = \frac{q_i + q_{i+1}}{2}$$
Lloyd算法的收敛性证明
定义能量函数:
$$E^{(k)} = \sum_{i=1}^L \int_{t_{i-1}^{(k)}}^{t_i^{(k)}} (x - q_i^{(k)})^2 p(x) dx$$
引理1:质心更新步骤不增加能量。
证明:固定边界${t_i^{(k)}}$,对每个区间,质心是最小化该区间内均方误差的唯一点:
$$q_i^{(k+1)} = \arg\min_{q} \int_{t_{i-1}^{(k)}}^{t_i^{(k)}} (x - q)^2 p(x) dx$$
因此:
$$E(q^{(k+1)}, t^{(k)}) \leq E(q^{(k)}, t^{(k)})$$
引理2:边界更新步骤不增加能量。
证明:固定质心${q_i^{(k+1)}}$,最近邻规则将每个$x$分配到最近的质心:
$$t_i^{(k+1)} = \arg\min_t \left[(t - q_i^{(k+1)})^2 + (t - q_{i+1}^{(k+1)})^2\right]$$
这最小化了边界点的量化误差,因此:
$$E(q^{(k+1)}, t^{(k+1)}) \leq E(q^{(k+1)}, t^{(k)})$$
由于能量函数有下界(非负)且单调递减,算法必定收敛。
1.2.2 非均匀量化的最优分配
熵约束量化
考虑变长编码,目标是最小化率失真拉格朗日函数:
$$\mathcal{L} = D + \lambda R$$
其中码率:
$$R = -\sum_{i=1}^L P_i \log_2 P_i$$
失真:
$$D = \sum_{i=1}^L \int_{t_{i-1}}^{t_i} (x - q_i)^2 p(x) dx$$
高分辨率量化近似
当$L$很大时,假设$p(x)$在每个量化区间内近似常数。设区间宽度为$\Delta_i = ti - t{i-1}$,则:
$$P_i \approx p(q_i) \Delta_i$$
区间内的失真(使用均匀分布近似):
$$D_i \approx \frac{\Delta_i^3 p(q_i)}{12}$$
总失真:
$$D \approx \frac{1}{12} \sum_{i=1}^L \Delta_i^3 p(q_i)$$
使用拉格朗日乘数法,加入约束$\sum_i \Delta_i = \text{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)$$
对$\Delta_i$求导:
$$\frac{\partial \mathcal{L}}{\partial \Delta_i} = \frac{1}{4} \Delta_i^2 p(q_i) + \mu = 0$$
解得最优区间宽度:
$$\Delta_i \propto [p(q_i)]^{-1/3}$$
这就是著名的压扩定律:高概率密度区域使用更小的量化间隔。
1.3 量化感知训练的深度分析
1.3.1 直通估计器的理论基础
量化函数$Q(\cdot)$是分段常数函数,几乎处处导数为零。直通估计器(STE)使用恒等函数的梯度近似量化函数的梯度:
$$\frac{\partial Q(w)}{\partial w} \approx \mathbb{1}_{|w| \leq \alpha}$$
STE的变分解释
考虑带噪声的量化模型:
$$\tilde{w} = Q(w) + \epsilon$$
其中$\epsilon$是小扰动。目标函数:
$$\mathcal{L}(\tilde{w}) = \mathbb{E}_\epsilon[\ell(f(\tilde{w}, x), y)]$$
使用重参数化技巧:
$$\nabla_w \mathcal{L} = \mathbb{E}_\epsilon\left[\nabla_{\tilde{w}} \ell \cdot \frac{\partial \tilde{w}}{\partial w}\right]$$
当$\epsilon \to 0$时,$\frac{\partial \tilde{w}}{\partial w} \to \mathbb{1}$,这正是STE的本质。
1.3.2 量化感知训练的收敛性分析
问题设置
考虑量化神经网络的训练:
$$\min_w \mathcal{L}(Q(w)) = \mathbb{E}_{(x,y) \sim \mathcal{D}}[\ell(f(Q(w), x), y)]$$
使用STE的梯度下降:
$$w_{t+1} = w_t - \eta \hat{g}_t$$
其中$\hat{g}_t$是通过STE计算的梯度估计。
收敛性定理
定理1:假设损失函数$\ell$是$L$-Lipschitz连续且$\beta$-光滑的,量化误差有界$|w - Q(w)| \leq \epsilon_Q$,则使用STE的SGD满足:
$$\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}}$$
证明:
Step 1: 建立下降引理
由$\beta$-光滑性:
$$\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\|^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\|^2$$
Step 2: 处理梯度误差
STE梯度与真实梯度的关系:
$$\hat{g}_t = \nabla \mathcal{L}(Q(w_t)) + \xi_t$$
其中$\xi_t$是STE引入的误差。由Lipschitz连续性:
$$\|\nabla \mathcal{L}(w_t) - \nabla \mathcal{L}(Q(w_t))\| \leq L\|w_t - Q(w_t)\| \leq L\epsilon_Q$$
Step 3: 取期望并求和
对不等式两边取期望:
$$\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)$$
使用Cauchy-Schwarz不等式处理交叉项,累加$T$步并重新整理,得到收敛速率。
1.3.3 学习型量化参数
可微分量化函数
定义带可学习参数的量化函数:
$$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)$$
其中:
- 缩放因子:$s(\theta_s) = \text{softplus}(\theta_s) = \log(1 + e^{\theta_s})$
- 零点:$z(\theta_z) = (2^b-1) \cdot \text{sigmoid}(\theta_z)$
联合优化问题
$$\min_{w, \theta} \mathcal{L}(Q_\theta(w)) = \mathbb{E}_{(x,y)}[\ell(f(Q_\theta(w), x), y)]$$
梯度计算
对权重的梯度(使用STE):
$$\frac{\partial \mathcal{L}}{\partial w} = \frac{\partial \mathcal{L}}{\partial Q_\theta(w)} \cdot \mathbb{1}_{w \in \text{clip range}}$$
对缩放因子参数的梯度:
$$\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}$$
展开:
$$\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}$$
由于round函数不可微,实践中忽略最后一项或使用软量化近似。
1.4 混合精度量化
1.4.1 层敏感度分析
不同层对量化的敏感度不同。定义第$l$层的敏感度:
$$S_l = \frac{\partial \mathcal{L}}{\partial \epsilon_l}$$
其中$\epsilon_l = |W_l - Q(W_l)|_F$是第$l$层的量化误差。
使用一阶泰勒展开:
$$\mathcal{L}(W + \Delta W) \approx \mathcal{L}(W) + \sum_l \text{tr}(\nabla_{W_l} \mathcal{L} \cdot \Delta W_l^T)$$
敏感度可以通过Hessian矩阵的特征值近似:
$$S_l \approx \text{tr}(H_l) = \sum_i \lambda_i^{(l)}$$
其中$\lambda_i^{(l)}$是第$l$层Hessian的特征值。
1.4.2 比特分配优化
问题定义
给定总比特预算$B$,为每层分配比特数${b_l}$:
$$\min_{\{b_l\}} \sum_l S_l \cdot D_l(b_l)$$
$$\text{s.t. } \sum_l n_l \cdot b_l \leq B$$
其中$n_l$是第$l$层的参数数量,$D_l(b_l)$是使用$b_l$比特量化的失真。
失真模型
假设量化失真与比特数呈指数关系:
$$D_l(b_l) = \sigma_l^2 \cdot 2^{-2b_l}$$
其中$\sigma_l^2$是第$l$层权重的方差。
拉格朗日优化
构造拉格朗日函数:
$$\mathcal{L} = \sum_l S_l \sigma_l^2 2^{-2b_l} + \lambda \left(\sum_l n_l b_l - B\right)$$
对$b_l$求导:
$$\frac{\partial \mathcal{L}}{\partial b_l} = -2\ln(2) S_l \sigma_l^2 2^{-2b_l} + \lambda n_l = 0$$
解得最优比特分配:
$$b_l = \frac{1}{2}\log_2\left(\frac{2\ln(2) S_l \sigma_l^2}{\lambda n_l}\right)$$
使用预算约束确定$\lambda$,得到:
$$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)$$
这表明敏感度高、方差大的层应分配更多比特。
第二部分:神经网络剪枝的数学原理
2.1 稀疏性的理论基础
2.1.1 稀疏表示理论
稀疏编码问题
给定输入$x \in \mathbb{R}^n$和字典$D \in \mathbb{R}^{n \times m}$($m > n$),寻找稀疏表示$\alpha \in \mathbb{R}^m$:
$$\min_\alpha \frac{1}{2}\|x - D\alpha\|_2^2 + \lambda\|\alpha\|_0$$
其中$|\alpha|_0$是$\ell_0$范数,表示非零元素个数。
$\ell_0$优化的NP-hard性
定理2:稀疏编码问题是NP-hard的。
证明(通过归约):考虑子集和问题:给定集合$S = {s_1, ..., s_m}$和目标$t$,判断是否存在子集和为$t$。
构造稀疏编码实例:
- 字典:$D = [s_1, ..., s_m]^T$(单行矩阵)
- 输入:$x = t$
- 稀疏度:$k$
存在$k$-稀疏解当且仅当存在大小为$k$的子集和为$t$。
2.1.2 凸松弛:从$\ell_0$到$\ell_1$
$\ell_1$松弛
将$\ell_0$范数松弛为$\ell_1$范数:
$$\min_\alpha \frac{1}{2}\|x - D\alpha\|_2^2 + \lambda\|\alpha\|_1$$
恢复保证
定理3(限制等距性质RIP):如果字典$D$满足阶为$2k$的RIP条件:
$$(1-\delta_{2k})\|\alpha\|_2^2 \leq \|D\alpha\|_2^2 \leq (1+\delta_{2k})\|\alpha\|_2^2$$
对所有$2k$-稀疏向量$\alpha$成立,且$\delta_{2k} < \sqrt{2} - 1$,则$\ell_1$最小化可以精确恢复$k$-稀疏信号。
证明概要:
设$\alpha^*$是真实的$k$-稀疏解,$\hat{\alpha}$是$\ell_1$最小化的解。
定义误差:$h = \hat{\alpha} - \alpha^*$
将$h$分解为:
- $h_T$:对应$\alpha^*$支撑集的分量
- $h_{T^c}$:其余分量
由于$\hat{\alpha}$是$\ell_1$最小化的解:
$$\|\alpha^* + h\|_1 \leq \|\alpha^*\|_1$$
这意味着:
$$\|h_{T^c}\|_1 \leq \|h_T\|_1$$
使用RIP条件和上述不等式,可以证明$h = 0$,即精确恢复。
2.2 结构化剪枝算法
2.2.1 滤波器剪枝的优化框架
问题定义
对于卷积层,权重张量$W \in \mathbb{R}^{C{out} \times C{in} \times K \times K}$,其中$C{out}$是输出通道数,$C{in}$是输入通道数,$K$是卷积核大小。
滤波器剪枝选择保留的输出通道子集$\mathcal{S} \subseteq {1, ..., C_{out}}$:
$$\min_{\mathcal{S}, W_\mathcal{S}} \mathcal{L}(W_\mathcal{S}) + \lambda |\mathcal{S}|$$
其中$W_\mathcal{S}$表示只保留$\mathcal{S}$中通道的权重。
贪婪剪枝算法
重要性评分(使用泰勒展开):
$$I_i = \left|\frac{\partial \mathcal{L}}{\partial z_i} \cdot z_i\right|$$
其中$z_i$是第$i$个滤波器的输出。
展开:
$$\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_i$$
忽略二阶项,重要性正比于一阶项。
2.2.2 通道剪枝的联合优化
输入输出通道的依赖关系
剪枝第$l$层的输出通道会影响第$l+1$层的输入通道。定义联合掩码:
$$M = \{m^{(l)} \in \{0,1\}^{C_l}\}_{l=1}^L$$
优化问题:
$$\min_{M, W} \mathcal{L}(W \odot M) + \lambda \sum_l \|m^{(l)}\|_0$$
约束:$m_i^{(l)} = m_i^{(l+1, in)}$(通道对应关系)
交替优化算法
Step 1: 固定$M$,优化$W$(标准训练)
$$W^{(t+1)} = \arg\min_W \mathcal{L}(W \odot M^{(t)})$$
Step 2: 固定$W$,优化$M$(组合优化)
使用连续松弛:$m \in [0,1]$
$$m^{(t+1)} = \arg\min_m \mathcal{L}(W^{(t+1)} \odot m) + \lambda \|m\|_1$$
使用近端梯度方法:
$$m^{(t+1)} = \text{prox}_{\lambda\eta}(m^{(t)} - \eta \nabla_m \mathcal{L})$$
其中软阈值算子:
$$\text{prox}_{\lambda\eta}(x) = \text{sign}(x) \cdot \max(|x| - \lambda\eta, 0)$$
2.3 彩票假设的数学分析
2.3.1 彩票假设的形式化
定义(强彩票假设):对于随机初始化的密集网络$f(x; \theta_0)$,存在子网络$f(x; \theta_0 \odot m)$(其中$m \in {0,1}^p$是二进制掩码),满足:
$$\mathcal{L}(f(\cdot; \theta_0 \odot m)) \leq \mathcal{L}(f(\cdot; \theta^*)) + \epsilon$$
其中$\theta^*$是密集网络训练后的参数,$\epsilon$是小常数。
弱彩票假设:允许对子网络重新训练:
$$\exists m: \mathcal{L}(\theta_m^*) \leq \mathcal{L}(\theta^*) + \epsilon$$
其中$\thetam^* = \arg\min\theta \mathcal{L}(f(\cdot; \theta \odot m))$,初始化为$\theta_0 \odot m$。
2.3.2 彩票存在的概率分析
随机子网络的性能
考虑随机选择比例$p$的连接。子网络数量:
$$N = \binom{n}{pn} \approx \frac{2^{nH(p)}}{\sqrt{2\pi np(1-p)}}$$
其中$H(p) = -p\log p - (1-p)\log(1-p)$是二进制熵。
定理4:假设每个子网络的性能独立同分布,期望为$\mu$,方差为$\sigma^2$。至少存在一个性能优于$\mu - t\sigma$的子网络的概率为:
$$P(\min_i L_i \leq \mu - t\sigma) \geq 1 - \Phi(-t)^N$$
其中$\Phi$是标准正态分布函数。
证明:使用独立性和互补概率。
含义:当$N$很大时(过参数化),高概率存在好的子网络。
2.3.3 迭代量级剪枝(IMP)的理论分析
IMP算法
- 训练密集网络:$\theta^* = \arg\min \mathcal{L}(\theta)$,初始化$\theta_0$
- 剪枝:保留最大的$p$比例权重,得到掩码$m$
- 重置:将保留的权重重置为$\theta_0 \odot m$
- 重新训练:$\theta_m^* = \arg\min \mathcal{L}(\theta \odot m)$,初始化$\theta_0 \odot m$
- 迭代重复
收敛性分析
定义第$t$轮的掩码为$m^{(t)}$,稀疏度为$p^t$。
定理5:在适当条件下,IMP找到的子网络性能满足:
$$\mathcal{L}(\theta_{m^{(T)}}^*) - \mathcal{L}(\theta^*) \leq O\left(\frac{1}{\sqrt{p^T n}} + (1-p)^T\right)$$
证明思路:
- 第一项来自统计误差(有限样本)
- 第二项来自逐步剪枝的累积误差
2.4 动态稀疏训练
2.4.1 稀疏进化算法
Rigged Lottery (RigL)
动态调整网络拓扑:
- 梯度计算:对剪枝的连接也计算梯度
- 生长:添加梯度最大的连接
- 剪枝:移除权重最小的连接
数学描述:
掩码更新规则:
$$m_{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}$$
其中$k{grow} = k{prune}$保持稀疏度不变。
理论保证
定理6:RigL算法的遗憾界(相对于最优固定稀疏模式):
$$\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})$$
证明使用在线学习理论和专家算法分析。
2.4.2 稀疏度调度
余弦稀疏度调度
时变稀疏度:
$$s(t) = s_{final} + \frac{1}{2}(s_{init} - s_{final})\left(1 + \cos\left(\frac{\pi t}{T}\right)\right)$$
开始时稀疏度低(更多连接),逐渐增加稀疏度。
理论解释
早期:探索更多连接组合
后期:收敛到最优稀疏结构
可以用多臂老虎机理论分析探索-利用权衡。
第三部分:知识蒸馏的深度理论
3.1 蒸馏的信息论视角
3.1.1 互信息最大化
知识蒸馏可以视为最大化学生和教师表示之间的互信息:
$$\max_{f_S} I(T; S) = \mathbb{E}_{p(t,s)} \log \frac{p(t,s)}{p(t)p(s)}$$
其中$T$是教师表示,$S$是学生表示。
变分下界
直接优化互信息困难,使用变分下界:
$$I(T; S) \geq \mathbb{E}_{p(t,s)}[\log q(t|s)] + H(T)$$
其中$q(t|s)$是变分后验。
选择$q(t|s) = \mathcal{N}(t; f_S(s), \sigma^2I)$,得到:
$$I(T; S) \geq -\frac{1}{2\sigma^2}\mathbb{E}[\|T - f_S(S)\|^2] + \text{const}$$
这正是MSE蒸馏损失。
3.1.2 信息瓶颈理论在蒸馏中的应用
蒸馏的信息瓶颈观点
学生网络形成信息瓶颈:
$$\max_{f_S} I(S; Y) - \beta I(X; S)$$
其中$Y$是标签,$X$是输入,$\beta$控制压缩程度。
加入教师指导:
$$\max_{f_S} \alpha I(S; Y) + (1-\alpha)I(S; T) - \beta I(X; 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)$$
这解释了为什么组合硬标签和软标签有效。
3.2 温度缩放的数学原理
3.2.1 温度的几何解释
Softmax函数:
$$p_i = \frac{\exp(z_i/T)}{\sum_j \exp(z_j/T)}$$
梯度分析
对logit的梯度:
$$\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}$$
Jacobian矩阵:
$$J = \frac{1}{T}(\text{diag}(p) - pp^T)$$
特征值:
- $\lambda_1 = 0$(对应全1向量)
- $\lambda_i = \frac{p_i}{T}$(其他特征值)
温度控制梯度流的速度。
3.2.2 最优温度的推导
目标函数
最小化学生和教师分布的散度:
$$\min_T D_{KL}(P_T^{teacher} \| P_T^{student})$$
其中$P_T$表示温度为$T$的softmax输出。
渐近分析($T \to \infty$)
泰勒展开softmax:
$$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})$$
其中$\bar{z} = \frac{1}{C}\sum_i z_i$。
KL散度展开:
$$D_{KL} = \frac{1}{2CT^2}\sum_i (z_i^{teacher} - z_i^{student})^2 + O(T^{-3})$$
有限温度优化
定义logit差异:$\Delta_i = z_i^{teacher} - z_i^{student}$
考虑二阶泰勒展开,最优温度满足:
$$T^* = \sqrt{\frac{\sum_i \Delta_i^2}{C \cdot \text{KL}_{target}}}$$
3.3 特征蒸馏的理论框架
3.3.1 中间层匹配
FitNets方法
匹配中间层特征:
$$\mathcal{L}_{hint} = \|f_S^{(l_s)}(x) - r(f_T^{(l_t)}(x))\|^2$$
其中$r$是回归器(通常是1x1卷积)。
理论分析
将特征匹配视为子空间对齐问题。设教师特征$F_T \in \mathbb{R}^{n \times d_t}$,学生特征$F_S \in \mathbb{R}^{n \times d_s}$。
最优回归器(当$d_s \geq d_t$):
$$R^* = F_S^+ F_T = (F_S^T F_S)^{-1} F_S^T F_T$$
其中$F_S^+$是伪逆。
主成分对齐
对特征进行SVD分解:
$$F_T = U_T \Sigma_T V_T^T, \quad F_S = U_S \Sigma_S V_S^T$$
匹配前$k$个主成分:
$$\mathcal{L}_{PCA} = \|U_{S,k} - U_{T,k}\|_F^2$$
这保留了最重要的特征方向。
3.3.2 注意力转移
注意力图定义
对于卷积特征$F \in \mathbb{R}^{C \times H \times W}$,注意力图:
$$A = \sum_{c=1}^C |F_c|^p$$
通常$p=2$(能量图)。
梯度匹配解释
注意力匹配等价于匹配空间梯度:
$$\mathcal{L}_{AT} = \|\nabla_x f_S(x) - \nabla_x f_T(x)\|^2$$
这保证了学生和教师关注相同的输入区域。
3.4 自蒸馏的理论分析
3.4.1 深度网络的自蒸馏
Born-Again Networks
迭代自蒸馏:
$$\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))$$
收敛性分析
定义能量函数:
$$E^{(k)} = \mathcal{L}(f(\cdot; \theta^{(k)}))$$
定理7:在适当条件下,自蒸馏序列收敛到局部最优:
$$E^{(k+1)} \leq E^{(k)} - \eta \|\nabla E^{(k)}\|^2 + O(\eta^2)$$
证明使用梯度下降理论和KL散度的性质。
3.4.2 多代蒸馏的性能界
性能退化分析
经过$K$代蒸馏后的性能:
$$\mathcal{L}^{(K)} \leq \mathcal{L}^{(0)} + K \cdot \epsilon_{distill} + O(K^2 \delta)$$
其中$\epsilon_{distill}$是单次蒸馏误差,$\delta$是模型容量差异。
这解释了为什么多代蒸馏会累积误差。
第四部分:神经架构搜索的优化理论
4.1 搜索空间的数学结构
4.1.1 架构的图表示
神经架构可以表示为有向无环图(DAG):
$$G = (V, E, \mathcal{O})$$
其中:
- $V$:节点(特征图)
- $E$:边(操作连接)
- $\mathcal{O}$:操作集合
搜索空间大小:
$$|\mathcal{A}| = \prod_{(i,j) \in E} |\mathcal{O}_{ij}|$$
对于$n$节点的cell,完全连接时:
$$|\mathcal{A}| = |\mathcal{O}|^{n(n-1)/2}$$
4.1.2 连续松弛(DARTS)
离散选择的连续化:
$$\bar{o}^{(i,j)}(x) = \sum_{o \in \mathcal{O}} \alpha_o^{(i,j)} \cdot o(x)$$
架构参数$\alpha$通过softmax归一化:
$$\alpha_o^{(i,j)} = \frac{\exp(\alpha_o^{(i,j)})}{\sum_{o' \in \mathcal{O}} \exp(\alpha_{o'}^{(i,j)})}$$
Gumbel-Softmax技巧
为了使采样可微,使用Gumbel-Softmax:
$$\alpha_o = \frac{\exp((\log \pi_o + g_o)/\tau)}{\sum_{o'} \exp((\log \pi_{o'} + g_{o'})/\tau)}$$
其中$g_o \sim \text{Gumbel}(0,1)$,$\tau$是温度参数。
当$\tau \to 0$时,趋向于离散采样;$\tau \to \infty$时,趋向于均匀分布。
4.2 双层优化问题
4.2.1 问题形式化
$$\min_\alpha \mathcal{L}_{val}(w^*(\alpha), \alpha)$$
$$\text{s.t. } w^*(\alpha) = \arg\min_w \mathcal{L}_{train}(w, \alpha)$$
4.2.2 梯度计算
隐函数定理方法
从下层问题的最优性条件:
$$\nabla_w \mathcal{L}_{train}(w^*(\alpha), \alpha) = 0$$
对$\alpha$求全微分:
$$\nabla_{\alpha w}^2 \mathcal{L}_{train} + \nabla_{ww}^2 \mathcal{L}_{train} \cdot \frac{dw^*}{d\alpha} = 0$$
解得:
$$\frac{dw^*}{d\alpha} = -[\nabla_{ww}^2 \mathcal{L}_{train}]^{-1} \nabla_{\alpha w}^2 \mathcal{L}_{train}$$
上层梯度:
$$\nabla_\alpha \mathcal{L}_{val} = \frac{\partial \mathcal{L}_{val}}{\partial \alpha} + \frac{\partial \mathcal{L}_{val}}{\partial w} \cdot \frac{dw^*}{d\alpha}$$
二阶近似
计算Hessian逆矩阵代价高,使用有限差分近似:
$$\frac{dw^*}{d\alpha} \approx \frac{w^*(\alpha + \epsilon) - w^*(\alpha - \epsilon)}{2\epsilon}$$
或使用一步梯度近似:
$$w^+(\alpha) = w - \xi \nabla_w \mathcal{L}_{train}(w, \alpha)$$
$$w^-(\alpha) = w + \xi \nabla_w \mathcal{L}_{train}(w, \alpha)$$
则:
$$\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)$$
4.3 进化算法的理论分析
4.3.1 多目标优化
同时优化精度和效率:
$$\min_\alpha [f_1(\alpha), f_2(\alpha), ..., f_k(\alpha)]$$
其中$f_1$是错误率,$f_2$是延迟,$f_3$是能耗等。
Pareto支配
架构$\alpha_1$支配$\alpha_2$(记作$\alpha_1 \prec \alpha_2$)当且仅当:
$$\forall i: f_i(\alpha_1) \leq f_i(\alpha_2) \text{ 且 } \exists j: f_j(\alpha_1) < f_j(\alpha_2)$$
超体积指标
Pareto前沿的质量度量:
$$HV(P) = \lambda\left(\bigcup_{\alpha \in P} [\alpha, r]\right)$$
其中$r$是参考点,$\lambda$是Lebesgue测度。