本说明书涉及使用神经网络以条件输入(conditioning input)为条件生成输出。
背景技术:
1、神经网络是机器学习模型,它采用一层或多层非线性单元来针对接收到的输入预测输出。一些神经网络除了输出层之外还包括一个或多个隐藏层。每个隐藏层的输出用作对于网络中一个或多个其他层——即,一个或多个其他隐藏层、输出层或两者——的输入。网络的每一层根据相应参数集的当前值从接收到的输入生成输出。
技术实现思路
1、本说明书描述了一种在一个或多个位置的一个或多个计算机上实现为计算机程序的系统,该系统训练扩散神经网络以生成训练网络输出。
2、一般而言,条件输入表征网络输出的一个或多个期望属性,即表征由系统生成的最终网络输出应具有的一个或多个属性。
3、更具体地说,该系统使用扩散神经网络生成网络输出。
4、该系统可以修改对扩散神经网络的训练、对训练后的扩散神经网络的输入、或两者,以提高由扩散神经网络生成的网络输出的质量。
5、可以实现本说明书中描述的主题的特定实施例以便实现以下优点中的一个或多个。
6、本说明书描述了用于改进扩散神经网络在生成输出——例如生成图像、音频或视频——方面的性能的技术。特别地,本说明书描述了作为扩散神经网络的训练的一部分的、对应用于训练网络输出的噪声进行修改的技术。也就是说,本说明书描述了用于修改用于扩散神经网络的训练的噪声调度(noise scheduling)策略,以便改进由训练后的扩散神经网络生成的网络输出的质量的技术。
7、特别是,不同的噪声调度(different noise schedules)可以极大地影响扩散神经网络的性能,并且最优噪声调度可以取决于任务(例如,取决于需要由扩散神经网络生成的网络输出的大小)。例如,当增加图像大小时,由于像素冗余增加,最优噪声调度会移向噪声较大的调度。因此,不同的任务可以从不同的噪声调度中受益。
8、为了缓解这些问题并改进性能,本说明书描述了用于按标度因子缩放输入数据的技术。本说明书还描述了在训练期间使用线性噪声调度的技术。通过应用这些修改之一或两者,系统可以显著改进扩散神经网络的训练,从而改进训练后的神经网络的操作。可选地,对于扩散神经网络的输入也可以在被扩散神经网络处理之前被归一化,减轻缩放因子对由模型处理的输入的方差的影响并进一步改进训练质量。
9、在附图和下面的描述中阐述了本说明书的主题的一个或多个实施例的细节。本主题的其他特征、方面和优点将从说明书、附图和权利要求中变得显而易见。
1.一种训练扩散神经网络的方法,所述方法包括:
2.根据权利要求1所述的方法,其中,使用所述扩散神经网络处理包括(i)所述新的噪声网络输出和(ii)指定所采样的时间步长的数据的新的扩散输入,以生成定义所采样的时间步长的所述新的噪声分量的估计的新的扩散输出,包括:
3.根据权利要求1所述的方法,其中,通过根据不等于1的缩放因子和取决于所采样的时间步长的噪声调度来组合所述训练网络输出和所述新的噪声分量来生成新的噪声网络输出包括生成满足以下项的新的噪声网络输出xt:
4.根据权利要求3所述的方法,其中,γ(t)=1-t。
5.根据权利要求1所述的方法,其中,所述噪声调度是余弦调度或s形调度。
6.根据权利要求1所述的方法,其中,所述一个或多个训练网络输出是图像。
7.根据权利要求1所述的方法,其中,每个训练网络输出与条件输入相关联,并且其中,所述新的扩散输入包括与所述训练网络输出相关联的所述条件输入的表示。
8.根据权利要求7所述的方法,其中,所述条件输入是文本提示。
9.根据权利要求1-8中任一项所述的方法,进一步包括:
10.根据权利要求9所述的方法,其中,归一化当前网络输出包括基于当前网络输出的方差来归一化当前网络输出。
11.一种系统,包括:
12.存储指令的一个或多个非暂时性计算机存储介质,所述指令在由一个或多个计算机执行时使所述一个或多个计算机执行根据权利要求1-10中任一项所述的方法的操作。