AlignPrune:超越损失值的鲁棒动态剪枝
论文标题 :Beyond Loss Values: Robust Dynamic Pruning via Loss Trajectory Alignment
作者 :Huaiyuan Qin 等(I²R A*STAR 等)
会议 :CVPR 2026 Findings
arXiv:2604.07306
一句话概括
AlignPrune 提出用**损失轨迹对齐分数(DAS)**替代单点损失值来排序样本:通过计算每个样本的损失时间序列与干净参考集平均损失轨迹之间的 Pearson 相关性,精准区分"困难但干净"与"真正噪声"样本,作为即插即用模块无缝集成到 InfoBatch、SeTa 等现有动态剪枝方法中,在噪声标签场景下实现显著性能提升。

一、研究背景与动机
1.1 动态剪枝的困境
动态数据剪枝(如 InfoBatch、SeTa)通过在训练过程中筛选低价值样本来加速训练,核心排序依据是每个样本的当前损失值------loss 低的样本视为"已学会"可剪枝,loss 高的样本保留继续学习。
这一逻辑在干净标签 场景下运作良好,但在噪声标签场景中遭遇根本性挑战:
Loss 值视角(现有方法的盲区):
Loss 高 ──→ 困难但干净的样本 ←── 应该保留(有学习价值)
└─→ 真正的噪声样本 ←── 应该丢弃(无学习价值)
两者在 loss 值上几乎不可区分!
问题本质:噪声样本因为标签错误,模型无法正确拟合,其 loss 持续偏高;而困难但干净的样本在训练初期同样 loss 偏高。基于单点 loss 值的排序方法无法区分这两类样本,导致:
- 噪声样本被误判为"高价值困难样本"而保留 → 污染训练
- 困难干净样本可能被误判为"低价值"而剪枝 → 信息损失
1.2 核心洞察
作者的关键发现:虽然困难干净样本和噪声样本的 loss 值都可能很高,但它们的 loss 变化轨迹(time series)有本质区别:
| 样本类型 | Loss 值 | Loss 轨迹特征 |
|---|---|---|
| 困难但干净 | 偏高 | 持续单调下降,与整体学习趋势一致 |
| 真正噪声 | 偏高 | 不规则振荡,与整体趋势不同步 |
AlignPrune 的核心思路:用轨迹的相关性替代单点 loss 值来判断样本价值。
二、方法详解
2.1 整体框架
AlignPrune 不是一个独立的剪枝方法,而是一个即插即用的排序度量替换模块:
现有动态剪枝流程(如 InfoBatch / SeTa):
计算每个样本的 loss → 按 loss 排序 → 保留低 loss / 剪枝高 loss
AlignPrune 替换后:
计算每个样本的 loss 轨迹 → 计算 DAS 分数 → 按 DAS 排序 → 保留高 DAS / 剪枝低 DAS
↑
替换的核心:loss 值 → DAS 分数
2.2 损失轨迹定义
对第 i i i 个样本,在第 t t t 个 epoch 的损失为:
ℓ i ( t ) = L ( f θ t ( x i ) , y ~ i ) \ell_i^{(t)} = \mathcal{L}(f_{\theta_t}(x_i), \tilde{y}_i) ℓi(t)=L(fθt(xi),y~i)
定义长度为 N N N 的损失轨迹向量:
v i ( t ) = ℓ i ( t − N + 1 ) , ℓ i ( t − N + 2 ) , ... , ℓ i ( t ) \mathbf{v}_i^{(t)} = \\ell_i\^{(t-N+1)}, \\ell_i\^{(t-N+2)}, \\ldots, \\ell_i\^{(t)} vi(t)=ℓi(t−N+1),ℓi(t−N+2),...,ℓi(t)
即从第 t − N + 1 t-N+1 t−N+1 到第 t t t 个 epoch 的连续 N N N 个 loss 值组成的向量。 N N N 是轨迹窗口大小,默认 N = 25 N=25 N=25。
2.3 参考集轨迹
从干净数据中取一个小规模参考集 R R R,计算其在相同时段的平均损失轨迹:
v ref ( t ) = 1 ∣ R ∣ ∑ j ∈ R v j ( t ) \mathbf{v}{\text{ref}}^{(t)} = \frac{1}{|R|} \sum{j \in R} \mathbf{v}_j^{(t)} vref(t)=∣R∣1j∈R∑vj(t)
这条参考轨迹反映了模型在干净数据上的"主学习趋势"------随着训练推进,干净样本的平均 loss 应该平稳下降。
2.4 动态对齐分数(DAS)
样本 i i i 的 DAS 定义为其损失轨迹与参考轨迹的 Pearson 相关系数:
DAS i = ρ ( v i , v ref ) \text{DAS}_i = \rho(\mathbf{v}i, \mathbf{v}{\text{ref}}) DASi=ρ(vi,vref)
其中 ρ ( ⋅ , ⋅ ) \rho(\cdot, \cdot) ρ(⋅,⋅) 为 Pearson 相关系数。
直觉解读:
- DAS 高(接近 1) :样本的 loss 轨迹与干净参考集高度同步------该样本在"正常学习",即使 loss 值高也是困难干净样本 → 保留
- DAS 低或为负 :样本的 loss 轨迹与参考趋势不同步------该样本可能在"乱跳",很可能是噪声样本 → 剪枝
关键优势 :DAS 关注的是 loss 变化的相对趋势而非绝对大小,因此天然将困难干净样本(高 loss 但趋势一致)与噪声样本(高 loss 且趋势紊乱)区分开来。
2.5 排序与剪枝
将 DAS 作为新的排序度量,替换原有方法中的 loss 排序:
score i : = DAS i \text{score}_i := \text{DAS}_i scorei:=DASi
然后按照原始方法(InfoBatch 或 SeTa)的剪枝逻辑,保留 score 高的样本、剪枝 score 低的样本。
2.6 完整算法流程
输入:训练集 D(含噪声标签),参考集 R(干净),剪枝概率 r,窗口大小 N
1. 初始化模型 f_θ
2. For t = 1 to T (epochs):
a. 对每个样本 x_i 计算 loss ℓ_i^(t)
b. 构建长度为 N 的轨迹向量 v_i^(t)(需 t ≥ N)
c. 计算参考集平均轨迹 v_ref^(t)
d. 对每个样本计算 DAS_i = ρ(v_i, v_ref)
e. 用 DAS 替换原方法中的 loss 排序
f. 按原方法逻辑选择保留/剪枝的样本子集
g. 在保留子集上执行一个 epoch 的训练
3. 返回训练好的模型
2.7 与现有方法的兼容性
AlignPrune 的设计哲学是最小侵入性:
- InfoBatch + AlignPrune:InfoBatch 原本按 loss 排序保留低 loss 样本,替换为按 DAS 排序保留高 DAS 样本
- SeTa + AlignPrune:SeTa 原本按 loss 聚类,替换为按 DAS 聚类(或按 DAS 排序后聚类)
- 两种集成方式均不需要修改原方法的任何其他组件
三、理论保证
3.1 无偏性保持
现有的动态剪枝方法(如 InfoBatch)通过**期望重缩放(expectation rescaling)**来保证梯度估计的无偏性:对保留样本的梯度乘以一个缩放因子,使得在期望意义下,剪枝后的梯度等于全量数据的梯度。
关键结论 :这种无偏性保证在数学上与样本如何被选择无关 ------它只依赖于保留样本的梯度如何被重缩放。AlignPrune 仅替换了排序度量(loss → DAS),完全不改变梯度重缩放机制,因此严格保持了原方法的无偏梯度估计保证。
用论文原文的话说:"Our proposed AlignPrune operates solely as a plug-and-play replacement for the ranking metric, thereby strictly preserving this unbiased gradient estimation guarantee."
3.2 DAS 与 Loss 的正交性
论文通过实验验证(见第四章 B.2.7 节),DAS 与 loss 绝对值在统计上是正交的(orthogonal)------高 loss 样本中既有高 DAS 的(困难干净),也有低 DAS 的(噪声),两者在 DAS 维度上被清晰分离。这一性质是 AlignPrune 区分困难与噪声样本的理论基础。
3.3 干净标签场景的退化行为
在无噪声场景下,所有样本的 loss 轨迹都与参考集高度同步(因为没有噪声标签干扰),因此 DAS 退化为一个与 loss 排序高度相关的度量。这意味着 AlignPrune 在干净标签下自然退化为传统动态剪枝方法的代理,不会带来性能损失。这种"噪声场景鲁棒、干净场景一致"的双重行为,保证了方法的通用性。
四、实验结果
4.1 数据集与实验设置
| 数据集 | 任务 | 噪声类型 | 规模 |
|---|---|---|---|
| CIFAR-100N | 图像分类 | Real / Symmetric / Asymmetric | 50K |
| CIFAR-10N | 图像分类 | Real (Aggregate/Worst) / Symmetric / Asymmetric | 50K |
| WebVision | 图像分类 | Real(网络标签噪声) | 2.4M |
| Clothing-1M | 图像分类 | Real(商品标签噪声) | 1M |
| ImageNet-1K | 图像分类 | Clean + 注入噪声 | 1.28M |
| NEWS | 文本分类 | Symmetric / Pairflip | --- |
噪声类型说明:
- Real:真实人类标注噪声
- Symmetric:均匀随机翻转(如 20% 的样本标签被随机替换为其他类)
- Asymmetric:标签翻转有类别倾向(如猫→狗,truck→automobile)
剪枝率设置:{30%, 50%, 70%},每实验重复 3 次取平均。
4.2 CIFAR-100N 主实验
以 ResNet-18 为 backbone,30% 剪枝率下的关键结果(表格内容为 Top-1 Acc.,上标为与全量训练的差距):
| 方法 | Clean | Real | Sym 0.2 | Sym 0.5 | Sym 0.8 | Asym 0.2 | Asym 0.4 | 平均 Δ |
|---|---|---|---|---|---|---|---|---|
| Full-training | 78.2 | 56.1 | 71.4 | 58.6 | 39.8 | 72.4 | 63.3 | --- |
| InfoBatch | 77.7 | 56.0 | 71.3 | 60.5 | 42.2 | 71.8 | 65.2 | +0.7 |
| InfoBatch + Ours | 78.5 | 60.7 | 71.6 | 62.0 | 42.6 | 72.6 | 68.6 | +2.4 |
| SeTa | 77.5 | 55.7 | 70.7 | 60.0 | 40.5 | 71.9 | 64.5 | +0.2 |
| SeTa + Ours | 78.4 | 56.3 | 71.2 | 61.0 | 41.9 | 72.2 | 66.0 | +1.0 |
核心发现:
- InfoBatch + AlignPrune 在 30% 剪枝率下,平均性能比全量训练高出 2.4 个百分点 ,而原始 InfoBatch 仅高出 0.7。AlignPrune 带来了 +1.7 的额外提升。
- 在 Real 噪声下提升最为显著:InfoBatch + Ours 达到 60.7(+4.6),而原始 InfoBatch 仅 56.0(-0.1),差距达 4.7 个百分点。
- SeTa + AlignPrune 同样带来提升,平均从 +0.2 提升到 +1.0,验证了 AlignPrune 与不同基础方法的兼容性。
4.3 CIFAR-10N 实验
50% 剪枝率下的关键结果:
| 方法 | Clean | Real-A | Real-W | Sym 0.2 | Sym 0.5 | Sym 0.8 | Asym 0.2 | Asym 0.4 | 平均 Δ |
|---|---|---|---|---|---|---|---|---|---|
| Full-training | 95.6 | 90.7 | 78.3 | 91.3 | 85.4 | 65.6 | 90.6 | 85.8 | --- |
| InfoBatch | 95.0 | 90.5 | 77.7 | 92.0 | 87.5 | 64.3 | 92.0 | 87.5 | +0.4 |
| InfoBatch + Ours | 95.0 | 91.3 | 82.4 | 92.8 | 87.6 | 64.5 | 92.1 | 89.8 | +1.5 |
| SeTa | 94.8 | 89.4 | 78.5 | 91.3 | 86.0 | 53.0 | 91.7 | 87.9 | -1.4 |
| SeTa + Ours | 94.9 | 89.7 | 79.3 | 91.9 | 87.6 | 60.2 | 92.2 | 88.5 | +0.1 |
亮点:SeTa 在 Sym 0.8(80% 对称噪声)下从 53.0 提升到 60.2(+7.2),从灾难性下降(-12.7)改善为可控下降(-5.5)。InfoBatch + Ours 在 Real-W 上从 77.7 提升到 82.4(+4.7)。
4.4 大规模真实噪声数据集
| 数据集 | 方法 | 对比结果 |
|---|---|---|
| WebVision (2.4M) | InfoBatch | 基准 |
| InfoBatch + Ours | 各剪枝率下均优于 InfoBatch | |
| Clothing-1M (1M) | InfoBatch | 基准 |
| InfoBatch + Ours | 平均提升 +0.5% |
解读:在百万级规模的真实噪声数据集上,AlignPrune 同样带来稳定提升。论文报告 InfoBatch + AlignPrune 相对原始 InfoBatch 的平均提升为 +0.5%。值得注意的是,SeTa 在这两个数据集上训练崩溃,因此仅报告了 InfoBatch 的结果。(数据来源:Figure 3,具体数值从图中读取)
4.5 ImageNet-1K 大规模实验
| 设置 | 方法 | 平均 Δ(与全量训练差距) |
|---|---|---|
| 干净标签 | InfoBatch | -0.1 |
| InfoBatch + Ours | +0.1 | |
| 噪声标签 | InfoBatch | -0.7 |
| InfoBatch + Ours | +0.6 |
关键发现 :在 ImageNet 干净标签下,InfoBatch + Ours 略优于 InfoBatch(+0.1 vs -0.1),两者表现基本一致(符合理论预期------干净场景下 DAS 退化为传统度量)。但在噪声标签下,InfoBatch 性能下降 0.7,而 AlignPrune 将性能从 -0.7 反转为 +0.6,实现了 1.3 个百分点的逆转。实验覆盖 ConvNeXt-Tiny/Base、DeiT-Small/Base、Swin-Tiny/Base 六种架构配置。
实验还验证了 AlignPrune 在 CNN(ResNet)和 ViT(DeiT、Swin)架构上的通用性。
4.6 训练效率对比
在 CIFAR-100N Real 噪声、50% 剪枝率、200 epochs、双 RTX-A6000-GPU 条件下:
| 方法 | Acc (%) | 训练时间(分钟) |
|---|---|---|
| Static | 51.8 | 24.7 |
| Dynamic | 54.1 | 24.4 |
| SeTa | 55.7 | 25.8 |
| InfoBatch | 56.0 | 23.9 |
| InfoBatch + Ours | 60.7 | 22.5 |
| Full-training | 56.1 | 46.7 |
解读:AlignPrune 的 DAS 计算引入的开销可忽略不计,反而因为更精准的样本筛选提升了训练效率。InfoBatch + Ours 不仅精度大幅提升(56.0 → 60.7,+4.7),训练时间甚至略低于原始 InfoBatch(22.5 vs 23.9 分钟),远低于全量训练的 46.7 分钟。
论文还报告了每 epoch 的实际平均剪枝比率:InfoBatch 为 28.77%,AlignPrune 为 32.94%------AlignPrune 更积极地剪枝了噪声样本。
4.7 文本分类验证(NEWS 数据集)
| 方法 | Clean | Sym 0.2 | Sym 0.5 | Pairflip 0.45 |
|---|---|---|---|---|
| Full-training | 42.5 | 37.1 | 26.7 | 26.5 |
| InfoBatch | 42.8 | 36.7 | 26.2 | 27.4 |
| InfoBatch + Ours | 42.9 | 37.9 | 28.4 | 27.7 |
解读:AlignPrune 在文本模态同样有效,在 Sym 0.5 噪声下从 26.2 提升到 28.4(+2.2),证明了其跨模态通用性。
五、消融实验与深入分析
5.1 超参数影响
剪枝概率 r r r:
- 在干净标签下,增大 r r r(剪更多)导致精度下降
- 在噪声标签下,增大 r r r 反而提升精度------因为更多噪声样本被正确识别并丢弃
- 建议 :干净场景用低 r r r,噪声场景用高 r r r
轨迹窗口大小 N N N:
| 窗口大小 N N N | Clean | Real | Sym 0.2 | Sym 0.5 | Sym 0.8 | Asym 0.2 | Asym 0.4 |
|---|---|---|---|---|---|---|---|
| 2 | 77.3 | 55.2 | 70.3 | 58.8 | 40.3 | 71.4 | 63.2 |
| 3 | 78.0 | 55.9 | 70.7 | 59.2 | 40.8 | 71.2 | 63.1 |
| 4--50(均值±标准差) | 78.9±0.2 | 56.5±0.3 | 71.3±0.3 | 60.4±0.3 | 41.4±0.3 | 72.2±0.2 | 64.3±0.3 |
关键发现:
- N ≥ 4 N \geq 4 N≥4 后性能极其稳定(标准差仅 0.2--0.3),说明 AlignPrune 对窗口大小不敏感
- N = 2 N = 2 N=2 或 3 3 3 时性能明显下降------过短的轨迹无法捕捉学习动态
- 默认 N = 25 N = 25 N=25,Clothing-1M 因训练 epoch 少使用 N = 5 N = 5 N=5
相关性函数 ρ \rho ρ 的选择:
| 相关性函数 | 精度 | 计算时间 |
|---|---|---|
| Pearson(默认) | 基准 | 基准 |
| Cosine | 相当 | 相当 |
| DTW(动态时间规整) | 相当 | 显著更高 |
三种函数精度相当,但 DTW 计算开销过大,因此默认使用 Pearson。
5.2 参考集分析
参考集规模的影响:
| 干净数据比例 | Real 噪声下精度 |
|---|---|
| 100% | 56.8 |
| 10% | 56.3 |
| 1% | 56.0 |
| 0.1% | 仍然有效(仅在 Sym 0.8 极端噪声下失效) |
关键结论 :AlignPrune 不依赖大量干净数据 ------仅 0.1% 的干净样本就足以提供可靠的参考轨迹。这是因为 Pearson 相关性关注的是相对趋势而非绝对量级,对规模差异天然鲁棒。
伪干净参考集:
当完全没有干净数据时,可使用 coreset 方法(如 ELFS、SmallL、Moderate)从噪声数据中提取伪干净子集作为参考。实验表明:
| 参考集类型 | Clean | Real |
|---|---|---|
| 真实干净集(100%) | 79.0 | 56.8 |
| ELFS 伪干净集(100%) | 78.8 | 56.6 |
| 真实干净集(1%) | 79.1 | 56.0 |
| ELFS 伪干净集(1%) | 78.9 | 56.1 |
伪干净集与真实干净集效果几乎一致,证明 AlignPrune 在完全没有干净标签的情况下仍然有效。
参考集噪声敏感性:
| 参考集注入噪声率 | 0% | 10% | 20% | 30% | 40% |
|---|---|---|---|---|---|
| CIFAR-100N Real 精度 | 56.8 | 56.5 | 56.4 | 56.2 | 53.7 |
参考集噪声率在 30% 以内时性能几乎不受影响,40% 时才出现明显下降。
5.3 公平性验证:额外的参考监督
一个潜在的质疑:AlignPrune 使用了干净参考集,这是否等同于"额外的监督信息"?
作者设计了对照实验:给原始 InfoBatch 也提供同样的参考集,用参考集的 loss 统计量(均值+标准差)来校准 loss 阈值。结果:
- 校准后的 InfoBatch:性能提升可忽略不计
- InfoBatch + AlignPrune:显著提升
结论 :性能提升不来自于"额外的干净数据",而来自于将干净数据用于轨迹对齐这一更有效的利用方式。瓶颈在于 loss 排序度量本身,而非信息获取量。
5.4 困难样本 vs 噪声样本的可视化
论文通过 Figure C 提供了最直观的证据:
Loss 值曲线:
- 困难干净样本(Top 10%-50% loss)和噪声样本的 loss 曲线高度重叠,几乎无法区分
- 两者在训练初期 loss 都很高,证实了 loss 值无法区分
DAS 值曲线:
- 困难干净样本的 DAS 持续为正且较高------尽管 loss 高,但下降趋势与参考集一致
- 噪声样本的 DAS 持续偏低或为负------loss 变化趋势与参考集不同步
- 两组在 DAS 维度上被清晰分离
结论:DAS 与 loss 绝对值正交,能够有效区分困难与噪声样本。
5.5 保留子集中的噪声比率
在 CIFAR-100N(40.2% Real 噪声)上,测量不同方法保留子集中的噪声样本比例:
- Static 方法(SmallL, Prune4ReL):噪声比率高
- InfoBatch:噪声比率中等
- InfoBatch + AlignPrune :噪声比率最低
结论:AlignPrune 更精准地过滤了噪声样本,保留了更干净的训练子集,这直接解释了其性能提升的来源。
5.6 统计显著性
所有主实验均重复 3 次,InfoBatch + Ours 在各噪声类型下的标准差为 0.1--0.2,证明了结果的统计可靠性。
5.7 与重标签技术的协同
AlignPrune 还可与 SOP+ 等重标签技术结合,在 30% 剪枝率下:
| 方法 | Real | Sym 0.2 | Sym 0.5 | Sym 0.8 | Asym 0.2 | Asym 0.4 | 平均 Δ |
|---|---|---|---|---|---|---|---|
| InfoBatch + SOP+ | 66.5 | 74.0 | 68.9 | 21.5 | 74.6 | 71.7 | +2.6 |
| InfoBatch + Ours + SOP+ | 67.5 | 76.3 | 70.4 | 32.5 | 75.8 | 72.9 | +5.7 |
结合重标签后,AlignPrune 的优势进一步放大,平均 Δ 从 +2.6 提升到 +5.7。特别是在 Sym 0.8 极端噪声下,从 21.5 飙升至 32.5(+11.0)。
六、总结与评价
核心贡献
- 问题定位精准:识别出"loss 值无法区分困难与噪声样本"这一被忽视的关键瓶颈
- 方法优雅简洁:用 Pearson 相关性替代 loss 排序,一行公式即可实现,却带来显著提升
- 即插即用设计:不修改原方法的任何组件,仅替换排序度量,兼容 InfoBatch、SeTa 等多种方法
- 理论保证完备:严格保持无偏梯度估计,干净场景下自然退化为传统方法
- 实验全面扎实:覆盖 6 个数据集、3 种噪声类型、3 种剪枝率、多种架构、跨模态验证
优势
- 精准区分困难与噪声:DAS 关注轨迹趋势而非绝对值,从根本上解决了 loss 排序的盲区
- 低数据需求:仅需 0.1% 干净参考数据,甚至可用伪干净集替代
- 鲁棒性强:对窗口大小(4--50)、相关性函数选择、参考集噪声(≤30%)均不敏感
- 零额外开销:DAS 计算开销可忽略,甚至因更精准的筛选而略微提升训练效率
- 广泛适用:图像分类、文本分类、CNN、ViT 均有效
局限性
- 需要参考集:虽然需求量极小(0.1%),但在某些完全无法获取干净数据的场景仍需借助 coreset 方法
- 极端噪声下的退化:在 Sym 0.8(80% 对称噪声)下,当干净信号过弱时,DAS 的区分能力下降
- 窗口大小的下限 : N ≥ 4 N \geq 4 N≥4 才能正常工作,对于训练 epoch 很少的场景(如 Clothing-1M 仅用 N = 5 N=5 N=5)需要调参
- 与 SeTa 集成的提升幅度较小:在 CIFAR-100N 上 SeTa + Ours 仅提升 0.8(+0.2→+1.0),可能因为 SeTa 的聚类机制已经部分缓解了噪声问题
与 SeTa 的关系
AlignPrune 和 SeTa(arXiv:2503.13385)构成了一个有趣的互补关系:
| 维度 | SeTa | AlignPrune |
|---|---|---|
| 目标场景 | 大规模干净数据集的高效训练 | 噪声标签场景的鲁棒剪枝 |
| 核心创新 | 滑动窗口课程调度 | 损失轨迹对齐排序 |
| 排序依据 | 单点 loss 值 | loss 轨迹的 Pearson 相关性 |
| 噪声鲁棒性 | 弱(高 loss 噪声样本被误保留) | 强(DAS 区分困难与噪声) |
| 角色 | 基础方法 | 即插即用增强模块 |
SeTa + AlignPrune 的组合同时获得了高效训练和噪声鲁棒性,是两者优势的自然融合。
实践建议
| 超参数 | 推荐值 | 说明 |
|---|---|---|
| 窗口大小 N N N | 25(默认)/ 5(短训练) | 4--50 范围内均稳定 |
| 相关性函数 ρ \rho ρ | Pearson | 精度与效率的最佳平衡 |
| 参考集比例 | 0.1%--1% | 越多越好但边际递减 |
| 参考集来源 | 干净验证集 > 伪干净集 > 噪声训练集 | 无干净数据时用 ELFS 等方法提取 |
| 剪枝概率 r r r | 噪声场景增大 / 干净场景减小 | 噪声越多,剪越多反而越好 |