扩散模型的训练方法、图像生成方法、装置及介质与流程

文档序号:37550147发布日期:2024-04-08 13:58阅读:11来源:国知局
扩散模型的训练方法、图像生成方法、装置及介质与流程

本发明涉及本公开涉及人工智能,尤其涉及图像生成,特别涉及一种扩散模型的训练方法、图像生成方法、装置、电子设备及存储介质。


背景技术:

1、扩散生成模型是近年来应用广泛的用于图像生成问题的方法,它的主要特点是生成图像质量高、易于训练等优点。然而,图像所含像素值位于一个规定范围中(一般为像素值0~255)。为了使得扩散生成模型能够用于规定范围(即一个受限区域)上的采样,一般算法主要有以下方法:

2、1.反射(reflected)扩散生成模型。这一模型在扩散生成模型的前向和后向过程对应的随机微分方程(stochastic differentia1 equation,sde)中均加入了反射项,即若图像在扩散过程中超出规定范围,则改变该图像的扩散方向使之与原方向对称。那么,经过修正的扩散模型则始终将图像限制在其规定范围内。这样的受限生成模型也有着相应的训练算法。

3、2.对数障碍(log-barrier)扩散生成模型。这一模型与反射扩散生成模型不同,它将欧氏空间中的图像规定区域视为一个黎曼空间(以及一个在上面定义的黎曼度量)。在黎曼空间的框架下,可以推导一个新的随机微分方程,它的特点是保证了图像始终在规定范围之中进行扩散。

4、但是,用于图像生成的反射扩散生成模型的训练依赖于对扩散过程的条件概率进行估计,这一项被用于去噪分数匹配(denoising score matching)的损失函数中。虽然在一般扩散模型中,条件概率是一个简单的高斯分布;但是在反射扩散模型中,条件概率的显式表达却无法被写出,因为图像分布被限制在一有限范围内。在实际训练中,通常需要借助于受限空间上的热核特征函数来对条件概率进行估计。这对计算量和准确性均提出了挑战。

5、而对数障碍扩散生成模型虽然在理论上保证了图像并不会溢出规定范围,但是在实际进行模拟的过程中,由于随机性的存在,依然会有部分图像溢出范围。这时,通常需要采用测地线随机游走(geodesic random walk,grw)的技术,将溢出图像映射回规定范围。遗憾的是,由于测地线随机游走并不能解析地计算,实践中一般使用截断操作来替代。这便引入了额外的误差。

6、另外,获得训练数据需要较高时间复杂度。训练数据(加噪样本)一般通过模拟前向过程来获得。在一般的扩散生成模型中,前向过程可以通过tweedies’formula直接写成一步生成的格式,因此训练数据的获得只需1步离散。但是在反射扩散生成模型和对数障碍扩散生成模型中,一步生成格式不再存在,因此需要借助多步模拟来得到训练数据。这一特点显著增加了训练时间。


技术实现思路

1、为此,本发明提供了一种扩散模型的训练方法、图像生成方法、装置、电子设备及存储介质,以力图解决或者至少缓解上面存在的至少一个问题。

2、根据本发明的一个方面,提供一种扩散模型的训练方法,适于在计算设备中执行,该训练方法包括:确定目标时间步;根据所述目标时间步在镜像空间内进行加噪处理得到训练图像;根据所述训练图像对第一网络模型进行训练。

3、可选的,所述根据所述目标时间步在镜像空间内进行加噪处理得到训练图像的步骤,包括:

4、在训练图像数据集中进行采样得到n个初始图像,在高斯分布中选取n个高斯噪声;

5、根据所述n个初始图像和所述n个高斯噪声确定n个子训练图像组;其中,每个子训练图像组对应一个初始图像和一个高斯噪声。

6、根据所述目标时间步和所述n个子训练图像组得到训练图像。

7、可选的,确定每个子训练图像组的方法包括:

8、s1211:获取每个子训练图像组的当前图像;其中,所述当前图像从所述每个子训练图像组对应的初始图像开始更新;

9、s1213:根据更新后的当前图像和对应的当前镜像图像之间的镜像关系获取所述当前镜像图像;

10、s1215:对所述当前镜像图像进行加噪得到下一个时间步的第一镜像图像;

11、s1217:根据所述第一镜像图像和其对应的第一图像的镜像关系获取所述第一图像;

12、s1219:判断所述第一图像对应的时间步是否为第一目标时间步;如果是,则将所述第一图像作为所述子训练图像组的最终子训练图像;如果否,则对所述当前图像进行更新,将所述第一图像作为所述当前图像,将更新后的当前图像作为所述子训练图像组的中间子训练图像,然后针对更新后的当前图像继续进行s1213、s1215、s1217、s1219的步骤。

