CN109726794A - 基于关注的图像生成神经网络 - Google Patents
基于关注的图像生成神经网络 Download PDFInfo
- Publication number
- CN109726794A CN109726794A CN201811270464.9A CN201811270464A CN109726794A CN 109726794 A CN109726794 A CN 109726794A CN 201811270464 A CN201811270464 A CN 201811270464A CN 109726794 A CN109726794 A CN 109726794A
- Authority
- CN
- China
- Prior art keywords
- decoder
- sequential location
- concern
- layer
- output image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 49
- 238000000034 method Methods 0.000 claims abstract description 45
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000009826 distribution Methods 0.000 claims abstract description 13
- 238000003860 storage Methods 0.000 claims abstract description 10
- 230000007246 mechanism Effects 0.000 claims description 32
- 230000009466 transformation Effects 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 16
- 238000003780 insertion Methods 0.000 claims description 15
- 230000037431 insertion Effects 0.000 claims description 15
- 239000013598 vector Substances 0.000 claims description 13
- 238000010606 normalization Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 11
- 230000000873 masking effect Effects 0.000 claims description 7
- 230000005284 excitation Effects 0.000 claims description 4
- 230000006399 behavior Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 abstract description 12
- 239000011159 matrix material Substances 0.000 description 20
- 238000012549 training Methods 0.000 description 16
- 210000005036 nerve Anatomy 0.000 description 7
- 244000309464 bull Species 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 241000009334 Singa Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/28—Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4053—Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/56—Extraction of image or video features relating to colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/7715—Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Multimedia (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Probability & Statistics with Applications (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请涉及基于关注的图像生成神经网络。用于生成输出图像的方法、***和装置,包括在计算机存储介质上编码的计算机程序。在一个方面,所述方法之一包括通过根据来自输出图像的像素‑颜色通道对的生成次序的强度值生成输出图像强度值,包括对于生成次序中的每个特定生成次序位置:生成当前输出图像的当前输出图像表示,使用解码器神经网络处理当前输出图像表示,以生成在特定生成次序位置处的像素‑颜色通道对的可能强度值的概率分布,其中,解码器神经网络包括一个或更多局部掩蔽自我关注子层;并使用概率分布选择在特定生成次序位置处的像素‑颜色通道对的强度值。
Description
技术领域
本说明书涉及使用神经网络生成图像。
背景技术
神经网络是机器学习模型,其使用一个或多个非线性单元层来预测对于所接收输入而言的输出。除了输出层之外,一些神经网络还包括一个或多个隐藏层。每个隐藏层的输出用作对于在网络中下一层即下一个隐藏层或输出层的输入。网络的每个层根据相应参数集的当前值从接收的输入生成输出。
发明内容
本说明书描述了实现为在一个或多个位置中的一个或多个计算机上的计算机程序的***,其生成输出图像。特别地,***使用基于关注(attention)的解码器神经网络生成输出图像。
本说明书中描述的主题可以在特定实施例中实现,以便实现以下优点中的一个或多个。
已经示出基于关注的神经网络在序列处理任务上执行良好,该任务例如是涉及处理顺序输入、自动回归地生成次序输出或两者的任务。然而,对于在给定输出或输入序列中的每个位置,基于关注的神经网络中的自我关注(self-attention)层关注(至少)序列中的所有先前位置。这使得基于关注的神经网络难以应用于需要生成输出图像的任务。虽然图像可以表示为颜色值的序列,但图像由大量颜色值组成。例如,32x 32x 3(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生成输出,该输出定义了以表示104(并且,当使用时,顺序条件表示)为条件的生成次序中的给定位置处的通道-像素对的可能强度值的概率分布。然后,***100可以通过从概率分布中采样或通过选择具有最高概率的强度值来选择通道-像素对的强度值。
在一些实施方式中,解码器150生成可能的强度值例如值0到255的分类分布。在其他实施方式中,解码器150生成可能的强度值的逻辑(DMOL)分布的离散化混合。
因为解码器神经网络150是自动回归的,所以在每个生成时间步长,解码器150对在生成时间步长之前已经生成的强度值,即,在生成次序中的对应位置之前的位置处的强度值进行操作。为了确保在推理和训练期间都是这种情况,在每个生成时间步长,解码器神经网络150掩蔽(mask)某些操作,使得位置只能关注直到并包括生成次序中的该位置的位置(而不是后续位置)。
解码器神经网络150包括解码器子网序列170、线性层180和softmax层190。具体上,如图1中所示,解码器神经网络包括N个解码器子网170。
每个解码器子网170被配置为在每个生成时间步长,接收在生成次序中的对应位置之前的每个位置的相应的解码器子网输入,并生成对应位置之前的每个位置的相应的解码器子网输出。
具体地,每个解码器子网170包括至少一种关注子层:解码器自我关注子层172。当对解码器的输入包括顺序条件表示时,每个解码器子网170还包括编码器-解码器关注子层174。
每个解码器自我关注子层172被配置为在每个生成时间步长接收对应的生成次序位置之前的每个特定生成次序位置的输入,并且对于每个特定生成次序位置,使用从特定生成次序位置处的输入导出的一个或多个查询,在对应位置之前的生成次序位置处的输入上应用关注机制,以生成特定生成次序位置的更新表示。也就是说,解码器自我关注子层172应用被掩蔽的关注机制,使得它不会关注或否则处理不在生成次序中当前位置之前的位置处的任何数据。
另一方面,每个编码器-解码器关注子层174被配置为在每个生成时间步长接收对应的生成次序位置之前的每个生成次序位置的输入,并且对于每个生成次序位置,使用从生成次序位置的输入导出的一个或多个查询,在输入位置(在顺序条件表示中)的编码表示上应用关注机制,以生成生成次序位置的更新表示。因此,编码器-解码器关注子层174将关注施加于编码表示,而解码器自我关注子层172将关注施加于生成次序位置处的输入。
通常,至少由解码器自我关注子层172应用的关注机制应用局部自我关注机制,以便考虑输出图像的表示104中的潜在大量的强度值。
下面将参考图2更详细地描述由这些关注子层中的每一个所应用的关注机制。
在图1中,解码器自我关注子层172被示出为在解码器子网170内的处理次序中在编码器-解码器关注子层之前。然而,在其他示例中,解码器自我关注子层172可以在解码器子网170内的处理次序中在编码器-解码器关注子层174之后或者不同的子网可以具有不同的处理次序。
在一些实施方式中,每个解码器子网170在解码器自我关注子层172之后、在编码器-解码器关注子层174之后或者在两个子层中的每一个之后,包括:剩余连接层,其组合关注子层的输出与关注子层的输入以产生剩余输出;以及,层标准化层,其将层标准化应用于剩余输出。图1示出了在两个子层中的每一个之后***这两个层,这两个都被称为“添加和标准化”操作。
解码器子网170中的一些或全部还包括逐个位置前馈层176。具体地,层176被配置为在每个生成时间步长:对于在对应的生成次序位置之前的每个生成次序位置:接收在生成次序位置处的输入,并将变换序列应用于在生成次序位置处的输入,以生成生成次序位置的输出。例如,变换序列可以包括两个或更多个学习的线性变换,每个线性变换由激励函数例如非线性元素激励函数诸如ReLU激励函数分开。由逐个位置前馈层176接收的输入当包括剩余和层标准化层或者最后的输出时,可以是层标准化层(在子网170中的最后一个关注子层之后)的输出,或者当不包括剩余层和层标准化层时,可以是子网170中的最后关注子层的输出。
在解码器子网170包括逐个位置前馈层176的情况下,解码器子网还可以包括:剩余连接层,其将逐个位置前馈层的输出与对于逐个位置前馈层的输入组合,以生成解码器逐个位置剩余输出;以及,层标准化层,其将层标准化应用于解码器逐个位置剩余输出。这两个层在图1中也统称为“添加和标准化”操作。然后,该层标准化层的输出可以用作解码器子网170的输出。
在每个生成时间步长,线性层180将学习的线性变换应用于最后的解码器子网170的输出,以便将最后的解码器子网170的输出投影到适当的空间中以由softmax层190进行处理。然后,softmax层190在线性层180的输出上应用softmax函数,以在生成时间步长处生成可能强度值的概率分布。如上所述,***100然后可以使用概率分布从可能的网络输出中选择强度值。
在一些情况下,***100采用调和(tempered)的softmax而不是传统的softmax,或者用生成强度值的另一适当分布的另一种输出层替换线性层180和softmax 190。
如上所述,在一些情况下,***100使用编码器神经网络110来生成次序条件表示。编码器神经网络110可以是将输入编码为d维向量的序列的任何适当的神经网络110。例如,当条件输入是图像时,编码器神经网络110可以是卷积神经网络。作为另一示例,编码器神经网络110可以是基于自我关注的编码器神经网络,类似于解码器150,但是,因为整个条件输入104在过程开始时可用,所以仅具有未掩蔽的自身关注层。例如,编码器神经网络110可以将输入图像表示为序列并且并行地生成次序表示。当输入图像大时,编码器神经网络110可以采用如下关于解码器150所描述的局部关注。
图2A是示出由解码器神经网络150中的关注子层应用的关注机制的图200。
通常,关注机制将查询和键值对(key-value pair)集合映射到输出,其中,查询、键和值都是向量。输出被计算为值的加权和,其中,由查询的兼容性函数使用对应键计算分配给每个值的权重。
更具体地,每个关注子层应用缩放的点积关注(scaled dot-product attention)机制230。在缩放的点积关注中,对于给定的查询,关注子层用所有键计算查询的点积,将每个点积除以缩放因子(例如,查询和键的维度的平方根),并且然后在缩放的点积上应用softmax函数以获得值的权重。然后,关注子层根据这些权重计算值的加权和。因此,对于缩放的点积关注,兼容性函数是点积,并且兼容性函数的输出通过缩放因子进一步缩放。
在操作中并且如图2的左手侧所示,关注子层同时计算对查询集合的关注。具体地,关注子层将查询打包成矩阵Q,将键打包成矩阵K,并将值打包成矩阵V。为了将向量集合打包到矩阵中,关注子层可以生成包含作为矩阵的列的向量的矩阵。
然后,关注子层在矩阵Q和矩阵K的转置之间执行矩阵乘法(MatMul),以生成兼容性函数输出的矩阵。
然后,关注子层缩放兼容性函数输出矩阵,即,通过将矩阵的每个元素除以缩放因子。
然后,关注子层在缩放的输出矩阵上应用softmax以生成权重矩阵并在权重矩阵和矩阵V之间执行矩阵乘法(MatMul)以生成包括用于每个值的关注机制的输出的输出矩阵。
对于使用掩蔽的子层,即解码器关注子层,关注子层在应用softmax之前掩蔽缩放的输出矩阵。也就是说,关注子层掩蔽掉(设置为负无穷)在缩放输出矩阵中的对应于当前生成次序位置之后的位置的所有值。
在一些实施方式中,为了允许关注子层共同关注来自不同位置处的不同表示子空间的信息,关注子层采用多头关注(multi-head attention),如图2的右侧所示。
特别地,为了实现多头关注,关注子层并行地应用h个不同的关注机制。换句话说,关注子层包括h个不同的关注层,同一关注子层内的每个关注层接收相同的原始查询Q、原始键K和原始值V。
每个关注层被配置为使用学习的线性变换来变换原始查询、键和值,并且然后将关注机制230应用于变换后的查询、键和值。每个关注层通常将在同一关注子层中学习从彼此关注层的不同变换。
特别地,每个关注层被配置为将学习的查询线性变换应用于每个原始查询以针对每个原始查询生成层特定的查询,将学习的关键线性变换应用于每个原始键以为每个原始键生成层特定的键,并将学习的值线性变换应用于每个原始值,以为每个原始值生成层特定的值。然后,关注层使用这些层特定的查询、键和值来应用上述关注机制,以生成关注层的初始输出。
然后,关注子层组合关注层的初始输出以生成关注子层的最终输出。如图2所示,关注子层串接(concat)关注层的输出,并将学习的线性变换应用于串接的输出,以生成关注子层的输出。
在一些情况下,由关注子层应用的学习的变换减少了原始键和值以及可选地查询的维度。例如,当原始键、值和查询的维度为d并且在子层中存在h个关注层时,子层可以将原始键、值和查询的维度降低到d/h。这使得多头关注机制的计算成本保持类似于以全维度执行一次关注机制的成本,同时增加关注子层的代表性容量。
虽然每个关注子层应用的关注机制是相同的,但是查询、键和值对于不同类型的关注是不同的。也就是说,不同类型的关注子层对于由关注子层作为输入接收的原始查询、键和值使用不同的源。
当关注子层是解码器自我关注子层时,解码器中的每个位置都关注在该位置之前的解码器中的所有位置。因此,所有的键、值和查询来自相同的地方,在这种情况下,是解码器中先前子网的输出,或者,对于第一解码器子网中的解码器自我关注子层而言,是在表示104中的嵌入。因此,对于当前位置之前的生成次序中的每个位置存在相应的键、值和查询。
当关注子层是编码器-解码器关注子层时,查询来自解码器中的先前组件,并且键和值来自编码器的输出,即来自编码器生成的编码表示。这允许解码器中的每个位置关注在输入序列中的所有位置。因此,对于当前位置之前的生成次序中的每个位置存在各自的相应查询,并且对于在顺序条件表示中的每个位置存在相应值。
更详细地,当关注子层是解码器自我关注子层时,解码器自我关注子层被配置为在每个生成时间步长:接收在对应的生成次序位置之前的每个生成次序位置的输入,并且对于每个特定生成次序位置,使用从在特定生成次序位置处的输入导出的一个或多个查询,在对应位置之前的生成次序位置处的输入上应用关注机制,以生成特定生成次序位置的更新的表示。
当解码器自我关注子层实现多头关注时,每个关注层被配置为在每个生成时间步长,将学习的查询线性变换应用于在在对应的生成次序位置之前的每个生成次序位置处的输入,以生成每个生成次序位置的相应查询,将学习的键线性变换应用于在对应的生成次序位置之前的每个生成次序位置处的每个输入,以生成每个生成次序位置的相应键,对对应的生成次序位置之前的每个生成次序位置处的每个输入应用学习的值线性变换,以生成每个生成次序位置的相应键,并且然后使用查询、键和值应用关注机制(即,上述的缩放点积关注机制)以确定每个生成次序位置的初始解码器自我关注输出。然后,子层如上所述组合关注层的初始输出。
当关注子层是编码器-解码器关注子层时,编码器-解码器关注子层被配置为在每个生成时间步长:接收对应的生成次序位置之前的每个生成次序位置的输入,并且对于每个生成次序位置,使用从生成次序位置的输入导出的一个或多个查询,对在输入位置处编码表示应用关注机制,以生成生成次序位置的更新表示。
当编码器-解码器关注子层实现多头关注时,每个关注层被配置为在每个生成时间步长:将学习的查询线性变换应用于在对应的生成次序位置之前的每个生成次序位置处的输入以生成每个生成次序位置的相应查询,将学习的键线性变换应用于每个输入位置处的每个编码表示以生成每个输入位置的相应键,将学习的值线性变换应用于每个输入位置处的每个编码表示以生成每个输入位置的相应值,并且然后使用查询、键和值应用关注机制(即,上述的缩放点积关注机制)以确定每个输入位置的初始编码器-解码器关注输出。然后,子层如上所述组合关注层的初始输出。
然而,为了考虑当前表示中可能大量的强度值,至少解码器自我关注层实现掩蔽的局部自我关注。在掩盖的局部自我关注中,给定位置所关注的位置的数量是固定的,即,使得并非所有位置都关注所有先前的位置。
特别地,局部自我关注机制执行上述相同的操作,除了机制对于给定位置关注的先前位置的数量受到约束。换句话说,矩阵K和V中的列数被固定为小于强度值的数量的数量。
更具体地,自我关注层(或更一般地,***)将输出图像划分为多个非重叠查询块,每个查询块包括多个像素-颜色通道对。每个查询块与存储块相关联,存储块包括查询块和多个像素-颜色通道对,所述多个像素-颜色通道对在查询块中的像素-颜色通道对之前即在生成次序中的查询块之前的时间步长处生成。存储块还可以包括在生成次序中的查询块之后的附加像素-颜色通道对。查询块中的每个像素-颜色通道对与相同的存储块相关联,即,使得存储块对于多个像素-颜色通道对是相同的,并且对于整个查询块的过程是恒定的。
局部自我关注机制执行上述操作,除了对于每个像素-颜色通道对,自我关注机制仅关注该对所属的查询块的存储块中的像素-颜色通道对。在查询块内,如上所述掩蔽关注机制,以防止关注在查询块和存储块中的任何未来的、尚未生成的像素-颜色通道对。
下面参考图2B描述用于将表示划分为查询块和存储块的示例技术。
图2B示出了局部1D关注方案250和局部2D关注方案270。
方案250和270都示出了部分生成的输出图像(即,从“生成次序中某个特定位置起的“当前输出图像”),“q”表示生成的最后一个像素。也就是说,在图2B的示例中,已经生成的最后强度值是像素q的B通道的强度值,并且要生成的当前强度是图像中像素q右侧的像素的通道R。
对于局部1D关注250,***以光栅扫描(raster-scan)次序平坦化(flatten)输入张量以生成线性化图像。然后,***将线性化图像的长度划分为固定长度的非重叠查询块,必要时用零填充。对于每个查询块,***将(i)查询块内的位置以及(ii)对应于之前即在光栅扫描次序中的查询块之前已生成的像素-颜色通道对的附加l位置,指定为存储块M。因此,如在示例250中可以看到的,用于所描绘的查询块的存储块包括来自在图像内在光栅扫描次序中的查询块之前固定数量的像素的像素-颜色通道对。
对于局部2D关注270,***将表示划分为在原始图像空间中连续的矩形查询块。然后,在一个接一个的查询块中生成输出图像,以光栅扫描次序对块进行排序。在每个块内,该层再次以光栅扫描次序生成单独的位置或像素通道。如方案270中所示,该层生成从左到右和从上到下以灰线勾画的块。特别地,每个查询块是由高度和宽度指定的大小为lq的二维查询块lq=wq·hq,并且对应的存储块分别将查询块向顶部、左侧和右侧延伸hm、wm和再次wm像素。因此,每个查询块的存储块将查询块延伸一个或多个像素到图像中的顶部、图像中的左侧和图像中的右侧。
解码器神经网络内的每个关注层使用相同的局部关注方案,即,1D或2D关注。
因此,从图2B中的示例可以看出,***生成查询块的方式确定图像中像素-颜色通道对的生成次序。具体地,查询块是有序的,并且生成次序逐个查询块进行,即,在生成的查询块之后的查询块中的任何对之前生成在每个查询块中的所有对。
图3是用于生成输出图像的示例过程300的流程图。为方便起见,过程300将被描述为由位于一个或多个位置的一个或多个计算机的***执行。例如,根据本说明书适当编程的神经网络***例如图1的神经网络***100可以执行过程300。
***可以在多个生成时间步长中的每一个处执行过程300以生成输出图像,其中,每个位置与输出图像的生成次序对应。换句话说,***对生成次序中的每个位置执行过程300。
***生成当前输出图像的表示,该表示包括在生成次序中当前位置之前的像素-通道对的强度值,即,包括生成次序中已经生成的强度值(步骤310)。
***使用解码器神经网络处理所生成的表示以生成可能的强度值的概率分布(步骤320)。解码器神经网络被配置为通过解码器子网、线性层和softmax层的序列来处理表示(并且在一些情况下,顺序条件表示)以生成给定输出。在每个解码器子网处,解码器自我关注子层对位于在生成次序中当前位置之前的位置处的解码器自我关注子层的输入执行局部自我关注。当作为输入包括顺序条件表示时,在每个子网处,编码器-解码器子层关注在顺序条件表示中的输入位置处的表示。
***例如通过从分布中采样或选择具有最高概率的强度值而从概率分布中选择强度值作为输出图像中的像素-通道对的强度值(步骤330)。解码器神经网络被配置为以自动回归方式从编码表示生成输出序列。也就是说,解码器神经网络在每个生成时间步长从输出序列生成一个输出。在生成给定输出的给定生成时间步长,***通过解码器中的嵌入层处理在输出序列中给定输出之前的输出,以生成嵌入表示。然后,***通过解码器子网、线性层和softmax层的序列处理嵌入的表示,以生成给定的输出。因为解码器子网包括编码器-解码器关注子层以及解码器自我关注子层,所以解码器在生成给定输出时利用已经生成的输出和编码的表示。
***可以在训练之后,即当不知道应该由***生成的输出图像并且已经确定了解码器神经网络的参数的最终值时执行过程300。
***还可以对训练数据集合中的输出图像即应该由***生成的已知输出图像集合,重复执行过程300以便训练解码器,并且可选地,训练编码器以确定编码器和解码器的参数的训练的值。然而,在训练期间,因为在***开始处理之前已知要生成的输出图像,所以***可以对生成次序中的所有对并行执行生成。也就是说,***可以通过解码器执行单个前向传递,以通过将单个前向传递的表示设置为整个已知输出图像的表示来生成在图像中的每个强度值相应的分布。然后,***可以作为传统机器学***滑或两者来减少过度拟合。作为另一示例,***可以使用分布式架构来执行训练,该分布式架构并行地训练解码器的多个实例。
本说明书使用与***和计算机程序组件相关的术语“被配置”。对于要被配置为执行特定操作或动作的一个或多个计算机的***意味着***已经在其上安装了软件、固件、硬件或它们的组合,其在操作
中使得***执行操作或动作。对于要被配置为执行特定操作或动作的一个或多个计算机程序意味着一个或多个程序包括当由数据处理装置执行时使所述装置执行所述操作或动作的指令。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路中、在有形体现的计算机软件或固件中、在计算机硬件包括本说明书中公开的结构及其结构等同物或者它们的一个或多个的组合中实现。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即,在有形非暂时性存储介质上编码的一个或多个计算机程序指令模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备或它们中的一个或多个的组合。可替代地或补充地,程序指令可以在诸如机器生成的电、光或电磁信号人工生成的传播信号上编码,该信号被生成以编码信息以便传输到合适的接收器设备以由数据处理装置执行。
术语“数据处理装置”指的是数据处理硬件并且包括用于处理数据的所有类型的装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。该装置还可以是或者进一步包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理***、操作***或者它们的一个或多个的组合的代码。
可以用任何形式的编程语言编写也可以被称为或描述为程序、软件、软件应用、app、模块、软件模块、脚本或代码的计算机程序,所述编程语言包括编译或解释性语言或声明性或程序性语言;并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子程序或适用于计算环境的其他单元。程序可以但不必对应于文件***中的文件。程序可以存储在保存其他程序或数据的文件的一部分中,例如,存储在标记语言文档中的一个或多个脚本中、专用于所讨论的程序的单个文件中或者多个协调文件中,协调文件例如是存储一个或多个模块、子程序或代码部分的文件。可以部署计算机程序以在一个计算机上或在位于一个站点上或分布在多个站点上并通过数据通信网络互连的多个计算机上执行。
在本说明书中,术语“数据库”广义用于指代任何数据集合:数据不需要以任何特定方式构造或根本不构造,并且其可以在一个或多个位置的存储设备上存储。因此,例如,索引数据库可以包括多个数据集合,每个数据集合可以被不同地组织和访问。
类似地,在本说明书中,术语“引擎”广义用于指代被编程为执行一个或多个特定功能的基于软件的***、子***或过程。通常,引擎将被实现为安装在一个或多个位置中的一个或多个计算机上的一个或多个软件模块或组件。在某些情况下,一台或多台计算机将专用于特定引擎;在其他情况下,可以在相同的一个计算机或多个计算机上安装和运行多个引擎。
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过对输入数据进行操作并生成输出来执行功能。所述过程和逻辑流程也可以由专用逻辑电路例如FPGA或ASIC或专用逻辑电路和一个或多个编程计算机的组合来执行。
适合于执行计算机程序的计算机可以基于通用或专用微处理器或两者,或任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路补充或并入其中。通常,计算机还将包括一个或多个大容量存储设备或可操作地耦合以从一个或多个大容量存储设备接收数据或将数据传输到一个或多个大容量存储设备,所述一个或多个大容量存储设备用于存储数据,例如是磁盘、磁光盘或光盘。但是,计算机不需要具有这样的设备。此外,计算机可以嵌入在另一个设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位***(GPS)接收器或便携式存储设备例如通用串行总线(USB)闪存驱动器,此处仅举几例。
适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如:半导体存储器设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动磁盘;磁光盘;以及,CD ROM和DVD-ROM盘。
为了提供与用户的交互,本说明书中描述的主题的实施例可以实现在计算机上,该计算机具有:显示设备例如CRT(阴极射线管)或LCD(液晶显示器)监视器,用于向用户显示信息和键盘;以及,指示设备,例如鼠标或轨迹球,用户可以通过该指示设备向计算机提供输入。其他类型的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,该任何形式包括声音、语音或触觉输入。另外,计算机可以通过下述方式与用户交互:向用户使用的设备发送文档和从用户使用的设备接收文档;例如,通过响应于从用户的客户端设备上的web浏览器接收的请求,将网页发送到该web浏览器。此外,计算机可以通过向个人设备例如运行消息收发应用并且接收作为回复来自用户的响应消息的智能电话发送文本消息或其他形式的消息来与用户交互。
用于实现机器学习模型的数据处理装置还可以包括例如专用硬件加速器单元,用于处理机器学习训练或生产的公共和计算密集部分,即推断、工作负载。
可以使用机器学习框架例如TensorFlow框架、Microsoft认知工具包框架、ApacheSinga框架或Apache MXNet框架来实现和部署机器学习模型。
在本说明书中描述的主题的实施例可以实现在计算***中,该计算***包括诸如作为数据服务器的后端组件,或者包括诸如应用服务器的中间件组件,或者包括诸如具有图形用户界面或Web浏览器的客户端计算机的前端组件,或者包括一个或多个这样的后端、中间件或前端组件的任何组合,用户可以通过该Web浏览器与本说明书中描述的主题的实现交互。***的组件可以通过任何形式或介质的数字数据通信例如通信网络互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),例如因特网。
计算***可以包括客户端和服务器。客户端和服务器通常彼此远离并且通常通过通信网络交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器将数据(例如,HTML页面)发送到用户设备,例如,用于向与作为客户端操作的设备交互的用户显示数据和从其接收用户输入的目的。可以在服务器处从所述设备接收在用户设备处生成的数据,例如,用户交互的结果。
虽然本说明书包含许多具体实施细节,但是这些不应被解释为对任何发明的范围或对所要求保护内容的范围的限制,而是作为可以对特定发明的特定实施例特定的特征的描述。在本说明书中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独地或以任何合适的子组合来实现。此外,虽然特征可以在上面描述为在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合的一个或多个特征在一些情况下可以从组合中删除,并且所要求保护的组合可以涉及子组合或子组合的变体。
类似地,虽然在附图中以特定次序描绘了操作,但是这不应被理解为要求这些操作以所示的特定次序或以顺序次序执行,或者所有所示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种***模块和组件的分离不应被理解为在所有实施例中都需要这样的分离,并且应当理解,所描述的程序组件和***通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
因此,已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中所述的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定次序或顺序次序,以实现期望的结果。在某些实施方式中,多任务和并行处理可以是有利的。
Claims (23)
1.一种自动回归地生成输出图像的方法,所述输出图像包括以二维映射排列的多个像素,每个像素具有用于多个颜色通道中的每一个颜色通道的相应颜色值,并且所述方法包括:
通过根据来自所述输出图像的像素-颜色通道对的生成次序的强度值生成所述输出图像强度值,包括对于所述生成次序中的每个特定生成次序位置:
生成当前输出图像的当前输出图像表示,其中,所述当前输出图像包括对于在生成次序中的所述特定生成次序位置之前的生成次序位置处的像素-颜色通道对的已经生成的强度值;
使用解码器神经网络处理所述当前输出图像表示,以生成在所述特定生成次序位置处的所述像素-颜色通道对的可能强度值的概率分布,其中,所述解码器神经网络包括解码器子网序列,每个解码器子网包括解码器自我关注子层,所述解码器自我关注子层被配置为针对每个特定生成次序位置:
接收在所述特定生成次序位置之前的每个生成次序位置的输入,并且对于每个所述特定生成次序位置:
使用从在所述特定生成次序位置处的所述输入导出的一个或多个查询,在所述特定生成次序位置之前的所述生成次序位置处的输入上应用掩蔽的局部关注机制,以生成所述特定生成次序位置的更新表示;以及
使用所述概率分布选择在所述特定生成次序位置处的所述像素-颜色通道对的强度值。
2.根据权利要求1所述的方法,其中,生成所述输出图像以条件输入为条件,并且其中,生成当前输出图像的当前输出图像表示包括:
用所述条件输入的表示来增强所述当前输出图像表示。
3.根据权利要求1所述的方法,其中,生成所述输出图像以条件输入为条件,并且其中,生成当前输出图像的当前输出图像表示包括:
使用编码器神经网络处理所述条件输入以生成包括在多个条件表示位置中的每一个条件表示位置处的相应编码向量的顺序条件表示;以及
其中,使用所述解码器神经网络处理所述当前输出图像表示包括:使用所述解码器神经网络处理所述当前输出图像表示和所述顺序条件表示。
4.根据权利要求3所述的方法,其中,每个解码器子网包括:
编码器-解码器关注子层,所述编码器-解码器关注子层被配置为针对每个特定生成次序位置:
接收在所述特定生成次序位置之前的每个生成次序位置的输入,并且对于所述生成次序位置中的每个生成次序位置:
使用从所述生成次序位置的所述输入导出的一个或多个查询,对在所述条件表示位置处的所述编码向量应用关注机制,以生成用于所述生成次序位置的更新表示。
5.根据前述权利要求中任一项所述的方法,其中,所述解码器子网中的至少一个解码器子网包括:
逐个位置前馈层,所述逐个位置前馈层被配置为对于每个特定生成次序位置:
对于所述特定生成次序位置之前的每个生成次序位置:
接收在所述生成次序位置处的输入,并且
对在所述生成次序位置处的所述输入应用变换序列,以生成用于所述生成次序位置的输出。
6.根据权利要求5所述的方法,其中,所述序列包括由激励函数分开的两个学习的线性变换。
7.根据权利要求5或6中任一项所述的方法,其中,所述至少一个解码器子网还包括:
剩余连接层,所述剩余连接层将所述逐个位置前馈层的输出与所述逐个位置前馈层的输入组合以生成剩余输出,以及
层标准化层,所述层标准化层对所述剩余输出应用层标准化。
8.根据权利要求3所述的方法,其中,每个编码器-解码器关注子层包括多个编码器-解码器关注层,并且其中,每个编码器-解码器关注层被配置为,对于每个特定生成次序位置:
对在所述特定生成次序位置之前的每个生成次序位置处的所述输入应用学习的查询线性变换,以生成每个生成次序位置的相应查询,
对在每个条件位置处的每个编码表示应用学习的键线性变换,以生成每个输入位置的相应的键,
对在每个条件位置处的每个编码表示应用学习的值线性变换,以生成每个输入位置的相应的值,并且
对于所述特定生成次序位置之前的每个生成次序位置,
通过在所述生成次序位置的所述查询和所述键之间应用比较函数,确定所述条件位置中的每个条件位置的相应输出位置特定权重,以及
通过确定由用于所述条件位置的所述相应输出位置特定权重加权的值的加权和,确定所述生成次序位置的初始编码器-解码器关注输出。
9.根据权利要求8所述的方法,其中,所述编码器-解码器关注子层被配置为,在每个生成时间步长,组合由所述编码器-解码器层生成的所述编码器-解码器关注输出,以生成所述编码器-解码器关注子层的输出。
10.根据权利要求8或9中任一项所述的方法,其中,所述编码器-解码器关注层并行操作。
11.根据权利要求3或8-10中任一项所述的方法,其中,每个解码器子网还包括:
剩余连接层,所述剩余连接层将所述编码器-解码器关注子层的输出与所述编码器-解码器关注子层的输入组合以生成剩余输出,以及
层标准化层,所述层标准化层对所述剩余输出应用层标准化。
12.根据前述权利要求中任一项所述的方法,其中,所述输出图像中的所述像素-颜色通道对被划分为查询块,每个查询块包括多个像素-颜色通道对,其中,所述查询块根据查询块次序排序,并且其中,所述生成输出次序指定所述强度值是根据所述查询块次序逐个查询块生成的。
13.根据权利要求12所述的方法,其中,每个查询块与存储块相关联,所述存储块包括在所述查询块中的所述像素-颜色通道对和多个附加像素-颜色通道对。
14.根据权利要求13所述的方法,其中,应用掩蔽的局部关注机制包括:对于在所述生成输出次序中的每个特定位置:
使用从在所述特定生成次序位置处的所述输入导出的一个或多个查询,仅在与关联于在所述特定位置处的所述像素-颜色通道对的所述查询块的所述存储块中的像素-颜色通道对对应的所述生成次序位置处的所述输入上应用掩蔽的局部关注机制,以生成所述特定生成次序位置的更新表示。
15.根据权利要求14所述的方法,其中,当应用所述掩蔽的局部关注机制时,掩蔽在所述存储块中与尚未生成的像素-颜色通道对相对应的位置。
16.根据权利要求14或15中任一项所述的方法,其中,每个解码器局部自我关注子层包括多个解码器自我关注层,并且其中,每个解码器自我关注层被配置为在每个特定查询位置:
对在所述存储块中每个生成次序位置处的输入应用学习的查询线性变换,以生成每个生成次序位置的相应查询,
对在所述存储块中每个生成次序位置处的每个输入应用学习的键线性变换,以生成每个生成次序位置的相应键,
对在所述存储块中每个生成次序位置处的每个输入应用学习的值线性变换,以生成每个生成次序位置的相应值,以及
对于所述存储块中的每个生成次序位置,
通过在所述生成次序位置的所述查询和所述键之间应用比较函数,确定所述生成次序位置中的每个生成次序位置的相应输出位置特定权重,以及
通过确定由所述生成次序位置的所述相应输出位置特定权重加权的值的加权和,确定所述生成次序位置的初始解码器关注输出。
17.根据权利要求16所述的方法,其中,所述解码器自我关注子层被配置为,在每个生成时间步长,组合由所述解码器层生成的所述解码器关注输出,以生成所述解码器关注子层的输出。
18.根据权利要求15或16中任一项所述的方法,其中,所述解码器自我关注层并行操作。
19.根据前述权利要求中任一项所述的方法,其中,每个解码器子网还包括:
剩余连接层,所述剩余连接层将所述解码器自我关注子层的输出与所述解码器自我关注子层的输入组合以生成剩余输出,以及
层标准化层,所述层标准化层对所述剩余输出应用层标准化。
20.根据前述权利要求中任一项所述的方法,其中,生成当前输出图像的当前输出图像表示包括:
将每个已经生成的强度值表示为d维嵌入向量;以及
组合宽度和通道维度以生成具有形状[h,w·3,d]的三维输入表示张量,其中,h是所述输出图像的高度,并且w是所述输出图像的宽度。
21.根据权利要求1-20中任一项所述的方法,其中,生成当前输出图像的表示包括:
在所述当前输出图像上应用1x3窗口大小、1x3跨步卷积以生成具有形状[h,w,d]的输入表示张量,其中,h是所述输出图像的高度,并且w是所述输出图像的宽度,并且d是大于1的固定整数。
22.一种***,包括一个或多个计算机和存储指令的一个或多个存储设备,所述指令在由所述一个或多个计算机执行时使所述一个或多个计算机执行前述权利要求中任一项所述的方法的操作。
23.一个或多个计算机存储介质,所述计算机存储介质存储指令,所述指令在由一个或多个计算机执行时使所述一个或多个计算机执行权利要求1-21中任一项所述的方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410180381.XA CN118194921A (zh) | 2017-10-27 | 2018-10-29 | 基于关注的图像生成神经网络 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762578390P | 2017-10-27 | 2017-10-27 | |
US62/578,390 | 2017-10-27 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410180381.XA Division CN118194921A (zh) | 2017-10-27 | 2018-10-29 | 基于关注的图像生成神经网络 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109726794A true CN109726794A (zh) | 2019-05-07 |
CN109726794B CN109726794B (zh) | 2024-03-12 |
Family
ID=66244818
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811270464.9A Active CN109726794B (zh) | 2017-10-27 | 2018-10-29 | 基于关注的图像生成神经网络 |
CN202410180381.XA Pending CN118194921A (zh) | 2017-10-27 | 2018-10-29 | 基于关注的图像生成神经网络 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410180381.XA Pending CN118194921A (zh) | 2017-10-27 | 2018-10-29 | 基于关注的图像生成神经网络 |
Country Status (2)
Country | Link |
---|---|
US (4) | US10839259B2 (zh) |
CN (2) | CN109726794B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110321961A (zh) * | 2019-07-09 | 2019-10-11 | 北京金山数字娱乐科技有限公司 | 一种数据处理方法及装置 |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11657274B2 (en) * | 2017-11-03 | 2023-05-23 | Siemens Aktiengesellschaft | Weakly-supervised semantic segmentation with self-guidance |
US10929607B2 (en) | 2018-02-22 | 2021-02-23 | Salesforce.Com, Inc. | Dialogue state tracking using a global-local encoder |
US10650230B2 (en) * | 2018-06-13 | 2020-05-12 | Sap Se | Image data extraction using neural networks |
US10878269B2 (en) | 2018-06-19 | 2020-12-29 | Sap Se | Data extraction using neural networks |
US11138392B2 (en) | 2018-07-26 | 2021-10-05 | Google Llc | Machine translation using neural network models |
US10824811B2 (en) | 2018-08-01 | 2020-11-03 | Sap Se | Machine learning data extraction algorithms |
US11295739B2 (en) * | 2018-08-23 | 2022-04-05 | Google Llc | Key phrase spotting |
US10860900B2 (en) * | 2018-10-30 | 2020-12-08 | International Business Machines Corporation | Transforming source distribution to target distribution using Sobolev Descent |
CN109543824B (zh) * | 2018-11-30 | 2023-05-23 | 腾讯科技(深圳)有限公司 | 一种序列模型的处理方法和装置 |
US10901647B2 (en) * | 2019-03-19 | 2021-01-26 | Intel Corporation | Distributed copy engine |
KR20200116763A (ko) * | 2019-04-02 | 2020-10-13 | 삼성전자주식회사 | 키-밸류 커플링을 이용한 유사성 처리 방법 및 장치 |
US10523420B1 (en) * | 2019-04-18 | 2019-12-31 | Capital One Services, Llc | Transmitting encoded data along transmission mediums based on colorspace schemes |
US20220215654A1 (en) * | 2019-05-23 | 2022-07-07 | Google Llc | Fully attentional computer vision |
CN110766955B (zh) * | 2019-09-18 | 2022-08-26 | 平安科技(深圳)有限公司 | 基于动作预测模型的信号调节方法、装置和计算机设备 |
CN112541513B (zh) * | 2019-09-20 | 2023-06-27 | 百度在线网络技术(北京)有限公司 | 一种模型训练方法、装置、设备及存储介质 |
KR20210043995A (ko) * | 2019-10-14 | 2021-04-22 | 삼성전자주식회사 | 모델 학습 방법 및 장치, 및 시퀀스 인식 방법 |
US11829358B2 (en) * | 2019-11-11 | 2023-11-28 | Honeywell International Inc. | Systems and methods for natural language queries |
KR20210071471A (ko) * | 2019-12-06 | 2021-06-16 | 삼성전자주식회사 | 뉴럴 네트워크의 행렬 곱셈 연산을 수행하는 장치 및 방법 |
US10699715B1 (en) * | 2019-12-27 | 2020-06-30 | Alphonso Inc. | Text independent speaker-verification on a media operating system using deep learning on raw waveforms |
US11663488B2 (en) * | 2020-02-13 | 2023-05-30 | The Toronto-Dominion Bank | Initialization of parameters for machine-learned transformer neural network architectures |
CN111427932B (zh) * | 2020-04-02 | 2022-10-04 | 南方科技大学 | 出行预测方法、装置、设备和存储介质 |
US11562590B2 (en) | 2020-05-21 | 2023-01-24 | Sap Se | Real-time data item prediction |
KR20210145490A (ko) | 2020-05-25 | 2021-12-02 | 삼성전자주식회사 | 어텐션 기반 시퀀스 투 시퀀스 모델의 성능 향상 방법 및 장치 |
CN111710008B (zh) * | 2020-05-29 | 2023-07-11 | 北京百度网讯科技有限公司 | 人流密度的生成方法、装置、电子设备以及存储介质 |
US20210383226A1 (en) | 2020-06-05 | 2021-12-09 | Deepmind Technologies Limited | Cross-transformer neural network system for few-shot similarity determination and classification |
CN111932454B (zh) * | 2020-07-22 | 2022-05-27 | 杭州电子科技大学 | 基于改进的二元闭环神经网络的logo图案重建方法 |
US11302036B2 (en) | 2020-08-19 | 2022-04-12 | Capital One Services, Llc | Color conversion between color spaces using reduced dimension embeddings |
US20220108423A1 (en) * | 2020-10-02 | 2022-04-07 | Google Llc | Conditional Axial Transformer Layers for High-Fidelity Image Transformation |
US20220108434A1 (en) * | 2020-10-07 | 2022-04-07 | National Technology & Engineering Solutions Of Sandia, Llc | Deep learning for defect detection in high-reliability components |
CN112232746B (zh) * | 2020-11-03 | 2023-08-22 | 金陵科技学院 | 基于注意力加权的冷链物流需求估计方法 |
RU2770132C1 (ru) * | 2021-03-04 | 2022-04-14 | Самсунг Электроникс Ко., Лтд. | Генераторы изображений с условно независимым синтезом пикселей |
WO2022108031A1 (en) | 2020-11-19 | 2022-05-27 | Samsung Electronics Co., Ltd. | Image generators with conditionally-independent pixel synthesis |
EP4256786A1 (en) * | 2021-02-05 | 2023-10-11 | DeepMind Technologies Limited | Generating images using sparse representations |
CN112507995B (zh) * | 2021-02-05 | 2021-06-01 | 成都东方天呈智能科技有限公司 | 一种跨模型人脸特征向量的转换***及方法 |
CN113379657B (zh) * | 2021-05-19 | 2022-11-25 | 上海壁仞智能科技有限公司 | 基于随机矩阵的图像处理方法及装置 |
CN113361540A (zh) * | 2021-05-25 | 2021-09-07 | 商汤集团有限公司 | 图像处理方法及装置、电子设备和存储介质 |
CN113569868B (zh) * | 2021-06-11 | 2023-09-19 | 北京旷视科技有限公司 | 一种目标检测方法、装置及电子设备 |
CN113298177B (zh) * | 2021-06-11 | 2023-04-28 | 华南理工大学 | 夜间图像着色方法、装置、介质和设备 |
CN113705323B (zh) * | 2021-06-15 | 2022-09-09 | 腾讯医疗健康(深圳)有限公司 | 图像识别方法、装置、设备以及存储介质 |
CN113487624B (zh) * | 2021-06-24 | 2023-10-13 | 深圳市赛维网络科技有限公司 | 一种人体实例分割方法、终端设备及存储介质 |
WO2023144385A1 (en) * | 2022-01-28 | 2023-08-03 | Deepmind Technologies Limited | Local cross-attention operations in neural networks |
CN114693814B (zh) * | 2022-03-31 | 2024-04-30 | 北京字节跳动网络技术有限公司 | 模型的解码方法、文本识别方法、装置、介质及设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040239762A1 (en) * | 2003-05-21 | 2004-12-02 | Porikli Fatih M. | Adaptive background image updating |
US8370282B1 (en) * | 2009-07-22 | 2013-02-05 | Google Inc. | Image quality measures |
US8429168B1 (en) * | 2009-12-15 | 2013-04-23 | Google Inc. | Learning semantic image similarity |
US20160140435A1 (en) * | 2014-11-14 | 2016-05-19 | Google Inc. | Generating natural language descriptions of images |
CN105787867A (zh) * | 2016-04-21 | 2016-07-20 | 华为技术有限公司 | 基于神经网络算法的处理视频图像的方法和装置 |
EP3054403A2 (en) * | 2015-02-06 | 2016-08-10 | Google, Inc. | Recurrent neural networks for data item generation |
CN106254879A (zh) * | 2016-08-31 | 2016-12-21 | 广州精点计算机科技有限公司 | 一种应用自编码神经网络的有损图像压缩方法 |
WO2017015649A1 (en) * | 2015-07-23 | 2017-01-26 | Mireplica Technology, Llc | Performance enhancement for two-dimensional array processor |
US20170083792A1 (en) * | 2015-09-22 | 2017-03-23 | Xerox Corporation | Similarity-based detection of prominent objects using deep cnn pooling layers as features |
CN106960415A (zh) * | 2017-03-17 | 2017-07-18 | 深圳市唯特视科技有限公司 | 一种基于像素递归超分辨率模型恢复图像的方法 |
WO2017129325A1 (en) * | 2016-01-29 | 2017-08-03 | Fotonation Limited | A convolutional neural network |
WO2017132288A1 (en) * | 2016-01-25 | 2017-08-03 | Google Inc. | Generating images using neural networks |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10262236B2 (en) * | 2017-05-02 | 2019-04-16 | General Electric Company | Neural network training image generation system |
-
2018
- 2018-10-29 CN CN201811270464.9A patent/CN109726794B/zh active Active
- 2018-10-29 CN CN202410180381.XA patent/CN118194921A/zh active Pending
- 2018-10-29 US US16/174,074 patent/US10839259B2/en active Active
-
2020
- 2020-11-13 US US17/098,271 patent/US11392790B2/en active Active
-
2022
- 2022-07-18 US US17/867,242 patent/US11816884B2/en active Active
-
2023
- 2023-11-08 US US18/388,178 patent/US20240193926A1/en active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040239762A1 (en) * | 2003-05-21 | 2004-12-02 | Porikli Fatih M. | Adaptive background image updating |
US8370282B1 (en) * | 2009-07-22 | 2013-02-05 | Google Inc. | Image quality measures |
US8429168B1 (en) * | 2009-12-15 | 2013-04-23 | Google Inc. | Learning semantic image similarity |
US20160140435A1 (en) * | 2014-11-14 | 2016-05-19 | Google Inc. | Generating natural language descriptions of images |
WO2016077797A1 (en) * | 2014-11-14 | 2016-05-19 | Google Inc. | Generating natural language descriptions of images |
EP3054403A2 (en) * | 2015-02-06 | 2016-08-10 | Google, Inc. | Recurrent neural networks for data item generation |
WO2017015649A1 (en) * | 2015-07-23 | 2017-01-26 | Mireplica Technology, Llc | Performance enhancement for two-dimensional array processor |
US20170083792A1 (en) * | 2015-09-22 | 2017-03-23 | Xerox Corporation | Similarity-based detection of prominent objects using deep cnn pooling layers as features |
WO2017132288A1 (en) * | 2016-01-25 | 2017-08-03 | Google Inc. | Generating images using neural networks |
WO2017129325A1 (en) * | 2016-01-29 | 2017-08-03 | Fotonation Limited | A convolutional neural network |
CN105787867A (zh) * | 2016-04-21 | 2016-07-20 | 华为技术有限公司 | 基于神经网络算法的处理视频图像的方法和装置 |
CN106254879A (zh) * | 2016-08-31 | 2016-12-21 | 广州精点计算机科技有限公司 | 一种应用自编码神经网络的有损图像压缩方法 |
CN106960415A (zh) * | 2017-03-17 | 2017-07-18 | 深圳市唯特视科技有限公司 | 一种基于像素递归超分辨率模型恢复图像的方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110321961A (zh) * | 2019-07-09 | 2019-10-11 | 北京金山数字娱乐科技有限公司 | 一种数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US11816884B2 (en) | 2023-11-14 |
US20240193926A1 (en) | 2024-06-13 |
US20190130213A1 (en) | 2019-05-02 |
US20210064924A1 (en) | 2021-03-04 |
CN109726794B (zh) | 2024-03-12 |
US20230076971A1 (en) | 2023-03-09 |
US10839259B2 (en) | 2020-11-17 |
CN118194921A (zh) | 2024-06-14 |
US11392790B2 (en) | 2022-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109726794A (zh) | 基于关注的图像生成神经网络 | |
US11966839B2 (en) | Auto-regressive neural network systems with a soft attention mechanism using support data patches | |
KR102107709B1 (ko) | 공간 트랜스포머 모듈들 | |
CN107958460A (zh) | 实例级语义分割*** | |
CN108140143A (zh) | 正则化机器学习模型 | |
CN109885842A (zh) | 处理文本神经网络 | |
CN109376830A (zh) | 二维码生成方法及装置 | |
CN110520871A (zh) | 训练机器学习模型 | |
EP3380992B1 (en) | Generating images using neural networks | |
US20200410643A1 (en) | Image generation using subscaling and depth up-scaling | |
CN109643383A (zh) | 域分离神经网络 | |
CN115885289A (zh) | 利用全局自注意力神经网络对依赖性建模 | |
CN113826119A (zh) | 纯注意力的计算机视觉 | |
CN110476173A (zh) | 利用强化学习的分层设备放置 | |
Deng et al. | Research on Artificial Intelligence Interaction in Computer‐Aided Arts and Crafts | |
CN115631205A (zh) | 图像分割及模型训练的方法、装置及设备 | |
CN114781499A (zh) | 一种构建基于ViT模型的密集预测任务适配器的方法 | |
CN110717405A (zh) | 人脸特征点定位方法、装置、介质及电子设备 | |
CN113826146B (zh) | 自回归视频生成神经网络 | |
CN113570678A (zh) | 基于人工智能的图像上色方法、装置、电子设备 | |
CN116796287A (zh) | 图文理解模型的预训练方法、装置、设备及存储介质 | |
CN110175968A (zh) | 生成在神经网络中使用的人工图像 | |
US20240169662A1 (en) | Latent Pose Queries for Machine-Learned Image View Synthesis | |
CN117676270A (zh) | 视频数据生成方法、装置、计算机设备和存储介质 | |
CN110188704A (zh) | 一种施工量获取方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |