本发明属于人工智能内容生成技术和烹饪,涉及一种基于改进生成对抗网络的新菜谱生成方法。
背景技术:
1、在现代餐饮业的快速发展中,新菜谱的研发成为吸引顾客、满足口味需求以及推动品牌创新的关键因素。目前,新菜谱的研发通常依赖于厨师的经验和感觉,限制了菜品的创新性和多样性。同时,在新菜谱开发的过程中,需要不断的尝试新配方及不同烹饪方法的组合,从而增加新菜谱开发的时间消耗和研发成本。
2、随着人工智能内容生成技术的发展,生成对抗网络成为了一种强大的工具,被广泛应用于图像、音频及文本生成等领域。然而,在烹饪技术领域,由于菜谱的复杂性和多样性,传统的生成对抗网络在生成菜谱方面存在一定的局限性。具体表现在以下两个方面:
3、菜谱数据序列长度问题:菜谱数据一般由食材调料、预处理方法、制作步骤和注意事项组成,属于长文本序列。而生成对抗网络在处理长文本序列时可能导致梯度消失或梯度爆炸问题。因此,在生成菜谱时,模型可能会丧失对序列中较远依赖关系的建模能力。
4、菜谱样本空间的连续性问题:菜谱文本数据通常是离散和高度结构化的,而生成对抗网络在处理离散的文本序列时,无法满足生成的菜谱数据在语法和语义上的一致性要求,使得生成的菜谱数据在语法上合理但在语义上不通顺或生成荒谬的菜谱数据。
5、因此,需要一种基于改进生成对抗网络的新菜谱生成方法以解决上述问题。
技术实现思路
1、为了解决背景技术提出的问题,本发明提供一种基于改进生成对抗网络的新菜谱生成方法。
2、一种基于改进生成对抗网络的新菜谱生成方法,包括以下步骤:
3、步骤一、收集菜谱数据集s,并将所述菜谱数据集s按照食材组合、食材预处理方法、制作步骤和注意事项划分为四个子数据集:食材组合数据集s1、食材预处理方法数据集s2、制作步骤数据集s3和注意事项数据集s4;
4、步骤二、对所述食材组合数据集s1、食材预处理方法数据集s2、制作步骤数据集s3和注意事项数据集s4进行分词处理,构建中文菜谱词表,并将中文词语转换成可被模型识别的词向量;
5、步骤三、构建菜谱生成器网络g,所述菜谱生成器网络g包括四个transformer解码器网络,四个transformer解码器网络的输出分别对应食材组合模块、食材预处理方法模块、制作步骤模块和注意事项模块,利用极大似然估计法对菜谱生成器网络g进行初始化,通过菜谱生成器网络g生成的菜谱数据和菜谱数据集s对菜谱判别器网络d进行预训练;
6、步骤四、利用强化学习方法对所述菜谱生成器网络g和菜谱判别器网络d进行循环对抗性训练,并更新所述菜谱生成器网络g和菜谱判别器网络d的网络参数,直至所述菜谱生成器网络g收敛;
7、步骤五、将经过词向量转换的食材关键词输入所述菜谱生成器网络g,输出包含该食材的完整菜谱。
8、更进一步的,步骤一中所述食材组合数据集s1包括完成一道菜所需的主食材、辅食材、配菜和调料以及主食材、辅食材、配菜和调料的使用量。其中,主食材或辅食材作为关键词输入菜谱生成模型g,用于引导整个菜谱的生成。
9、更进一步的,步骤二中对所述菜谱数据集s进行分词处理,构建中文菜谱词表,并将中文词语转换成可被模型识别的词向量,包括以下步骤:
10、s21、通过中文分词工具将所述菜谱数据集s中的中文句子序列切分成常见的中文词语,并通过哈希表将其映射为中文菜谱词表中的唯一整数索引;
11、s22、利用one-hot编码方法将中文词语转换成可被模型识别的词向量。用于后续模型的训练与生成推理。
12、更进一步的,步骤三中所述菜谱生成器网络g为分层式菜谱生成器,包括一个transformer编码器网络、四个transformer解码器网络和一个全连接层,所述菜谱生成器网络g将整个菜谱的生成解耦为四部分,最后通过一个全连接层将四个模块生成的菜谱信息进行融合处理并输出,其中,transformer编码器网络用于提取输入食材关键词的特征,四个transformer解码器网络的输出分别对应食材组合模块、食材预处理方法模块、制作步骤模块和注意事项模块;
13、更进一步的,所述菜谱判别器网络d为由嵌入层、卷积层、池化层、全连接层及输出层组成的二元分类网络,用于判断输入数据的真假。
14、更进一步的,步骤三中利用极大似然估计法对菜谱生成器网络g进行初始化,通过下式表示:
15、 ,
16、 ,
17、其中,为极大似然估计法得到的模型参数,为模型参数,为训练数据的对数似然函数,n是训练样本的数量,是第i个观测数据,是数据分布下样本的概率,是模型在参数下生成样本的概率。
18、更进一步的,步骤三中利用极大似然估计法对菜谱生成器网络g进行初始化,包括以下步骤:
19、s31、对transformer编码器网络和食材组合模块组成的网络利用极大似然估计法在食材组合数据集s1上进行参数初始化训练,同时冻结食材预处理方法模块、制作步骤模块和注意事项模块的参数;
20、s32、训练完transformer编码器网络和食材组合模块组成的网络后,将transformer编码器网络和食材组合模块的参数冻结,在食材预处理方法模块和冻结参数的transformer编码器网络组成的网络上利用极大似然估计法在食材预处理方法数据集s2上进行参数初始化训练;
21、s33、参照步骤s31和s32,利用极大似然估计法分别在制作步骤数据集s3和注意事项数据集s4上,对制作步骤模块和注意事项模块进行参数初始化。
22、更进一步的,步骤四中利用强化学习方法对所述菜谱生成器网络g和菜谱判别器网络d进行循环对抗性训练,包括以下步骤:
23、s41、循环调用菜谱判别器d的生成菜谱序列s,并利用q-learning算法的ε-greedy策略,选择菜谱生成器g生成下一个词的动作a;
24、s42、进入下一个状态,并获得当前奖励信号r,更新价值函数q,直至菜谱生成器网络g的生成序列达到期望的质量,并更新菜谱生成器网络g的网络参数。
25、引入基于q-learning的强化学习方法对分层菜谱生成网络进行循环对抗性训练,通过构造更新价值函数并利用ε- greedy策略进行动作选择,迭代的更新菜谱生成器网络生成数据的序列状态,进而根据菜谱判别器判断的真伪得出奖励值最大的方向,指导菜谱生成器网络参数的更新,从而解决生成器网络生成的菜谱数据在语义和语法上一致性低的问题。
26、更进一步的,步骤四中所述强化学习方法基于q-learning算法实现,定义价值函数q为,价值函数q通过下式进行更新:
27、,
28、其中,是q价值函数的值,s表示当前已生成部分菜谱序列的状态,a表示生成器生成下一个词的动作,a是学习率,r是当前的奖励因子,,是菜谱判别器网络对生成的部分菜谱序列的输出概率,是折扣因子,是下一个状态,是在下选择的动作。
29、更进一步的,步骤四中所述菜谱生成器网络g的网络参数通过下式进行更新:
30、 ,
31、其中,是菜谱生成器网络的参数,a是学习率,是梯度操作,是q价值函数的值,s表示当前已生成部分菜谱序列的状态,a表示生成器生成下一个词的动作。
32、更进一步的,步骤四中所述菜谱判别器网络d的网络参数通过下式进行更新:
33、 ,
34、 ,
35、其中,是菜谱判别器对真实菜谱数据的输出概率,是菜谱判别器对生成菜谱数据的输出概率,是菜谱生成器生成的菜谱数据,z是菜谱生成器的输入食材关键词数据,是菜谱判别器的参数,a是学习率,是梯度操作。
36、有益效果:本发明的基于改进生成对抗网络的新菜谱生成方法,通过将菜谱生成过程解耦为食材组合模块、食材预处理方法模块、制作步骤模块和注意事项模块四个部分,并利用基于多头注意力机制的transformer解码器-编码器结构,解决菜谱生成过程中因数据序列长度过长导致的梯度消失或梯度爆炸问题,从而解决菜谱数据上下文依赖关系建模能力差的问题,为菜谱研发人员提供更多创新性和多样化的开发思路,并缩短研发周期,降低试错成本。
1.一种基于改进生成对抗网络的新菜谱生成方法,其特征在于,包括以下步骤:
2.如权利要求1所述的基于改进生成对抗网络的新菜谱生成方法,其特征在于,步骤一中所述食材组合数据集s1包括完成一道菜所需的主食材、辅食材、配菜和调料以及主食材、辅食材、配菜和调料的使用量。
3.如权利要求1所述的基于改进生成对抗网络的新菜谱生成方法,其特征在于,步骤二中对所述菜谱数据集s进行分词处理,构建中文菜谱词表,并将中文词语转换成可被模型识别的词向量,包括以下步骤:
4.如权利要求1所述的基于改进生成对抗网络的新菜谱生成方法,其特征在于,步骤三中所述菜谱生成器网络g为分层式菜谱生成器,包括一个transformer编码器网络、四个transformer解码器网络和一个全连接层,所述菜谱生成器网络g将整个菜谱的生成解耦为四部分,最后通过一个全连接层将四个模块生成的菜谱信息进行融合处理并输出,其中,transformer编码器网络用于提取输入食材关键词的特征,四个transformer解码器网络的输出分别对应食材组合模块、食材预处理方法模块、制作步骤模块和注意事项模块。
5.如权利要求1所述的基于改进生成对抗网络的新菜谱生成方法,其特征在于,步骤三中利用极大似然估计法对菜谱生成器网络g进行初始化,通过下式表示:
6.如权利要求4所述的基于改进生成对抗网络的新菜谱生成方法,其特征在于,步骤三中利用极大似然估计法对菜谱生成器网络g进行初始化,包括以下步骤:
7.如权利要求1所述的基于改进生成对抗网络的新菜谱生成方法,其特征在于,步骤四中利用强化学习方法对所述菜谱生成器网络g和菜谱判别器网络d进行循环对抗性训练,包括以下步骤:
8.如权利要求1所述的基于改进生成对抗网络的新菜谱生成方法,其特征在于,步骤四中所述强化学习方法基于q-learning算法实现,定义价值函数q为,价值函数q通过下式进行更新:
9.如权利要求1所述的基于改进生成对抗网络的新菜谱生成方法,其特征在于,步骤四中所述菜谱生成器网络g的网络参数通过下式进行更新:
10.如权利要求1所述的基于改进生成对抗网络的新菜谱生成方法,其特征在于,步骤四中所述菜谱判别器网络d的网络参数通过下式进行更新:
