基于关注的图像生成神经网络制造技术

技术编号:21061101 阅读:34 留言:0更新日期:2019-05-08 07:29
本申请涉及基于关注的图像生成神经网络。用于生成输出图像的方法、系统和装置,包括在计算机存储介质上编码的计算机程序。在一个方面,所述方法之一包括通过根据来自输出图像的像素‑颜色通道对的生成次序的强度值生成输出图像强度值,包括对于生成次序中的每个特定生成次序位置:生成当前输出图像的当前输出图像表示,使用解码器神经网络处理当前输出图像表示,以生成在特定生成次序位置处的像素‑颜色通道对的可能强度值的概率分布,其中,解码器神经网络包括一个或更多局部掩蔽自我关注子层;并使用概率分布选择在特定生成次序位置处的像素‑颜色通道对的强度值。

Image Generation Neural Network Based on Concern

【技术实现步骤摘要】
基于关注的图像生成神经网络
本说明书涉及使用神经网络生成图像。
技术介绍
神经网络是机器学习模型,其使用一个或多个非线性单元层来预测对于所接收输入而言的输出。除了输出层之外,一些神经网络还包括一个或多个隐藏层。每个隐藏层的输出用作对于在网络中下一层即下一个隐藏层或输出层的输入。网络的每个层根据相应参数集的当前值从接收的输入生成输出。
技术实现思路
本说明书描述了实现为在一个或多个位置中的一个或多个计算机上的计算机程序的系统,其生成输出图像。特别地,系统使用基于关注(attention)的解码器神经网络生成输出图像。本说明书中描述的主题可以在特定实施例中实现,以便实现以下优点中的一个或多个。已经示出基于关注的神经网络在序列处理任务上执行良好,该任务例如是涉及处理顺序输入、自动回归地生成次序输出或两者的任务。然而,对于在给定输出或输入序列中的每个位置,基于关注的神经网络中的自我关注(self-attention)层关注(至少)序列中的所有先前位置。这使得基于关注的神经网络难以应用于需要生成输出图像的任务。虽然图像可以表示为颜色值的序列,但图像由大量颜色值组成。例如,32x32x3(RGB)图像具有超过3,000个颜色值,从而产生非常长的序列表示。另外,图像具有二维(并且对于彩色图像,三维)结构,其难以表示为一维序列。所描述的技术允许由基于关注的神经网络通过下述方式有效地生成图像:(i)有效地表示由神经网络处理的图像,以及(ii)修改应用于神经网络中的自我关注层的自我关注方案。因为这一点,用于生成图像的神经网络生成高质量图像,并且即使在生成大图像时也是在计算上有效的,即,不消耗过多的处理能力或存储器。另外,因为神经网络仍然是基于关注的,所以可以有效地并行化神经网络(以及在某些情况下推断)的训练,减少训练神经网络所需的计算资源和时间的量。在附图和以下描述中阐述了本说明书中描述的主题的一个或多个实施例的细节。根据说明书、附图和权利要求,本主题的其他特征、方面和优点将变得显而易见。附图说明图1示出了示例神经网络系统。图2A是示出由解码器神经网络的子网中的关注子层应用的关注机制的图。图2B示出了局部1D关注方案和局部2D关注方案。图3是用于生成输出图像的示例过程的流程图。各附图中相似的附图标号和名称表示相似的元件。具体实施方式本说明书描述了实现为在一个或多个位置中的一个或多个计算机上的计算机程序的系统,其生成输出图像。输出图像包括以二维映射排列的多个像素,每个像素对于多个颜色通道中的每一个具有相应的强度值。例如,图像可以是每个像素具有三个颜色通道的RGB图像:红色、绿色和蓝色。特别地,系统在多个时间步长上自动回归地生成输出图像,每个时间步长一个强度值。具体地,系统根据生成次序对输出图像中的像素-颜色通道对进行排序,并以下述部分为条件在每个时间步长处生成特定像素(特定颜色通道-特定像素对)的特定颜色通道的强度值:(i)已经从输出图像生成的强度值,即,在生成次序中在特定对之前的对的强度值,并且可选地,(ii)条件输入的表示。例如,条件输入可以识别生成的输出图像应该属于的图像类,即对象类。作为另一个示例,条件输入可以是文本说明,即描述图像内容的文本序列,并且输出图像可以是由文本说明准确描述的图像。作为另一示例,条件输入可以是较低分辨率图像,并且输出图像可以是较低分辨率图像的较高分辨率版本。作为另一示例,条件输入可以是来自源域的图像,并且输出图像可以是来自不同目标域的图像。图1示出了示例性神经网络系统100。神经网络系统100是实现为在一个或多个位置中的一个或多个计算机上的计算机程序的系统的示例,其中,可以实现下面描述的系统、组件和技术。神经网络系统100生成输出图像152。在一些情况下,输出图像152的生成是无条件的,即,神经网络系统100生成与训练期间看到的图像类似的图像。在一些其他情况下,输出图像的生成以条件输入102为条件。以上描述了条件输入102的各种示例。特别地,神经网络系统100使用解码器神经网络150在多个时间步长上自动回归地生成输出图像,每个时间步长一个强度值。即,系统以下述部分为条件在每个时间步长生成特定像素的特定颜色通道(通道-像素对或像素-通道对)的强度值:(i)已经从输出图像生成的强度值,以及,当使用时,(ii)条件输入102的表示。即,系统100根据生成次序对输出图像中的像素-颜色通道对进行排序,并且然后按生成次序逐位置生成强度值。在每个时间步长,神经网络系统100生成当前输出图像的表示104,即已经生成的强度值的表示104,并使用解码器神经网络150处理表示104以生成在输出图像中的下一个强度值,即生成在生成次序中的下一个通道-像素对的强度值。如下面将更详细描述的,在一些情况下,系统100还将条件输入102的表示编码为表示104的一部分。在一些其他情况下,系统100使用编码器神经网络110对条件输入102进行编码,以生成条件输入102的顺序条件表示,其包括在顺序条件表示中的每个输入位置处的相应编码向量。在这些实施方式中,解码器神经网络150还在每个时间步长处理顺序条件表示。在一些实施方式中,系统100通过将每个已经生成的强度值表示为d维嵌入向量来生成输出图像的表示104。对于宽度为w和高度为h的图像,系统然后组合宽度和通道尺寸,产生具有形状[h,w·3,d]的三维输入表示张量。系统100可以在张量中使用占位符值表示尚未生成的强度。在一些实施方式中,在通道之间共享嵌入,相同的强度值接收相同的嵌入,而不管它用于哪个颜色通道。在其他实施方式中,每个通道维护特定嵌入的集合。在一些其它实施方式中,系统100通过在输出图像上应用1x3窗口大小、1x3跨步卷积以每个像素组合3个通道以形成具有形状[h,w,d]的输入表示张量,来生成输出图像的表示104(占位符值用于尚未生成的强度值)。一旦已经生成了输入表示张量,系统100就将输出图像中对应的像素-颜色通道对的坐标的d维编码添加到输入张量中的每个空间位置。在一些情况下,在解码器神经网络150的训练期间学习这些嵌入。在其他情况下,嵌入可以是坐标的正弦和余弦函数,不同频率跨越不同维度。这种函数的一个示例是:其中,pos是位置,i是位置嵌入中的维度,并且dmodel是位置嵌入的维度。在任一种情况下,每个嵌入的维度的d/2编码通道像素对的行编号,而维度的另一个d/2编码通道像素对的列和特定颜色通道。得到的张量将被称为位置增强张量。在一些实施方式中,系统100使用位置增强张量作为输入表示104。在其他实施方式中,系统100将条件输入104的表示添加到位置增强张量中的每个空间位置,其中,条件输入的表示也是d维向量。例如,当条件输入是图像类时,系统可以将图像类表示为d维向量,并将该d维向量添加到张量中的每个空间位置。作为另一个示例,在条件输入是字幕文本的情况下,系统可以将字幕文本表示为d维向量,例如,表示为字包嵌入或文本中的字的嵌入的其他组合。在其中条件输入104的表示未包含在输入表示104中的实施方式中,系统100还在每个时间步长提供条件输入104的顺序表示作为对解码器神经网络150的输入。对于给定的生成时间步长,解码器神经网络150生成输出,该输出定义了以表示本文档来自技高网...

