论点四详细展开:"解冻"被噤声的知识——两阶段推理时优化
论文的解决方案不是改进训练,而是彻底改变优化策略:
> 冻结backbone的所有参数,在推理时只优化视觉隐层。
这背后的逻辑很简单:如果两个目标在一个参数空间里打架,那就给它们各自的空间。让训练好的backbone负责自回归生成,让推理时优化的隐层负责视觉推理。
Stage I:查询引导的对比式热身——教隐层"看对的东西,避开错的东西"
问题: 如果隐层不再依赖backbone的联合优化,如何保证它的语义质量?
解决方案:对比式学习。
1. 查询引导的相关性评分: 计算每个视觉token对查询Q的平均注意力分数,按相关性排序 2. Chunk-wise正负分配: 把高相关性patch作为正样本,低相关性patch作为负样本,分配给不同的隐层token
- 关键设计:每个隐层token获得不同的正/负样本chunk,防止所有隐层坍缩到同一个证据上
公式:
H*_sft = arg min_H [ -(1/K) sum log( sum_{v in P_k} exp(sim(h_k,v)/tau) / sum_{v in P_k union N_k} exp(sim(h_k,v)/tau) ) ]
参数设置: pos_num=2, neg_num=4, N_sft=5步
Stage II:置信度-进程奖励——让隐层"越来越有信心"
Stage I解决了隐层的"质量问题",但还没有解决隐层的"使用问题"。模型可能仍然绕过隐层。
核心思想: 如果一个隐层序列真的在有效推理,那么从第一个隐层h1到最后一个隐层hK,模型对答案的预测应该越来越确定(分布越来越集中)。
奖励函数:
R(H_tilde) = (1/(K-1)) sum_{k=1}^{K-1} max(0, E(k) - E(k+1))
其中E(k)是第k个隐层位置上的top-delta熵。奖励在熵单调递减时最大。
优化方法: NES(自然进化策略)梯度估计
- 采样高斯扰动
- 根据奖励更新隐层
- 保留历史最优隐层状态作为最终输出
为什么这个方法有效?
| 现有方法 | 问题 | 新方法 | 优势 |
|---|---|---|---|
| LVR/CoVT/Monet | 联合训练,隐层被噤声 | 冻结backbone | 自回归目标不干扰隐层优化 |
| DMLR | 推理时动态检索视觉patch | 纯隐层优化 | 不需要视觉重新注入 |
| 所有训练方法 | 修改模型参数 | 推理时优化 | 零参数更新,即插即用 |