想象你经营着一家只有 100 个房间的胶囊旅馆,可附近街区里住着几千种作息习惯完全不同的打工人。你当然没法给每个人配一间专属客房——空间根本不够。聪明的经营者会怎么做?让白天出门上班的程序员把床位让给夜间工作的保安,让午休回家的外卖骑手把床位让给晚起的自由职业者。只要客人们不会同时出现在房间里,一间小小的胶囊旅馆就能接待远超床位数的客人。这种“错峰共享”的智慧,正是神经网络里特征叠加的生存之道:网络用有限的维度(房间数)去编码远超数量的特征(客人们),凭的是近似正交的方向(错开的作息)和稀疏激活(不同时出现)。 可这世上没有免费的午餐。当客人越来越多、作息越来越接近,走廊里就会上演“撞车事故”——两个特征抢同一个方向,模型就会把猫说成狗,把不存在的东西说得头头是道。理解特征叠加,就是理解神经网络的“房间管理哲学”。
掌握特征叠加,你就能读懂大模型内部混乱而精密的表示结构,用稀疏自编码器等工具拆解“多语义神经元”,为机制解释性研究、幻觉治理与模型压缩提供第一手武器。这是 AI 从业者打开神经网络黑盒的必备视角。
可视化演示
动态演示特征叠加的核心机制,通过架构/数据/状态/性能四种模式展示关键概念与交互流程。
本节配有交互动效(进入视口后自动加载,约 3KB)。
特征叠加:特征叠加 特征叠加的现象发现与几何直觉 特征叠加的理论基础与稀疏性驱动 核心机制可视化 特征叠加整体架构与关键组件
叠加的几何直觉
旅店老板老王最近在琢磨一件怪事:他那间只有两层、走廊窄窄的小胶囊旅馆,明明只能放下 100 张床位,可来投宿的客人足足有三千多种。他原先的想法很简单——每人一间房,走廊里互不照面。可很快他就发现,房间根本不够用。于是他换了个思路:给每位客人分配一条“专属走廊方向”。白班的程序员朝东走,夜班的保安朝西走,两者擦肩而过的概率就极低。只要方向错开,共用一个走廊尽头的床位也没关系。
这个“走廊方向”的直觉,正是神经网络中特征叠加的几何本质。在神经网络里,一个隐藏层有 d 个神经元,就代表一个 d 维的表示空间。每一个可解释的特征(比如“猫耳朵”、“红色”、“数字 3”)都可以看作这个空间里的一条方向射线。理想情况下,我们希望每个特征独占一个坐标轴,就像每个客人独占一间房。可特征的数量 n 远超维度 d,于是网络学会了把特征塞进近似正交的方向里。
怎么判断两个方向会不会“撞车”?数学上用一个简洁的工具:向量点积。如果两个方向向量的夹角接近 90 度,它们的点积就接近 0,表示互不干扰。
老王看着墙上贴满的走廊动线图,恍然大悟:所谓叠加,不是让大家挤在同一张床上,而是让每个人走不同的路线。方向对了,一百个床位也能装下三千种人生。
- 定义特征向量特征 \(i\) 在表示空间中占据一个方向向量 \(\mathbf{f}_i\),向量长度代表这个特征在输入中的强度。
- 点积展开两向量点积等于模长相乘再乘夹角余弦,它综合度量了“长度”与“方向”两方面的重叠程度。
- 正交条件当 \(\theta_{ij} \approx 90^\circ\) 时,\(\cos\theta_{ij} \approx 0\),两方向近似正交,激活时互不污染。
理论与动机
有人会问:老王何必自讨苦吃?直接拒绝一部分客人不就行了?可现实是,真实世界的数据里,可能出现的特征组合是天文数字。一张图片里可能有“毛发纹理、眼睛形状、背景颜色”等上百个语义特征;一段文本里可能同时蕴含“语气、主题、实体、情感”等几十个因素。如果每种特征都要求一个专属维度,再大的模型也塞不下。神经网络必须学会压缩存储。
从数学上看,如果要求特征严格线性独立、一一对应维度,那么可编码的特征数 n 最多等于维度 d。这个线性上限就像旅馆的硬性床位:100 个房间只能住 100 个人。可神经网络的经验告诉我们,实际能承载的特征数远超 d。突破这个上限的关键,就是放弃“严格正交”,接受“近似正交 + 稀疏激活”的组合策略。
我们定义一个压缩比来刻画这种叠加程度:
当 \(r\) 远大于 1 时,表示网络正在用远少于特征数的维度进行压缩存储。这个比值越大,叠加越激进。
老王算了一笔账:按线性思维,三千种客人需要三千间房,可他只有一百间。但他发现,只要允许客人们错峰共享,三千人也能住下。压缩比 r 就是“三千除以一百等于三十”——每个床位平均要接待三十种客人。这个数字让老王既兴奋又发愁:能住下是本事,可如何不打架,才是真正的学问。
- 定义压缩比用特征总数除以空间维度,得到平均每个维度要承担的语义特征数量。
- 超载条件当 \(r > 1\) 时,严格的一对一编码已不可能,叠加成为唯一出路。
稀疏性的作用
老王很快就发现,错峰共享能成立,全靠一个隐藏前提:客人们不会同时回来。程序员晚上十点睡,外卖骑手凌晨两点归,保安早上八点才下班。正是这种“大多数床位大部分时间是空的”的状态,才让共享成为可能。如果三千个客人全都挤在晚上九点回旅馆,别说共享床位,走廊都会瘫痪。
这个概念对应到神经网络里,就是稀疏激活。一个神经元的输出经过 ReLU 等激活函数后,相当一部分时刻是 0——相当于这个床位空着。特征层面的稀疏性意味着:对任意一个输入,真正“亮起来”的特征只是全部特征中很小的一部分。就好像旅馆里 95% 的床位空着,只有 5% 的客人此刻在房间。
稀疏性对叠加的贡献可以定量刻画。定义稀疏度 \(S\) 为任意时刻活跃特征的比例,那么两个特征同时活跃(即撞车)的概率大约是:
如果 \(S = 0.1\),任意两个特征同时激活的概率只有 0.01。这意味着即使它们方向不完全正交,实际造成干扰的机会也微乎其微。稀疏性成了叠加的“安全垫”。
老王在旅馆前台挂了一块白板,每天记录“此刻有多少客人在房间”。他惊喜地发现,高峰期也只有 10% 的床位被占用。这意味着任意两位客人同时出现的概率只有百分之一——怪不得共享床位从来没有闹出大乱子。稀疏性,就是这家旅馆的隐形隔音墙。
- 定义稀疏度统计一个输入到来时活跃特征的数量占总特征数的比例。
- 碰撞概率两个特征同时激活的概率等于各自激活概率的乘积,在独立假设下即 \(S^2\)。
模型行为影响
好景不长。老王发现旅馆里有两类客人特别容易撞车:一类是晚上七点下班的程序员,一类是晚上七点半收工的餐厅服务员。他们作息高度重叠,方向也不够错开。好几次,程序员把自己的公文包和餐厅服务员的围裙拿混了。神经网络里,这种“拿混”就是特征干扰。两个特征方向接近、又经常同时激活,模型就会把一个特征的能量错误地归到另一个特征上。
特征干扰带来两个著名的现象。第一个是多语义神经元:一个人工神经元看起来对“猫”和“狗”都有响应,其实是因为它同时叠加编码了这两个特征,任何一个激活都会带动另一个。第二个是幻觉与失真:当干扰严重时,模型会把不存在的特征“脑补”出来——就像服务员明明没带围裙,模型却因为程序员的公文包激活了围裙特征,硬说画面上有围裙。
为了量化这种干扰,我们可以定义一对特征之间的干扰强度:
其中 \(s_i\) 和 \(s_j\) 是二值化的激活指示(1 为活跃,0 为沉默)。方向越接近、同时激活越多,干扰越大。
老王看着前台电脑里的监控画面直叹气:两个作息重叠的客人,方向又没完全错开,每天早晚必然在走廊撞个满怀。模型里那些“猫狗不分”的神经元,本质上就是两个常年撞车的特征在互相拉扯。要想治本,光靠错峰不够,得给旅馆引入一套新的登记系统——这正是解耦要做的事。
- 方向重叠项取两特征方向点积的绝对值,衡量几何上“有多接近”,\(\lvert \mathbf{f}_i \cdot \mathbf{f}_j \rvert\)。
- 激活门控项用二值激活指示 \(s_i s_j\) 表示两特征是否同时在当前输入中被触发,只有同时为 1 时干扰才生效。
特征解耦方法
老王决定动手改革。他的第一招,是在旅馆门口安装一台身份识别闸机,每位客人进门时自动扫描登记。这对应着线性探测:训练一个简单的线性分类器,去检测某个方向上的激活是否与某个语义特征(比如“猫耳朵”)存在稳定的线性对应关系。如果探测成功,说明这个方向确实在编码该特征;如果失败,说明特征被稀释在了许多方向的叠加里。
第二招更彻底:给旅馆配备一个“智能前台”,对每一位到访客人输出一份标准化的入住清单——身份、目的、停留时长。这就是稀疏自编码器:把混合的表示向量映射到一个高维的稀疏向量上,每个维度尽量对应一个干净的特征。第三招是激活调优:在推理时手动干预某些方向的激活强度,屏蔽干扰源,类似旅馆在特殊时段封闭某条走廊。
线性探测的核心,是给每个候选特征 \(i\) 训练一个探测向量 \(\mathbf{w}_i\),然后计算它和实际表示方向 \(\mathbf{f}_i\) 的匹配程度:
Purity 越高,说明这个方向越“纯粹”地对应某个单一语义特征,叠加程度越低。
闸机装好后的第一个周末,老王惊讶地发现,以前“既像猫又像狗”的模糊比对一下子清晰了。原来那些混乱的走廊里藏着太多从未被登记过的“隐形客人”。解耦的本质,就是把旅馆里混住的客人一个个辨认出来,让他们各归其位。
- 探测向量内积用候选特征 \(j\) 的探测向量 \(\mathbf{w}_j\) 与表示方向 \(\mathbf{f}_i\) 做内积,数值越大说明方向上该特征的成分越强。
- 取最大值遍历所有候选特征,取最大内积作为此方向的纯度分数。
稀疏自编码器
智能前台的核心工作流程,老王给它起了个名字,叫“稀疏自编码器”。它的原理很像前台手里那张入住登记卡:正面写着“谁住进来了”,背面写着“房间还剩多少床位”。前台并不需要记住每一位客人的全部细节,只需要为眼前的入住写出一个简短的清单。这个清单越长,越精确;但老王要求它必须尽可能地短——只保留最重要的几项。于是前台被迫学会了“抓重点”。
数学上,稀疏自编码器使用一个过完备字典矩阵 \(\mathbf{D}\)(字典原子数远大于维度),把原始表示 \(\mathbf{x}\) 编码为稀疏系数向量 \(\mathbf{z}\),再通过 \(\mathbf{D}\mathbf{z}\) 重建出 \(\mathbf{x}\)。训练过程中同时优化两项目标:一是重建误差,保证信息不丢失;二是 \(\ell_1\) 稀疏正则,惩罚系数向量里非零元素的个数。
整体损失函数写成:
训练收敛后,\(\mathbf{z}\) 中每一个接近非零的位置,往往就对应一个干净且语义可解释的特征。\(\mathbf{D}\) 的每一列,则像是旅馆前台手里的“标准身份证模板”。
前台小姐越用越顺手:她不再需要记住每个房间住着谁,只需在入住时快速写下一行“程序员,公文包,22:00 前离开”的便签。这份便签就是稀疏编码 \(\mathbf{z}\),而抽屉里那一叠标准便签模板就是字典 \(\mathbf{D}\)。从此旅馆的信息一目了然,再也没有“隐形客人”。
- 重建误差项\(\lVert \mathbf{x} - \mathbf{D}\mathbf{z} \rVert_2^2\) 度量原始表示在“编码再解码”后损失了多少信息,迫使字典保留关键内容。
- 稀疏正则项\(\lVert \mathbf{z} \rVert_1\) 对系数绝对值求和,优化时会倾向把不重要的系数压到 0,从而让编码稀疏化。
- 字典更新通过梯度下降交替优化 \(\mathbf{D}\) 和 \(\mathbf{z}\),让字典原子逐步逼近真实特征方向。
叠加容量分析
改革的喜悦过后,老王开始思考一个更深的问题:这套叠加系统到底能承载多少特征?换句话说,旅馆的接待上限是多少?他翻了翻宾馆行业的理论手册,发现一个令人振奋的公式:如果每个时刻只有比例 \(S\) 的客人在房间里,那么旅馆能服务的“客人种类”上限大约是房间数除以 \(S\)。
直觉推理很简单:任意时刻旅馆里同时活跃的特征数不能超过维度数 d(毕竟床位只有 d 个)。假设总共有 n 种特征,每种特征任意时刻以概率 \(S\) 活跃,那么同时活跃的平均特征数是 \(n \times S\)。令它不超过 d,就得到:
当 \(S = 0.05\),即只有 5% 特征活跃时,容量可以达到 20d。一个 1024 维的表示层,理论上可以容纳约两万个稀疏特征。这就是神经网络表示能力的惊人之处。
老王在旅馆年会上分享了这个公式,台下的老板们纷纷倒吸一口凉气:原来决定接待能力的不是房间数量,而是客人们有多“宅”。越是稀疏的场景,同样的楼房就能容纳越多种类的客人。这也解释了为什么大模型倾向于学到稀疏的内部表示——稀疏不仅仅是巧合,更是容量最大化压力下必然的选择。
- 同时活跃期望总特征数 \(n\) 乘单特征活跃概率 \(S\),得到任一时刻活跃特征数的期望值。
- 容量约束活跃特征数不能超过维度 \(d\),取临界等式 \(n S = d\)。
特征干扰度量
公式归公式,老王还需要一套日常巡检工具,用来评估旅馆当前的混乱程度。他让前台每天统计一次“走廊相遇事件”:任意两位客人同时出现在走廊里,就算一次潜在干扰。如果一个星期内相遇事件暴涨,说明叠加已经到了危险的临界点,需要启动解耦流程。
技术世界里,这套巡检工具由两个指标构成。第一个是余弦相似度,度量两个特征方向的夹角:
第二个是叠加损失,把所有特征对的干扰累计起来:
其中 \(\alpha\) 是惩罚指数(通常大于 1),让夹角很小的特征对受到更重的惩罚。叠加损失越低,表示当前表示越接近理想的稀疏正交结构,解耦效果越好。
每周例会,老王都会盯着这张“走廊相遇报告”看。只要叠加损失超过某个阈值,他就会果断启动闸机识别和智能前台。这套度量系统让他从“凭感觉管理”变成了“按数据治理”——特征叠加不再是玄学,而是一门可以被测量、被优化、被控制的工程学问。
- 余弦相似度点积除以两向量模长,将相似度归一化到 \([-1,1]\),数值越接近 0 越正交。
- 指数加权对余弦绝对值取 \(\alpha\) 次幂,放大夹角很小(即高度碰撞)的特征对的贡献。
- 累计求和遍历所有 \(i \neq j\) 的特征对并求和,前面乘 \(1/2\) 抵消重复计数。
AI 应用场景
大模型机制解释性分析
阶段:模型审计与可解释性分析
解决的问题:大语言模型内部神经元经常呈现“多语义”——一个神经元对“星球”和“名人”都有响应,传统人工巡检根本无法判断它到底编码了什么。利用稀疏自编码器对中间激活做解耦,可以自动地把混合神经元拆解为一个个语义单一的特征方向,让研究者看清幻觉到底从哪里冒出来。
具体案例:某安全团队分析一个对话模型的幻觉案例时发现,模型回答“巴黎在巴西”是因为“巴西”和“巴黎”两个特征在表示空间中方向接近且经常同时激活,产生干扰。团队用 SAE 分离出这两个特征的叠加结构,定位到具体层和具体字典原子,随后通过激活调优在推理时抑制“巴西”方向的泄漏,幻觉率下降了 37%。
模型压缩与高效推理
阶段:模型优化与部署
解决的问题:移动端模型表示层维度有限,但业务需要模型识别上百种细粒度特征。传统做法是扩大模型,浪费显存;利用特征叠加的容量公式,可以在训练中引入稀疏正则,引导模型以更低的稀疏度编码同样多的特征,从而用更小的维度实现相同精度。
具体案例:一家视觉模型公司把分类头之前的特征维度从 512 压到 256,同时引入 L1 稀疏正则约束中间激活。实测在保持 98.2% 精度的前提下,模型体积缩小 41%,推理延迟降低 28%。事后用叠加损失评估,发现压缩后的模型特征干扰反而更小,因为稀疏正则间接起到了解耦作用。
Python 演示
import numpy as np class SparseAutoencoder: """极简稀疏自编码器:过完备字典 + L1 稀疏编码(ISTA 迭代)""" def __init__(self, n_features, n_dict, lam=0.1): self.D = np.random.randn(n_features, n_dict) * 0.1 self.D /= np.linalg.norm(self.D, axis=0, keepdims=True) self.lam = lam self.dict_size = n_dict def encode(self, x, steps=200, lr=0.05): z = np.zeros(self.dict_size) for _ in range(steps): grad = self.D.T @ (self.D @ z - x) z = z - lr * grad z = np.sign(z) * np.maximum(np.abs(z) - self.lam * lr, 0) return z def decode(self, z): return self.D @ z def train_step(self, x, z): grad = (self.D @ z - x) @ z.T / len(x) self.D -= 0.01 * grad self.D /= np.linalg.norm(self.D, axis=0, keepdims=True) def main(): np.random.seed(42) n_features, n_dict, n_samples = 20, 80, 500 sae = SparseAutoencoder(n_features, n_dict, lam=0.1) true_z = np.zeros((n_samples, n_dict)) for i in range(n_samples): idx = np.random.choice(n_dict, 3, replace=False) true_z[i, idx] = np.random.randn(3) X = true_z @ sae.D.T + 0.01 * np.random.randn(n_samples, n_features) for epoch in range(3): for x, z_true in zip(X, true_z): z = sae.encode(x) sae.train_step(x.reshape(1, -1), z.reshape(1, -1)) test_z = sae.encode(X[0]) recon_err = np.linalg.norm(sae.decode(test_z) - X[0]) sparsity = np.mean(np.abs(test_z) > 1e-6) print("重建误差:", round(recon_err, 4)) print("编码稀疏度(非零比例):", round(sparsity, 3)) if __name__ == "__main__": main()
self.D = np.random.randn(n_features, n_dict) * 0.1随机初始化过完备字典,字典原子数(80)远超输入维度(20),为稀疏解耦提供充足方向。z = z - lr * grad对稀疏编码执行梯度下降更新,让系数向量向最小化重建误差的方向移动。z = np.sign(z) * np.maximum(np.abs(z) - self.lam * lr, 0)软阈值操作,把绝对值小于阈值的系数直接置零,这是 L1 稀疏约束的核心步骤。grad = (self.D @ z - x) @ z.T / len(x)计算字典 D 的梯度,通过重建误差反向传播更新字典原子方向。self.D /= np.linalg.norm(self.D, axis=0, keepdims=True)对字典列做归一化,防止某些原子模长过大导致稀疏编码失衡。idx = np.random.choice(n_dict, 3, replace=False)构造真实稀疏特征:每条样本只激活 3 个特征,模拟真实世界中的稀疏叠加数据。X = true_z @ sae.D.T + 0.01 * np.random.randn(...)用“稀疏系数 × 字典”生成观测数据,附加微噪声,模拟网络内部的混合表示。
常见误区
误区我觉得特征叠加就是把多个特征塞进同一条直线方向,所以叠加越强,特征方向就越应该完全重合。
正解恰恰相反,特征叠加的前提是方向近似正交而非共线。共线的两个特征会直接互相污染,谁都无法被单独读出;而近似正交的特征即使共用一个容量区域,也能通过方向差异保持可区分性。就像合租室友选择错开的作息时间,而不是同时挤在同一张床上。
为何常见:“叠加”这个词容易让人联想到物理中的波叠加——同方向振幅相加,于是误以为特征叠加也是同向合并。
误区神经网络每个神经元都应该代表一个清晰的概念,比如某个神经元专门识别“猫”,另一个专门识别“狗”。
正解真实网络(尤其是大模型)中,大多数神经元是多语义的,一个神经元会同时响应多个不相关特征。这正是特征叠加的直接后果:由于特征数远超维度数,网络被迫让一个维度方向混合承载多个特征。稀疏自编码器之所以流行,就是因为它能把这种混合重新拆开。
为何常见:早期 CNN 可视化研究展示了“神经元—概念”的一一对应案例,让人误以为这是普遍规律,而忽略了那些案例只是稀少的特例。
误区只要把隐藏层维度设得足够大,特征就都能分配到独立维度,特征叠加问题自然消失。
正解真实数据的特征种类可以随数据规模无限增长,而维度永远有限。更关键的是,研究表明即使在高维空间中,网络在容量压力下仍然倾向于叠加编码,因为稀疏叠加比独占维度更节省容量、更利于泛化。维度增大只能缓解,不能根除。
为何常见:人脑直觉是“空间大了东西就能摆开”,忽略了神经网络的特征数也在同步膨胀,且稀疏叠加本身具有正则化收益。
误区稀疏自编码器把高维表示压到低维稀疏向量,所以它和 PCA 一样都是降维。
正解方向完全相反。SAE 通常是过完备的——字典原子数远大于输入维度(比如 1024 维输入映射到 4096 维稀疏编码),本质是升维后稀疏,目的是把纠缠在少数维度里的密集特征摊开到大量维度上,让每个维度尽量只承载一个语义特征。PCA 追求低维紧致,SAE 追求高维稀疏。
为何常见:看到“编码器”三个字就联想到 bottleneck 结构,忽略了稀疏自编码器的隐藏层比输入层更宽这一关键设计。
面试题
Q1. 特征叠加(Superposition)最核心的思想是什么?
- A.每个特征严格独占一个独立维度
- B.有限维度内用近似正交方向容纳更多特征← 正确答案
- C.特征随机均匀地分布在所有维度上
- D.通过复制特征来扩充表示空间
答案:B。特征叠加的核心是用有限维度编码远超维度数量的特征,依靠近似正交方向和稀疏激活减少冲突。A 是一对一编码的理想假设;C 是随机分布假设;D 是数据增强思路,均与叠加无关。
Q2. 为什么稀疏性能够显著提升特征叠加的容量?
- A.稀疏性直接增加了表示空间的维度数
- B.稀疏性降低特征同时激活的碰撞概率← 正确答案
- C.稀疏性让特征向量长度自动变为零
- D.稀疏性消除了特征之间正交性要求
答案:B。两个特征只有在同时激活时才会产生干扰,碰撞概率约等于 \(S^2\),因此稀疏度 \(S\) 越小,干扰指数级下降。A 错误,维度未变;C 错误,稀疏是系数为 0 而非向量长度归零;D 错误,稀疏不能替代正交性,只是降低了正交性要求。
Q3. 特征叠加可能导致以下哪些模型行为?
- A.神经元呈现多语义响应← 正确答案
- B.模型产生幻觉内容← 正确答案
- C.相似特征之间互相干扰← 正确答案
- D.模型表示容量变为无限大
答案:ABC。叠加导致一个方向混合多个特征,表现为多语义神经元;方向接近且同时激活的特征互相污染,可能诱发幻觉;干扰本身就是叠加的直接后果。D 错误,叠加只是更高效地利用有限容量,并不能让容量无限。
Q4. 稀疏自编码器(SAE)在机制解释性中的主要作用是什么?
- A.对输入图像做主成分压缩
- B.将混合叠加的表示解耦为稀疏可解释特征← 正确答案
- C.减少模型参数量以加速推理
- D.提升模型在训练集上的准确率
答案:B。SAE 用过完备字典将密集混合的激活映射为高维稀疏编码,让每个非零系数尽量对应一个语义单一的特征,是当前解释大模型内部机制的主流工具。A 是 PCA;C 是剪枝量化;D 是训练优化,均不属于 SAE 在解释性上的定位。
Q5. 两个特征向量的夹角接近 90 度,意味着什么?
- A.两个特征完全冲突,不能共存
- B.两个特征近似正交,激活时互不干扰← 正确答案
- C.两个特征方向完全相同
- D.一个特征是另一个特征的负方向
答案:B。夹角 90 度时余弦为 0,两向量点积为 0,表示方向彼此独立,激活互不影响。A 冲突指方向相反且争抢;C 夹角为零;D 夹角为 180 度,均与 90 度含义不同。
Q6. 关于特征叠加容量 \(n_{\max} \approx d/S\),以下说法正确的有?
- A.容量与维度 d 成正比← 正确答案
- B.容量与稀疏度 S 成反比← 正确答案
- C.该公式由“同时活跃特征数不超过 d”推导而来← 正确答案
- D.稀疏度越低,容量反而越小
答案:ABC。任意时刻活跃特征期望为 \(nS\),受限于维度 d,令 \(nS=d\) 即得 \(n=d/S\)。因此容量正比于 d、反比于 S,A、B、C 均正确。D 恰好说反:S 越小分母越小,容量越大。
Q7. 线性探测(Linear Probing)用于回答什么问题?
- A.某个权重矩阵的秩是多少
- B.表示中是否存在线性可分的语义特征方向← 正确答案
- C.模型的训练收敛速度有多快
- D.损失函数的梯度是否为零
答案:B。线性探测训练一个线性分类器去读取表示中的某个特征,如果分类准确率高,说明该特征在表示中存在清晰的方向。它回答的是“这个特征是否被线性编码”的问题,而不是权重矩阵或梯度的性质。
Q8. 一个小型网络隐藏层只有 64 维,却编码了约 200 个稀疏特征,最合理的解释是?
- A.网络利用近似正交方向与稀疏激活实现了叠加← 正确答案
- B.网络已过拟合,特征语义完全不存在
- C.每个维度恰好线性编码了三个以上特征
- D.特征在训练中被无损地一对一编码
答案:A。200 个特征远超 64 维,一对一编码不可能成立,唯一合理解释是叠加:特征以近似正交方向分布,且任意时刻只有少数特征激活。C 的“恰好线性编码”违背容量上限;B 是错误归因;D 与维度矛盾。
Q9. 以下哪些方法可以用于特征解耦?
- A.稀疏自编码器提取字典原子← 正确答案
- B.线性探测定位特征方向← 正确答案
- C.推理时激活调优抑制干扰← 正确答案
- D.随机丢弃输入像素
答案:ABC。SAE 解耦混合表示、线性探测定位特征方向、激活调优直接干预干扰源,三者都是有效的解耦手段。D 是数据增强的正则化技巧,与解耦无关,也无法消除特征间的方向干扰。
Q10. 稀疏自编码器的损失函数包含哪两项?
- A.重建误差加 L1 稀疏正则← 正确答案
- B.分类误差加 L2 权重衰减
- C.对抗损失加感知损失
- D.信息熵加交叉熵
答案:A。SAE 的优化目标是 \(\|\mathbf{x}-\mathbf{D}\mathbf{z}\|_2^2 + \lambda\|\mathbf{z}\|_1\):第一项保证编码不丢信息,第二项让编码稀疏。B 是分类网络常见配置;C 是生成对抗网络;D 是信息论与分类损失,均非 SAE 的核心损失。