【技术保护点】
1.一种自动回归地生成输出图像的方法,所述输出图像包括以二维映射排列的多个像素,每个像素具有用于多个颜色通道中的每一个颜色通道的相应颜色值,并且所述方法包括:通过根据来自所述输出图像的像素‑颜色通道对的生成次序的强度值生成所述输出图像强度值,包括对于所述生成次序中的每个特定生成次序位置:生成当前输出图像的当前输出图像表示,其中,所述当前输出图像包括对于在生成次序中的所述特定生成次序位置之前的生成次序位置处的像素‑颜色通道对的已经生成的强度值;使用解码器神经网络处理所述当前输出图像表示,以生成在所述特定生成次序位置处的所述像素‑颜色通道对的可能强度值的概率分布,其中,所述解码器神经网络包括解码器子网序列,每个解码器子网包括解码器自我关注子层,所述解码器自我关注子层被配置为针对每个特定生成次序位置:接收在所述特定生成次序位置之前的每个生成次序位置的输入,并且对于每个所述特定生成次序位置:使用从在所述特定生成次序位置处的所述输入导出的一个或多个查询,在所述特定生成次序位置之前的所述生成次序位置处的输入上应用掩蔽的局部关注机制,以生成所述特定生成次序位置的更新表示;以及使用所述概率分布选择在所述特定生成次序位置处的所述像素‑颜色通道对的强度值。...

