System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于检索增强的大型多模态模型的食物图像食谱生成方法技术_技高网
当前位置: 首页 > 专利查询>复旦大学专利>正文

基于检索增强的大型多模态模型的食物图像食谱生成方法技术

技术编号:43890756 阅读:1 留言:0更新日期:2025-01-03 13:06
本发明专利技术属于自然语言处理技术领域,具体为基于检索增强的大型多模态模型的食物图像食谱生成方法。本发明专利技术将从图像到食谱的检索模型和大型多模态语言模型相结合;语言模型采用增强LoRA补丁的LLAVA。食物图像食谱生成方法包括语言模型训练数据集的构建、语言模型的训练、语言模型的推理:本发明专利技术引入随机多样化检索增强,从现有数据存储库中检索与图像语义相关的食谱作为补充,将它们整合到提示中,以为输入图像增加多样且丰富的上下文。此外,还引入自一致性集成投票机制,用于确定最有信心的预测食谱作为最终输出。大量实验验本发明专利技术方法的有效性,表明其在Recipe1M数据集的食谱生成任务中达到了目前最先进的性能。

【技术实现步骤摘要】

本专利技术属于自然语言处理,具体涉及食物图像食谱生成方法。


技术介绍

1、随着食谱生成技术在计算烹饪艺术中的重要性不断提升,诸如recipe1m、vireofood-172和food2k等广泛的数据集为食品相关计算任务的发展提供了重要支持。这些数据集的广泛应用助推了该领域的进步[1]。然而,由于食谱生成涉及多句烹饪指令,这一任务面临显著挑战。该任务要求模型必须具备对食材成分、食品图像和烹饪过程的深刻理解,方能准确执行相应任务[2,3,4]。

2、早期的食谱生成尝试主要采用了两阶段方法,首先从图像中生成食材,然后利用食材和图像的嵌入表示生成指令。在这些方法中,[5]利用变换器模型来生成详细的食谱,但他们忽视了在生成之前为食谱构建全面的结构,导致在生成的输出中遗漏了某些步骤。这些早期模型没有利用大型多模态模型(lmms)的潜力。最近,[6]通过使用多个数据集同时微调多模态大型语言模型lisa[7],提出了一个基于lmms的统一食品计算模型,其中包括食谱生成任务。

3、随着对多功能深度学习模型需求的不断增长,诸如bert、vit和gpt等大型预训练模型相继出现。然而,这些模型的泛化能力受到单一模态模型局限性的制约,促使了大型视觉-语言多模态模型的发展。将自回归语言模型作为视觉-语言任务解码器的做法日益受到欢迎。例如,llava[8]模型通过将视觉编码器的输出与llama[9]结合,并使用合成数据来增强对齐网络和lmm的训练。同样,vicuna[10]利用llama[9]来促进与人类的对话互动,设计成具有广泛能力范围的模型,使其能够有效应对并提供全面的回应,解决一系列复杂和多样化的查询。lmms的迅猛发展也推动了多模态模型在各垂直领域的应用。然而,lmms引入的幻觉问题及其解决方案不断涌现。尽管取得了一定进展,但foodlmm模型仍然面临幻觉问题,本专利技术旨在通过检索增强来解决这一问题。


技术实现思路

1、本专利技术的目的在于提供一种基于增强检索的大型多模态语言模型(lmm)的食物图像食谱生成方法,以提高食谱生成的准确性和丰富性。

2、本专利技术提供的基于增强检索的大型多模态语言模型的食物图像食谱生成方法,将从图像到食谱的检索模型r[11]和大型多模态语言模型(简称语言模型,也称生成模型,记为g)相结合;这里生成模型采用增强lora[16]补丁的llava。食物图像食谱生成方法,具体步骤包括语言模型训练数据集的构建、语言模型的训练、语言模型的推理:

3、步骤1、语言模型训练数据集的构建;

