加权模型集成技巧
ziwang-com opened this issue · comments
www.ziwang.com commented
https://github.com/CheaSim/WeightedVoting
加权模型集成技巧
目标
本项目的目标是,全自动融合模型。以前模型融合的权重是由自己设定或者基于dev上的分数,但是既然我们有了Pytorch这样的框架,为什么不可以利用模型在验证集上的输出分布和验证集的ground truth来输出每个模型的权重呢? 冲!
输入是logits,输出是概率分布
流程
首先,使用训练集对模型进行三角化。然后,使用经过训练的模型对开发数据集进行评估,以获取开发日志。现在,我们有大约 N 个模型和 N 个开发逻辑。通常,我们会平均开发日志以集成模型。在这个项目中,你可以得到最终的对数,而不是平均对数。我们可以在集合模型中训练权重。
logit = \sum_n^i w_i logit_i
首先使用几个模型针对验证集输出验证集上的概率分布,之后
用户使用的时候,只需要import WeightedVoting,之后进行fit输入和输出,就可以得到每个模型的权重。
过程中将train_set 分成两部分作为train和val。
输入的train是一个[num_samples, num_models, num_choices + 1]
guyuefangyuanaa commented
怎么用啊,大佬,有示例吗?