【笔记】Prompting Large Language Models with Answer Heuristics forKnowledge-based VQA

背景

GPT-3没有被完全激活发挥出实力,主要限制有两点:

1.GPT-3应该摒弃一些无用信息,关注问题本身所关注的信息。“一群人在城市广场上行走”对回答“这些树结出什么果实”这个问题毫无帮助。在这种情况下,GPT-3不得不做出一个漫无目的和有偏见的猜测来回答这个问题。”

 2.GPT-3采用了少量的学习范式,需要一些上下文中的例子来适应新的任务。因此,这些示例的选择对于模型性能至关重要。

{few-shot:GPT-3只需要在推理时将任务的几个例子与作为提示的输入连接起来,并且不需要参数更新。}

本文思路

1.首先将一组示例传入VQA模型,得到一组案例。

 如:图片是一个老人面前一个生日蛋糕,问题是老人在吹什么?然后VQA生成的答案有蜡烛、生日、火。

问题、语义、候选答案都作为提示输入gpt-3,最终得出想要的答案。

依据上图,最终结果用公式表示为:

 由于GPT-3本质上不理解图像,因此需要使用现成的off-the-shelf captioning模型将图像转换为文字提示(PICa):

PICa的完整提示由一个固定的提示头、几个上下文中的示例和一个测试输入组成。此提示被输入GPT-3以进行答案预测。

阶段一:答案启发式生成

 首先解释一下VQA模型一般包含两个子模型,一个作用是embeding生成融合特征z,一个是分类头,用于生成答案词汇y。

首先第一个子模型,用于生成融合特征:

第二个子模型:生成候选词汇答案:

 作者将以上模型作为对比的方案,加入GPT-3的指引,验证有效性。

下面是作者初步操作:

制作e集合,其实就是few-shot中的support set。

生成的example首先肯定需要候选答案词汇,作者选择y中TopK得分的:

 

 这就是生成的提示示例(w为词汇,y为得分),但是还有一点,是选择哪些图片来当作示例呐?

作者说:

“我们推测这些融合特征位于一个潜在的答案空间中,该空间包含给定图像-问题对的答案的丰富语义。”

“如果z和zi在潜在空间中接近,他们更有可能共享相似的答案和图像问题输入。”

于是作者计算了test(测试案例,也就是few-shot中的query)同其他vq对的融合特征的余弦距离,选取TopN最接近的。

 

 当然,作者提到,这些z特征是可以被提前计算好的。

阶段二:启发式增强提示

向上面图二中展示的,下一个流程就是生成提示增强gpt-3预测。

也就是这一部分:

虽然可以看到给gpt-3提供了候选答案,但是gpt3同样可以选择生成新答案。

 

 最后不管是e集合还是test,输入gpt-3的格式是这样的:

其中confidence会帮助gpt-3关注更有利的候选答案, 作者会进行多次操作输入gpt-3,投票选出结果:

猜你喜欢

转载自blog.csdn.net/qq_42533666/article/details/129907345
今日推荐