【技术特征摘要】
2017.10.27 US 62/578,3901.一种自动回归地生成输出图像的方法,所述输出图像包括以二维映射排列的多个像素,每个像素具有用于多个颜色通道中的每一个颜色通道的相应颜色值,并且所述方法包括:通过根据来自所述输出图像的像素-颜色通道对的生成次序的强度值生成所述输出图像强度值,包括对于所述生成次序中的每个特定生成次序位置:生成当前输出图像的当前输出图像表示,其中,所述当前输出图像包括对于在生成次序中的所述特定生成次序位置之前的生成次序位置处的像素-颜色通道对的已经生成的强度值;使用解码器神经网络处理所述当前输出图像表示,以生成在所述特定生成次序位置处的所述像素-颜色通道对的可能强度值的概率分布,其中,所述解码器神经网络包括解码器子网序列,每个解码器子网包括解码器自我关注子层,所述解码器自我关注子层被配置为针对每个特定生成次序位置:接收在所述特定生成次序位置之前的每个生成次序位置的输入,并且对于每个所述特定生成次序位置:使用从在所述特定生成次序位置处的所述输入导出的一个或多个查询,在所述特定生成次序位置之前的所述生成次序位置处的输入上应用掩蔽的局部关注机制,以生成所述特定生成次序位置的更新表示;以及使用所述概率分布选择在所述特定生成次序位置处的所述像素-颜色通道对的强度值。2.根据权利要求1所述的方法,其中,生成所述输出图像以条件输入为条件,并且其中,生成当前输出图像的当前输出图像表示包括:用所述条件输入的表示来增强所述当前输出图像表示。3.根据权利要求1所述的方法,其中,生成所述输出图像以条件输入为条件,并且其中,生成当前输出图像的当前输出图像表示包括:使用编码器神经网络处理所述条件输入以生成包括在多个条件表示位置中的每一个条件表示位置处的相应编码向量的顺序条件表示;以及其中,使用所述解码器神经网络处理所述当前输出图像表示包括:使用所述解码器神经网络处理所述当前输出图像表示和所述顺序条件表示。4.根据权利要求3所述的方法,其中,每个解码器子网包括:编码器-解码器关注子层,所述编码器-解码器关注子层被配置为针对每个特定生成次序位置:接收在所述特定生成次序位置之前的每个生成次序位置的输入,并且对于所述生成次序位置中的每个生成次序位置:使用从所述生成次序位置的所述输入导出的一个或多个查询,对在所述条件表示位置处的所述编码向量应用关注机制,以生成用于所述生成次序位置的更新表示。5.根据前述权利要求中任一项所述的方法,其中,所述解码器子网中的至少一个解码器子网包括:逐个位置前馈层,所述逐个位置前馈层被配置为对于每个特定生成次序位置:对于所述特定生成次序位置之前的每个生成次序位置:接收在所述生成次序位置处的输入,并且对在所述生成次序位置处的所述输入应用变换序列,以生成用于所述生成次序位置的输出。6.根据权利要求5所述的方法,其中,所述序列包括由激励函数分开的两个学习的线性变换。7.根据权利要求5或6中任一项所述的方法,其中,所述至少一个解码器子网还包括:剩余连接层,所述剩余连接层将所述逐个位置前馈层的输出与所述逐个位置前馈层的输入组合以生成剩余输出,以及层标准化层,所述层标准化层对所述剩余输出应用层标准化。8.根据权利要求3所述的方法,其中,每个编码器-解码器关注子层包括多个编码器-解码器关注层,并且其中,每个编码器-解码器关注层被配置为,对于每个特定生成次序位置:对在所述特定生成次序位置之前的每个生成次序位置处的所述输入应用学习的查询线性变换,以生成每个生成次序位置的相应查询,对在每个条件位置处的每个编码表示应用学习的键线性变换,以生成每个输入位置的相应的键,对在每个条件位置处的每个编码表示应用学习的值线性变换,以生成每个输入位置的相应的值,并且对于所述特定生成次序位置之前的每个生成次序位置,通过在所述生成次序位置的所述查询和所述键之间应用比较函数,确定所述条件位置中的每个条件位置的相应输出位置特定权重,以及通过确定由用于所述条件位置的所述相应输出位置特定权重加权的值的加权和,确定所述生成次序位置的初始编码器-解码器关注输出。9.根据权利要求8所述的方...

【专利技术属性】
技术研发人员:诺姆·M·沙泽尔卢卡什·米奇斯瓦夫·凯泽雅各布·D·乌斯克雷特尼基·J·帕马阿希什·泰库·瓦斯瓦尼
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:美国,US

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

1