4、采用recipe1m数据集,作为语言模型训练数据集的基础,记为数据存储m;设食物图像x作为查询,通过编码器将图像x编码成特征,然后将特征输入给分词器,得到该图像对应的标记序列x1,...,xn,并在数据存储m中搜索与查询序列x1,...,xn最相似的前k个文档,记为m'=(m1,...,mk),每个文档格式包括食物类别、食材成分以及食物制作过程。

5、把训练数据组织为对话形式:图像-食谱对的形式,其中,一个图像与三个问答对相对应,三个问答分别为标题(即食物类别)、成分(即食材成分)和说明(即食物制作过程);recipe1m数据集,其包含每张图片和其对应的标题、成分和说明。为了更好地与检索增强的常规做法保持一致,将关于标题、成分和说明的问题视为查询。将训练数据格式化为:

6、“[<image> conversations: qtitles,atitles,qingredienst,aingredienst,qinstructions,ainstructions]”,   (3)

7、其中,qtitles表示该图像的标题问题,atitles表示标题的答案,qingredienst表示该图像的成分问题,aingredienst表示成分的答案,qinstructions表示该图像的制作过程的问题,ainstructions表示制作过程的答案。将这些对话定义为训练数据。

8、具体来说,原训练数据的对话的任务模板如下:

9、<qtitles,atitles:the food is...,qingredienst,aingredienst:the ingredientsare:...,qinstructions,ainstructions:here are the instructions:...>;

10、在加入检索得到的信息m'=(m1,...,mk)后,对话模板变成:

11、<qtitles,atitles:the food is...,search results...[检索到的成分1,检索到的成分2]qingredienst,

12、aingredienst:the ingredients are:...,search results...[检索到的成分3,检索到的制作过程1]qinstructions,ainstructions:here are the instructions:...>。

13、通过这种方法,形成一个被检索信息补充,得到训练数据,用于训练生成模型g。

14、本专利技术中,食物类别、食材成分以及食物的制作过程是通过一种提供的随机多样化检索增强方法来确定的。具体包括以下步骤:

15、与现有的检索增强方法[12,13,14]直接使用检索结果作为上下文不同,为了确保检索信息的多样性,从前k个检索结果中随机抽样,随机选择三组成分和一组说明作为最终的检索信息,并按照以下方式拼接在qingredienst和qinstructions之前,如图2所示。

16、其中,三组成分中的两组检索到的成分在qingredienst之前依次串联拼接,而说明和剩余的一组成分在qinstructions之前依次串联,同时告知模型这是一个参考结果:“参考的搜索结果是‘检索到的信息’”。最后,得到最终训练数据,如图1所示。这里,提示“食物是”、“成分是:”和“这里是说明:”类似于其他研究[15]中使用的简单、固定提示,但在这里,这些提示被定制用来描述成分并提供与输入图像相关的说明。

17、步骤2、语言模型的训练;

18、得到训练数据后,使用检索增强的食谱,训练生成模型g。生成模型建立在大型多模态模型llava之上,它接受图像和文本提示作为输入。

19、文本提示(即问题)和检索增强的食谱被串联并通过分词器处理,然后输入文本编码器以获取文本特征,同时图像通过图像编码器处理以获取图像特征。

20、图像特征通过mlp映射到与文本特征相同的嵌入空间。在接收到文本和图像嵌入后,解码器继续生成基于图像特征x和训练数据问题的标记。

21、训练所使用的损失函数,是最大化给定前序单词序列的下一个单词的条件概率,即通过优化参数θ来最大化:

22、

23、其中,x<i是x本文档来自技高网...

【技术保护点】

1.一种基于增强检索的大型多模态语言模型的食物图像食谱生成方法,其特征在于,将从图像到食谱的检索模型R和大型多模态语言模型G)相结合;这里语言模型采用增强LoRA补丁的LLAVA;食物图像食谱生成的具体步骤为:

【技术特征摘要】

1.一种基于增强检索的大型多模态语言模型的食物图像食谱生成方法,其特征在于,将从图像到食谱的检索模型r和大...

【专利技术属性】
技术研发人员:陈静静刘郭杉殷海龙朱斌张志明
申请(专利权)人:复旦大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1