Page 55 - 《软件学报》2026年第3期
P. 55
1018 软件学报 2026 年第 37 卷第 3 期
4.6 消融实验
为了验证 FastAdjust 的各个部分的有效性, 本节通过比较不同的优化方法组合来评估各个优化的有效性. 为
此, 我们将 FastAdjust 与以下方法进行比较.
● FA-noLoc. 基于 FastAdjust 方法, 但不使用第 3.2 节提出的基于乘积量化的候选数据定位, 也就是对于每一
对枚举到的点均计算实际距离.
● FA-noAlloc. 基于 FastAdjust 方法但不使用第 3.3 节提出的为不同节点分配不同检查次数的优化.
● NN-descent-init. 在 FastAdjust 不使用上述两种优化的时候会退化为 NN-descent-init, 也就是以微调前的嵌
入向量上建立的 K 近邻图作为初始图, 在微调后的嵌入向量上继续执行 NN-descent 算法对 K 近邻图进行更新.
图 10 展示了通过使用不同的优化方法, 在 Stack 和 Wiki 数据集上更新 K 近邻图, 3 min 时的召回率. 结果显
示, FA-noLoc 和 FA-noAlloc 相较于 FastAdjust 均有一定程度的性能下降, 但仍然优于 NN-descent-init. 其中 FA-noLoc
相较于 FA-noAlloc 的召回率下降幅度相对更大, 这是因为在更新 K 近邻图时, FA-noAlloc 能够在早期阶段就较为
准确地判别出不同数据微调前后 K 近邻关系变化幅度, 从而能够在早期的 K 近邻图更新中更多地利用 K 近邻关
系变化较小的节点, 基于这些节点较为准确的近邻信息优化 K 近邻变化较大的节点, 从而能够快速提升 K 近邻图
的质量.
NN-descent-init FA-noLoc FA-noAlloc FastAdjust
100 100
95.5
96.4
95 91.7
93.1 90.1
92.4 90
召回率 (%) 90 89.0 召回率 (%) 86.0
80
85
80 70
(a) Stack (b) Wiki
图 10 去除不同优化后的 FastAdjust 方法更新 K 近邻图, 3 min 时的召回率
4.7 阈值的误差分析
θ 是第 3.2 节中基于乘积量化的候选数据定位方法中的一个超参数. 它被用于根据乘积量化计算出
检查阈值
的近似距离, 判断是否需要对实际距离进行精确计算. 较小的 θ 会减少实际距离计算的次数, 从而提高效率, 但也
可能由于近似误差遗漏一些近邻点; 与之相反, 较大的 θ 会保留较多的候选点进行精确计算, 虽然计算开销更大,
但能降低遗漏近邻的风险.
本文在 DigiFace 数据集上比较了在采用不同阈值 θ 时, 减少的距离计算的比例以及判断错误发生的比例, 结
果如表 3 所示.
表 3 在 DigiFace 数据集上, 不同阈值 θ 下减少实际距离计算的比例及判断错误的概率
阈值 θ 减少实际距离计算比例 (%) 错误率 (%)
0.1 76 0.10
0.2 76 0.10
0.5 76 0.10
1.0 76 0.10
2.0 74 0.09
5.0 57 0.05

