Page 283 - 《软件学报》2025年第5期
P. 283
琚江舟 等: 多粒度单元格对比的文本和表格数值问答模型 2183
显示了在不使用 MGCC 情况下, 模型可以区分干扰单元格数值表示和支撑单元格数值表示. 这可能是因为生成器
需要预测支撑单元格数值以用于计算程序生成, 因此其必须学习区分支撑单元格数值和干扰单元格数值表示. 尽
管如此, MGCC 使支撑单元格数值表示的类聚地更紧.
query query query query
negative negative negative negative
positive positive positive positive
(a1) (b1) (c1) (d1)
query query query query
negative negative negative negative
positive positive positive positive
(a2) (b2) (c2) (d2)
图 6 t-SNE 下多粒度单元格语义对比的锚点, 正例及负例可视化
4.7.3 多粒度单元格语义对比下计算程序生成过程展示
后文图 7 详细描述了在引入多粒度单元格语义对比 (MGCC) 机制前后, 问答模型预测计算程序的主要步骤,
即每步决策时的 top 3 候选操作符或操作数及对应的决策概率值 (精确到小数点后 5 位).
通过可视化概率决策过程, 本文可以做些简单的解释性分析: (1) 分析每步决策依据. 例如, 在第 1 步决策中,
可以清楚地观察到模型之所以选择“subtract”作为操作符, 而忽略其他选项, 这是因为模型给“subtract”分配了最高
的概率值 (1.0), 而将“divide”和“greater”分别赋予了 0.0 的概率. (2) 分析错误原因. 在第 2 步决策时, FinQA(RoBERTa-
large) 由于分配给干扰单元格 (55.2) 最高的概率 0.999, 而当前步的支撑单元格 (65.7) 仅分配了 0.000 98 概率, 因
此导致了其决策错误. 分析这些错误决策的概率不仅有助于理解错误发生的原因, 也为模型后续优化提供了方向.
(3) 比较 MGCC 机制的引入前后问答模型决策依据的变化. 引入了 MGCC 后, 在第 2 步中, FinQA(RoBERTa-large)
+MGCC 正确地选择了支撑单元格 65.7, 对 FinQANet(RoBERTa-large) 易混淆的干扰单元格 55.2 分配了接近 0.0
的概率, 说明了 MGCC 可以帮助生成器有效区分支撑和干扰单元格句子.
4.8 多粒度单元格语义对比超参数探究
4.8.1 温度系数对 FinQANet 生成器性能探究
相关研究表明 [41] , 温度系数是对比学习的一个重要超参数, 它对模型的学习方式和性能有显著影响. 通常, 为
了给负样本更多的惩罚, 对比学习的温度系数不会大于 1.0. 温度系数越小, 经过 Softmax 后概率分布会变得更陡
峭, 使模型更加关注困难样本学习. 然而, 如果温度系数过小, 会导致对比学习仅关注少数困难样本, 忽略大多数样
本正负例的区分. 这里本文探究了温度系数在{0.1, 0.2, 0.4, 0.6, 0.8, 1.0}这 6 种设置下, 不同参数规模的生成器在 FinQA
测试集上的效果. 这里 Ans Acc 表示答案正确率, Prog Acc 表示计算程序正确率.
从图 8 可以观察 FinQANet(BERT-base)+MGCC 和 FinQANet(RoBERTa-large)+MGCC 大致都有相似的趋
势: FinQANet 生成器性能随温度系数增加而增加, 进而达到一个峰值, 这之后随着温度系数的增大下降. 例如,
FinQANet(RoBERTa-large)+MGCC 在温度系数为 0.6 时, 达到最高的 65.21% 答案正确率. 最高点和最低点性能相
差 2.00%. 对于 FinQANet(BERT-base)+MGCC 在温度系数为 0.4 时, 答案正确率达到最高, 为 52.66%. 其最高点和
最低点相差 2.01%. 结合实验结果, 选择一个合适的温度系数对于 MGCC 是重要的. 正确的温度系数能够平衡模
型对困难样本的关注和对大多数样本正负例的区分能力, 从而优化模型的整体性能.