把CSC的稀疏系数λ做成可学习变量,高斯噪声准确率从44%拉到68%

Training-Adaptive Convolutional Sparse Coding via Information Bottleneck for Robust Visual Representation

Meng'en Qin, Yinchen Liu, Mingxuan Cui, Youlu Xing

cs.CV, cs.LG, stat.ML

2026-09-17

TA-CSC把卷积稀疏编码的λ放进展开的FISTA里和网络一起学,干净ImageNet Top-1到72.53%;再用100张无标签损坏样本微调λ,CIFAR-10-C高斯噪声准确率从ResNet-18的44.43%升到68.23%。

这篇在解决什么

深度网络通常只优化最终任务损失,中间表征压多重、留多少任务信息,没有显式旋钮。信息瓶颈(IB)想要的是:表征 T 尽量丢掉与标签无关的输入信息,同时保住对 Y 有用的部分。做不到时,要么层层信息衰减,要么冗余噪声跟着走,输入一扰动就垮。

卷积稀疏编码(CSC)本来就有这个旋钮:重建项保住信号,ℓ1 项压复杂度,稀疏系数 λ 控制压多重。前人把 CSC 折进网络(ML-CSC、SCN、SDNet),λ 仍是手调超参,一层一个固定值,既学不到 IB 权衡,损坏输入来了也不能改压缩强度。

方法

TA-CSC 用 FISTA 展开 CSC 层,默认 2 次迭代。每一步对重建误差求梯度,按 λ/L 做 soft-threshold,再加 Nesterov 外推。λ 进了阈值,就可以顺着展开步骤反传超梯度,和卷积字典、网络参数一起更新。非负用 Softplus 卡住。

训练损失是任务损失加上各层稀疏码的平均 ℓ1,系数 γ=0.001。任务项逼表征够用,稀疏项逼表征更瘦,两者对着拉,对应论文里的 IB 权衡。

损坏数据来了,主干冻结,只用一小撮无标签损坏样本改 λ。适应损失是相对重建误差除以 λ:λ 变大能压冗余,相对重建误差变大则惩罚压过头。有 BN 的话,统计量也可以用损坏 batch 更新。

两个变体:TA-CSC-18 只换 ResNet-18 的第一层卷积,TA-CSC-18all 换全部卷积层。CIFAR 用一张 2080Ti,ImageNet 用 4 张 3090。

结果

干净集 Top-1:

方法CIFAR-10CIFAR-100ImageNet-1KImageNet速度
ResNet-1895.54%77.82%68.98%2100 n/s
SDNet-1895.20%78.31%69.47%1800 n/s
TA-CSC-1896.18%79.63%71.12%1689 n/s
TA-CSC-18all97.65%80.76%72.53%153 n/s

损坏集按五档严重度平均。CIFAR-10-C 高斯噪声上,ResNet-18 是 44.43%,TA-CSC-18all 不加适应已到 53.98%,加上无标签 λ 适应后 68.23%。ImageNet-C 高斯噪声对应 22.73% → 27.22% → 30.93%。同一套适应也强过给 SDNet-18 做逐样本 λ 调参(CIFAR 高斯 64.92%,ImageNet 高斯 29.16%)。Shot / Speckle / Impulse 上方向一致。λ 随噪声加重单调变大,冗余越多压得越狠。

消融:FISTA 从 2 次加到 8 次,CIFAR-10 从 96.18% 到 96.93%;适应样本从 50 到 500,鲁棒性继续小涨。默认仍用 2 次迭代、100 张样本,因为增益盖不住算力。训练中 λ 先小后大,浅层小、靠近分类头大,并在 ResNet 四个宽度扩张处各出现一次压缩峰。

为什么重要

想在分类网络里显式控制「压多少、留多少」的人,这是把 IB 旋钮焊进一层可微 CSC 的工程方案。损坏来了不用标签、不用重训主干,只拧 λ。干净集也没有为鲁棒性付明显代价,CIFAR-10 甚至从 95.54% 到 97.65%。

代价同样清楚。TA-CSC-18all 在 ImageNet 上显存 88.6 GB、153 n/s,对比 ResNet-18 的 24.1 GB、2100 n/s,全层替换不便宜。只换第一层的 TA-CSC-18 更接近能用的折中:71.12% 干净准确率、1689 n/s,损坏适应后 CIFAR 高斯 66.63%。

局限与存疑

作者自己写了:只在 ResNet 和分类任务上评过,λ 与信息压缩的关系主要靠经验曲线,还缺严格的 IB 理论对接。没有 Transformer、检测或分割对照。CIFAR-10 上 97.65% 相对 95.54% 的跳变偏大,训练协议是否对 CSC 变体更友好,论文没给多次随机种子。无标签适应默认就要 100 张目标域损坏样本,这在真正的「测试时一无所知」设定里并不免费。代码声称开源在 TA-CSC 仓库。

术语

原文与代码

相关论文

全部论文解读