本公开涉及人工智能,尤其涉及一种基于扩散概率模型的文生图方法、装置、设备及存储介质。
背景技术:
1、扩散概率模型(diffusion probabilistic model,dpm)是一种生成模型,也可称扩散模型,被广泛应用到文生图等生成式人工智能任务中。扩散概率模型dpm通过一个可逆的随机微分方程(stochastic differential equation,sde)或者常微分方程(ordinarydifferential equation,ode)建模简单先验分布和目标分布之间的映射。扩散概率模型生成图像的过程可以被视作数值求解相应sde或ode的过程。数值求解微分方程需要将连续的时间轴划分成若干个离散的时间步,并在相邻时间步之间按照给定的迭代公式进行迭代以计算出该时间步下的数据值,再利用预训练的神经网络根据数据值预测噪声或数据,以基于神经网络预测的噪声和数据,求解扩散概率模型来得到生成的图像。其中,划分离散时间步的个数称为步数,步数与生成图像所需要的延时成正比,为了降低扩散概率模型生成图像的延时,可以采用较少的步数。然而,较少的步数会导致较大的离散化误差,使得扩散概率模型生成的图像质量下降。因此,设计合适的数值求解器,在减少步数的同时保持生成质量不下降,是扩散概率模型中的重要研究方向。
2、现有的数值求解器(例如,去噪扩散隐含模型(denoising diffusion implicitmodels,ddim)、扩散概率模型求解器系列(dpm-solvers)、统一预测校正方法(unifiedpredictor corrector method,unipc))中存在很多可以调整的策略,如求解阶数的选择、时间步划分等等。然而,这些求解器对上述策略的选择都只按照人工经验性的准则进行。这种策略选取方式,会导致在步数限制非常低时(例如4-10步),使得现有求解器无法取得较好的性能,也即现有求解器在较低步数下求解扩散概率模型的生成质量较低。并且,已有求解器会在每一步的迭代中使用相同的求解策略,这也降低了求解器的求解性能。
技术实现思路
1、有鉴于此,本公开提出了一种基于扩散概率模型的文生图方法、装置、设备及存储介质,能够在给定的较少步数下提高求解器求解扩散概率模型的性能,同时有利于提升较少步数下扩散概率模型的图像生成质量和生成效率。
2、根据本公开的一方面,提供了一种基于扩散概率模型的文生图方法,包括:获取待生图的描述文本;将所述描述文本输入至所述扩散概率模型,并使用目标求解器求解所述扩散概率模型,得到所述扩散概率模型生成的目标图像;其中,所述目标求解器的生成过程,包括:获取所述扩散概率模型对应的指定步数,所述指定步数用于指示求解所述扩散概率模型所需划分出的时间步的步数;基于所述指定步数,根据预设的求解器框架搜索出多个候选求解器并评估各个候选求解器的真实性能,每个候选求解器包括与所述指定步数对应的多个时间步中每个时间步各自对应的求解策略,所述求解器框架用于约束求解策略的搜索空间,所述真实性能表征利用候选求解器求解所述扩散概率模型所得到的图像的质量;根据各个候选求解器的真实性能,从所述多个候选求解器中确定出所述扩散概率模型对应的目标求解器。
3、在一种可能的实现方式中,所述求解器框架包括以下至少一项:神经网络的类型,所述神经网络的类型包括噪声预测网络和数据预测网络,所述噪声预测网络用于预测所述扩散概率模型输入中的噪声部分,所述数据预测网络用于预测所述扩散概率模型输入中的数据部分;对时间步进行微分的起点,所述起点包括所述时间步的前一个时间步;对所述扩散概率模型进行泰勒展开的保留阶数的取值范围,所述泰勒展开的保留阶数的取值范围包括1至4之间的整数;所述扩散概率模型的泰勒展开式中各阶导数的导数估计方式;是否使用校正器,所述校正器用于校正所述扩散概率模型在任意时间步输出的数据值;与所述指定步数对应的多个时间步中各个时间步的选取位置;是否使用最大时间步的神经网络的输入数据代替最大时间步的神经网络的输出数据;是否对不同时间步的神经网络的时间步编码结果进行缩放,以及,在对任一时间步的神经网络的时间步编码结果进行缩放时所采用的时间步编码缩放系数,所述时间步编码缩放系数用于对时间步编码结果进行缩放。
4、在一种可能的实现方式中,所述导数估计方式包括对导数进行泰勒差分以及对泰勒差分结果进行幅值调节;所述求解器框架还包括:针对k阶导数进行泰勒差分所使用的额外点的数量的取值范围,所述额外点包括在待计算数据值的当前时间步之前的已计算出数据值的时间步,所述额外点的数量m的取值范围包括k≤m≤n,k代表待估计的导数的阶数,n代表对所述扩散概率模型进行泰勒展开的保留阶数;和/或,对k阶导数的泰勒差分结果进行幅值调节所使用的调节系数,所述调节系数包括符合1+o(hk)形式的系数,o(hk)代表k阶导数的泰勒差分结果的精度,hk代表当前时间步与额外点之间的步长。
5、在一种可能的实现方式中,所述神经网络包括编码器与解码器,所述编码器中的多个编码层与所述解码器中的多个解码层之间存在多个跳跃连接;其中,所述求解器框架还包括:是否对不同时间步的神经网络的多个跳跃连接所传输的特征数据进行缩放,以及,在对不同时间步的神经网络的多个跳跃连接所传输的特征数据进行缩放时,不同时间步所采用的跳连缩放系数组合,所述跳连缩放系数组合包括所述多个跳跃连接各自对应的跳连缩放系数,所述跳连缩放系数用于对跳跃连接所传输的特征数据进行缩放。
6、在一种可能的实现方式中,任一时间步对应的求解策略包括以下至少一项:神经网络的类型、时间步的选取位置、时间步对应的起点、泰勒展开的保留阶数、泰勒展开式中各阶导数的导数估计方式、是否使用校正器、是否使用最大时间步的神经网络的输入数据代替最大时间步的神经网络的输出数据、是否对不同时间步的时间步编码结果进行缩放、在对任一时间步的时间步编码结果进行缩放时所采用的时间步编码缩放系数、是否对不同时间步的神经网络的多个跳跃连接所传输的特征数据进行缩放、在对不同时间步的神经网络的多个跳跃连接所传输的特征数据进行缩放时不同时间步所采用的跳连缩放系数组合;其中,所述导数估计方式包括泰勒差分所使用的额外点的数量和/或对泰勒差分结果进行幅值调节所使用的调节系数。
7、在一种可能的实现方式中,所述基于所述指定步数,根据预设的求解器框架搜索出多个候选求解器并评估各个候选求解器的真实性能,包括:在第j轮搜索过程中,基于所述指定步数,从所述求解器框架中进化搜索出多个第j轮候选求解器,并评估各个第j轮候选求解器的真实性能,j∈[1,l],l为总搜索轮数;利用所述多个第j轮候选求解器以及各个第j轮候选求解器的真实性能,训练第j-1轮性能预测器,得到训练后的第j轮性能预测器,性能预测器用于预测求解器的性能;其中,当j=1时,第1轮搜索过程中进行的进化搜索是根据求解器的真实性能进行的,当j大于1时,第j轮搜索过程中进行的进化搜索是根据第j-1轮性能预测器对求解器所预测的性能进行的。
8、在一种可能的实现方式中,所述评估各个候选求解器的真实性能,包括:基于样本文本,使用各个候选求解器分别求解所述扩散概率模型,得到各个候选求解器各自求解出的图像数据;基于预设的图像质量评估指标,分别评估各个候选求解器各自求解出的图像数据的图像质量,其中,所述真实性能包括图像数据的图像质量。
9、根据本公开的另一方面,提供了一种基于扩散概率模型的文生图装置,包括:文本获取模块,用于获取待生图的描述文本;图像生成模块,用于将所述描述文本输入至所述扩散概率模型,并使用目标求解器求解所述扩散概率模型,得到所述扩散概率模型生成的目标图像;其中,所述目标求解器的生成过程,包括:获取所述扩散概率模型对应的指定步数,所述指定步数用于指示求解所述扩散概率模型所需划分出的时间步的步数;基于所述指定步数,根据预设的求解器框架搜索出多个候选求解器并评估各个候选求解器的真实性能,每个候选求解器包括与所述指定步数对应的多个时间步中每个时间步各自对应的求解策略,所述求解器框架用于约束求解策略的搜索空间,所述真实性能表征利用候选求解器求解所述扩散概率模型所得到的图像的质量;根据各个候选求解器的真实性能,从所述多个候选求解器中确定出所述扩散概率模型对应的目标求解器。
10、根据本公开的另一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为在执行所述存储器存储的指令时,实现上述方法。
11、根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。
12、根据本公开的另一方面,提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
13、根据本公开的各方面,通过基于求解扩散概率模型所需的指定步数,根据预设的求解器框架搜索出多个候选求解器,每个候选求解器包括多个时间步中每个时间步各自对应的求解策略,再根据各个候选求解器的真实性能,选取用于求解扩散概率模型的目标求解器,能够使选取出的目标求解器具有在指定步数下最优的求解策略,从而有效提高目标求解器求解扩散概率模型的性能,尤其是目标求解器中包含每个时间步各自对应的求解策略,能够有效提升较少步数下扩散概率模型的图像生成质量和生成效率。
14、根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。