13、可选的,每个子训练图像组的当前图像和对应的当前镜像图像之间的镜像关系为:

14、yt=φ(xt)=log(xt+1)-log(1-xt)

15、其中,t为当前时间步,xt为当前图像,yt为当前镜像图像,φ(xt)为镜像关系。

16、可选的,下一个时间步的第一镜像图像其中,t为当前时间步,χ为高斯噪声,ε为步长,g(xt)表示一个与图像范围有关的修正函数,它的特点是在范围边界取值为0。

17、可选的,所述第一镜像图像和其对应的第一图像的镜像关系为yt+1=φ(xt+1),第一镜像图像yt+1对应的第一图像xt+1=φ-1(yt+1)。

18、可选的,所述根据所述目标时间步和所述n个子训练图像组得到训练图像的步骤,包括:根据所述目标时间步,分别从每个子训练图像组中获取与所述目标时间步对应的一个子训练目标图像,进而得到n个子训练目标图像,其中,所述训练图像包括所述n个子训练目标图像。

19、可选的,所述根据所述训练图像对第一网络模型进行训练的步骤,包括:将所述n个子训练目标图像中的一个和所述目标时间步输入到所述第一网络模型;基于第一损失对所述第一网络模型进行训练,通过训练使第一网络模型对应的函数与所述扩散模型的得分函数近似。

20、可选的,所述第一损失为:

21、

22、其中,表示所述n个子训练目标图像中的对应时间步t的第i个子训练目标图像,表示所述第一网络模型对应的函数,θ为所述第一网络模型的参数。

23、根据本发明的又一个方面,提供一种基于扩散模型的图像生成方法,包括:利用所述扩散模型在镜像空间进行去噪处理得到输出图像;其中,所述扩散模型是通过上述的训练方法训练得到的。

24、可选的,所述利用所述扩散模型在镜像空间进行去噪处理得到输出图像的步骤,包括:

25、s210:获取初始噪声图像,从所述初始噪声图像开始更新当前噪声图像;

26、s220:根据更新后的当前噪声图像和其对应的当前镜像噪声图像的镜像关系获得所述当前镜像噪声图像;

27、s230:对所述当前镜像噪声图像进行去噪得到上一个时间步的第一镜像噪声图像;

28、s240:根据所述第一镜像噪声图像和其对应的第一噪声图像的镜像关系获取所述第一噪声图像;

29、s250:判断所述第一噪声图像对应的时间步是否为第二目标时间步;如果是,则将所述第一噪声图像作为输出图像;如果否,则对当前噪声图像进行更新,将所述第一噪声图像作为更新后的当前噪声图像,然后继续进行s220、s230、s240、s250的步骤。

30、可选的,更新后的当前噪声图像和其对应的当前镜像噪声图像的镜像关系为:

31、y′t=φ(x′t)=log(x′t+1)-log(1-x′t)

32、其中,x′t为更新后的当前噪声图像,y′t为当前镜像噪声图像,t为当前时间步。

33、可选的,上一个时间步的第一镜像噪声图像y′t-1为:

34、

35、其中,χ为高斯噪声,ε为步长,表示时间步t-t时的得分函数,g(x′t)表示一个与图像范围有关的修正函数,它的特点是在范围边界取值为0。

36、可选的,第一镜像噪声图像和其对应的第一噪声图像的镜像关系为y′t-1=φ(x′t-1),第一镜像噪声图像y′t-1对应的第一噪声图像为x′t-1=φ-1(y′t-1)。

37、根据本发明的又一个方面,提供一种扩散模型的训练装置,包括:目标时间步确定模块,用于确定目标时间步;训练图像获取模块,用于根据所述目标时间步在镜像空间内进行加噪处理得到训练图像;训练模块,用于根据训练图像对第一网络模型进行训练。

38、根据本发明的又一个方面,提供一种基于扩散模型的图像生成装置,包括:去噪模块,用于利用所述扩散模型在镜像空间进行去噪处理得到输出图像;其中,所述扩散模型是通过上述的训练方法训练得到的。

39、根据本发明的又一个方面,提供一种电子设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行上述的训练方法或权利要求上述的图像生成方法的指令。

40、根据本发明的又一个方面,提供一种存储有程序指令的可读存储介质,其特征在于,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行上述的训练方法或上述的图像生成方法。

41、本发明实施例的一种扩散模型的训练方法,包括:确定目标时间步;根据目标时间步在镜像空间内进行加噪处理得到训练图像;根据训练图像对第一网络模型进行训练。该训练方法将在受限空间的图像变换为镜像图像,这样镜像图像不再位于受限区域,就无需处理溢出问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1