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
   50   51   52   53   54   55   56   57   58   59   60