CN108701249B - 使用神经网络生成图像 - Google Patents
使用神经网络生成图像 Download PDFInfo
- Publication number
- CN108701249B CN108701249B CN201780007962.1A CN201780007962A CN108701249B CN 108701249 B CN108701249 B CN 108701249B CN 201780007962 A CN201780007962 A CN 201780007962A CN 108701249 B CN108701249 B CN 108701249B
- Authority
- CN
- China
- Prior art keywords
- neural network
- pixel
- output
- input
- layer
- 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.)
- Active
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 130
- 238000000034 method Methods 0.000 claims abstract description 33
- 230000008569 process Effects 0.000 claims description 26
- 230000015654 memory Effects 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 12
- 238000013527 convolutional neural network Methods 0.000 claims description 10
- 230000006835 compression Effects 0.000 claims description 6
- 238000007906 compression Methods 0.000 claims description 6
- 230000006403 short-term memory Effects 0.000 claims description 6
- 230000002457 bidirectional effect Effects 0.000 claims description 4
- 125000004122 cyclic group Chemical group 0.000 claims 1
- 238000004590 computer program Methods 0.000 abstract description 14
- 238000012549 training Methods 0.000 description 15
- 230000009471 action Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000873 masking effect Effects 0.000 description 4
- 230000000306 recurrent effect Effects 0.000 description 4
- 239000003086 colorant Substances 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000001143 conditioned effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000026676 system process Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- 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/044—Recurrent networks, e.g. Hopfield 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/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- 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/0464—Convolutional networks [CNN, ConvNet]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
包括在计算机存储介质上编码的计算机程序的方法、***和装置,用于使用神经网络来生成图像。所述方法中的一种方法包括从获取自输出图像的像素序列中逐个像素地生成输出图像,包括针对输出图像中的每个像素,针对多个颜色通道中的每个颜色通道生成可能的颜色值的离散集合上的相应得分分布。
Description
相关申请的交叉引用
本申请要求2016年1月25日提交的美国临时申请No.62/286,915的优先权。在先申请的公开内容被认为是本申请的公开内容的一部分并且通过引用整体并入本文中。
背景技术
本说明书涉及使用神经网络生成图像。
神经网络是机器学习模型,其采用一层或多层非线性单元来为接收的输入预测输出。一些神经网络除了包括输出层外还包含一个或多个隐藏层。每个隐藏层的输出被用作网络中下一层的输入——即下一隐藏层或输出层的输入。网络的每一层根据相应的一组参数的当前值从接收到的输入生成输出。
一些神经网络是循环神经网络。循环神经网络是接收输入序列并从输入序列生成输出序列的神经网络。特别地,循环神经网络可以使用来自前一时间步的网络的内部状态中的一些或全部来计算当前时间步的输出。
循环神经网络的示例是长短期记忆(LSTM)神经网络,其包括一个或多个LSTM记忆块。每个LSTM记忆块可以包括一个或多个cell,每个cell包括允许该cell存储该cell的先前状态的输入门、忘记门和输出门,例如以用于生成当前激活或提供给LSTM神经网络的其他组件。
发明内容
本说明书描述了在一个或多个位置中的一个或多个计算机上实现为计算机程序的***能够如何从神经网络输入生成输出图像。
对于一个或多个计算机的***,被配置为执行特定操作或动作意指该***已经在其上安装了软件、固件、硬件或它们的组合,所述软件、固件、硬件或它们的组合在操作中使得该***执行操作或动作。对于一个或多个计算机程序,被配置为执行特定操作或动作意指该一个或多个程序包括在由数据处理装置执行时使该装置执行操作或动作的指令。
本说明书中描述的主题的特定实施例可以被实现以便实现以下优点中的一个或多个。本说明书中描述的神经网络***可以更准确地从神经网络输入生成图像。具体而言,通过将输出图像中的像素的颜色值建模为离散的而不是连续的值,可以改善神经网络的训练——即可以更快速地训练神经网络,并且可以提高由训练的神经网络生成的输出图像的质量。通过逐个像素且逐个颜色值生成输出图像——即使得给定像素的给定颜色通道的颜色值是以给定像素内的更早像素和任何更早颜色通道二者的颜色值为条件的,可以改善生成的输出图像的质量。通过使用本说明书中描述的神经网络***以这种方式生成图像,神经网络可以捕获像素相互依赖性的完全一般性,而不引入在现有模型中必需的独立性假设。
在本说明书中描述的主题的一个或多个实施例的细节在附图和下面的描述中阐述。主题的其他特征、方面和优点将从说明书、附图和权利要求书中变得显而易见。
附图说明
图1示出了示例神经网络***。
图2是用于从神经网络输入生成输出图像的示例过程的流程图。
图3是用于为输出图像中的给定像素生成给定颜色通道的颜色值的示例过程的流程图。
在各个附图中相似的附图标记和名称指示相似的的元素。
具体实施方式
图1示出了示例神经网络***100。神经网络***100是在一个或多个位置中的一个或多个计算机上实现为计算机程序的***的示例,其中可以实现下面描述的***、组件和技术。
神经网络***100接收神经网络输入并且从神经网络输入生成输出图像。例如,神经网络***100可以接收神经网络输入102并且从神经网络输入102生成输出图像152。
在一些实施方式中,神经网络***100可以用于图像的无损压缩或者用于生成具有与系训练的图像相似的特征的新图像。
特别地,对于无损压缩,神经网络输入可以是图像,并且神经网络***100可以生成输出图像,该输出图像是输入图像的重构。
然后,如下所述,神经网络***100可以存储由神经网络***100的输出层生成的得分分布的至少一部分以用于图像的算术编码。在Aaron van den Oord和BenjaminSchrauwen的The Student-t Mixture as a Natural Image Patch Prior withApplication to Image Compression中描述了一种使用机器学习模型生成的用于算术编码和解码的得分分布的示例技术,其可获自http://www.jmlr.org/papers/volume15/vandenoord14a/vandenoord14a.pdf。
对于图像生成,在训练期间,神经网络输入可以是图像,并且神经网络***100可以生成输出图像,该输出图像是输入图像的重构。
在训练之后,神经网络***100可以在不受限于输入的情况下逐个像素地生成输出图像。
特别地,对于给定的输入,神经网络***100生成输出图像,该输出图像包括布置在二维映射中的预定数目的像素,其中每个像素对于多个颜色通道中的每一个具有相应的颜色值。例如,神经网络***100可以生成包括红色通道、绿色通道和蓝色通道的图像。作为不同的示例,神经网络***100可以生成包括青色通道、品红色通道、黄色通道和黑色通道的图像。多个颜色通道按照预定顺序布置,例如,红色,绿色,然后蓝色,或者蓝色,红色,然后是绿色。
通常,神经网络***100以从输出图像获取的像素序列在输出图像中逐个像素地生成颜色值。即,神经网络***100将输出图像中的像素排序为一序列,并且然后按照该序列来依次逐个为输出图像中的每个像素生成颜色值。
例如,该序列可以从输出图像的左上角开始,并在输出图像中逐行前进,其中序列中的最后的像素是输出图像右下角的像素。在该示例中,神经网络***100首先生成左上角像素的颜色值,然后前进到图像的最上一行中的下一像素。
特别地,对于输出图像中给定像素的给定颜色通道,神经网络***100在以下条件下来生成给定像素的颜色通道的颜色值:(i)在序列中该像素之前的像素的颜色值和(ii)在颜色通道顺序中的该颜色通道之前的任何颜色通道的像素的颜色值。在训练期间或针对图像压缩,因为输出图像是神经网络输入(即输入图像)的重构,所以这些颜色值可以从输入图像中的对应像素而不是从输出图像中获取。
特别地,神经网络***100包括一个或多个初始神经网络层110和一个或多个输出层120。
在已经生成了输出图像中的给定像素的给定颜色通道的给定颜色值之后,初始神经网络层110被配置为处理当前输出图像以生成当前输出图像的替选表示,该当前输出图像即包括已经为输出图像生成的颜色值的输出图像。
例如,初始神经网络层110可以处理当前输出图像140以生成当前输出图像140的替选表示144。
如图1所示,当前输出图像140的阴影部分标示已经由神经网络***100为其生成颜色值的像素,而当前输出图像140的非阴影部分标示尚未为其生成颜色值的像素。
一个或多个输出层120接收替选表示并且针对图像中的下一个颜色通道生成可能的颜色值的离散集合上的得分分布。例如,可能的颜色值的离散集合可以是从0到255(含0和255)的整数集合,其中得分分布包括集合中每个整数的相应得分。对于每个可能的像素值,得分分布中的得分可以表示该像素值是***被配置来执行的任务的给定颜色通道的值的可能性(例如概率)。
如果上面提到的给定颜色通道是颜色通道的预定排序中的最后的颜色通道,则输出层120针对在序列中给定像素之后的下一像素中的第一颜色通道生成得分分布。在图1的示例中,输出层120为当前输出图像140中的下一像素142的第一颜色通道生成得分分布146。
如果上面提到的给定颜色通道不是预定排序中的最后的颜色通道,则输出层120针对在给定像素的颜色通道的顺序中给定颜色通道之后的下一颜色通道生成得分分布。例如,如果颜色通道的顺序是红色、绿色、然后是蓝色,并且生成的上一个的颜色值是针对给定像素的绿色通道,则输出层120生成的得分分布是针对给定像素的蓝色通道的得分分布。
在一些实施方式中,神经网络***100包括单个输出层,例如,单个softmax层,其生成所有颜色通道的得分分布。
在一些其它实施方式中,神经网络***100包括与每个颜色通道相对应的相应输出层,例如相应的softmax层,并且每个输出层生成对应颜色通道的得分分布。
在一些实施方式中并且如下面更详细描述的,替选表示是特征映射,其包括输出图像中的每个像素的每个颜色通道的特征。在这些实施方式中,当为给定像素的给定通道生成颜色值时,输出层使用该替选表示的对应部分,即,使用替选表示的包括给定像素的给定颜色通道的特征的部分。
然后,神经网络***100针对当前颜色通道——即序列中给定像素之后的下一像素中的第一颜色通道或在给定像素的颜色通道顺序中给定颜色通道之后的下一颜色通道——从生成的得分分布中选择值。例如,神经网络***100可以根据得分分布对颜色值进行采样,或者根据得分分布来选择得分最高的颜色值。
初始神经网络层110可以以各种方式中的任何一种来配置,以允许层110生成以当前输出图像为条件的替选表示,即,不是以输出图像中尚未由神经网络***100生成的任何颜色值来为条件。
在一些实施方式中,初始神经网络层110是完全卷积神经网络,其由多个卷积神经网络层组成,每个卷积神经网络层保持到初始神经网络层110的输入的空间分辨率。即,到初始神经网络层110的输入的空间分辨率和每个卷积神经网络层的输出具有相同的空间分辨率,即,具有与输出图像相同的像素数目,而由卷积神经网络层针对每个像素生成的特征数目可以变化。
然而,在整个处理中,网络中每层处的每个输入位置(即每个像素)处的特征被分成多个部分,其中每个部分对应于颜色通道中的一个。
因此,由初始神经网络层110生成的替选表示包括给定像素的颜色通道值中的每一个的相应部分,并且当生成给定颜色通道的得分分布时,输出层120被配置为处理与给定的颜色通道相对应的部分。
为了确保卷积神经网络层仅以已经生成的输出值为条件,每个卷积神经网络层被配置为应用被掩蔽的卷积,使得替选表示的与给定像素的给定颜色通道相对应的部分仅基于以下来生成(i)在序列中的该像素之前的输出图像中的像素和(ii)在颜色通道顺序中给定颜色通道之前的颜色通道的像素的颜色通道数据。
对于第一卷积层——即接收当前输出图像作为输入的层,该掩蔽将与第一卷积层的输出特征映射中的给定像素的连接约束到当前输出图像中在序列中的给定像素之前的那些相邻像素以及约束到当前输出图像中已经生成的对应像素中那些颜色。
对于附加卷积层,掩蔽将附加卷积层的输出特征映射中的给定像素中的连接限制到向该附加卷积层的输入特征映射中的在序列中的给定像素之前的那些相邻像素,约束到与该输入特征映射中的对应像素中已经生成的那些颜色相对应的特征,以及约束到与该输入特征映射中的对应像素中的给定颜色相对应的特征。
神经网络***100可以以各种方式中的任何一种来实现该掩蔽。例如,每个卷积层都可以有核,其对应的权重被清零。
在一些其他实施方式中,初始神经网络层110包括多个LSTM层,所述多个LSTM层一个接一个地布置成堆叠。像卷积神经网络层一样,LSTM层保留输入的空间维度,并且每个LSTM层为网络中每个层的每个输入位置生成的特征被分成多个部分,每个部分对应于颜色通道中的一个。
这些LSTM层中的每一个将卷积应用到向该LSTM层的输入特征映射——即前一个LSTM层或当前输出图像的隐藏状态——以生成输入到状态分量并将卷积应用到该层的之前隐藏状态以生成状态到状态分量。然后,LSTM层从输入到状态分量和状态到状态分量生成LSTM层的门值,并且从门值和在前的cell状态生成该层的更新的隐藏状态和更新的cell状态。
在这些实施方式中的一些中,LSTM层是行LSTM层,其从上到下逐行处理输入特征映射,一次为整行计算特征。
即,对于输入特征映射的每一行,行LSTM层被配置成例如使用一维卷积来计算整个输入特征映射的行LSTM层的输入到状态分量,并且,在计算整个输入特征映射的输入到状态分量之后,使用输入到状态分量从上到下逐行处理输入图像映射,一次为整行计算特征。
为了确保行LSTM层不以尚未生成的颜色值作为输出的条件,由LSTM层用来生成输入到状态分量的卷积被如上所述针对卷积神经网络层来掩蔽。
在其他这些实施方式中,LSTM层是对角双向LSTM(BiLSTM)层。
通常,双向LSTM层被配置为生成一个方向的输出映射和另一个方向的输出映射,并且组合两个输出映射以生成该层的最终输出映射。即,双向LSTM层为两个方向中的每一个方向计算状态到状态和输入到状态分量,然后从该方向的状态到状态和输入到状态分量生成每个方向的输出映射。
特别地,每个对角BiLSTM层被配置为沿着第一方向以对角方式并沿着第二方向以对角方式扫描输入特征映射以生成该层的输出特征映射。
更具体而言,每个对角BiLSTM层被配置为将输入特征映射偏斜成允许容易地沿对角应用卷积的空间,例如通过将输入特征映射中的每一行相对于前一行偏移一个位置。
对于两个方向中的每一个方向,对角BiLSTM层然后被配置成通过对偏斜的输入特征映射应用1×1卷积来计算该方向的对角biLSTM层的输入到状态分量,并且通过对偏斜的输入特征映射应用按列卷积来计算该方向的对角biLSTM层的状态到状态分量。在一些实施方式中,按列卷积具有大小为2×1的核。
对角BiLSTM层进一步被配置为从如上所述方向的状态到状态和输入到状态分量来针对每个方向生成偏斜的输出特征映射,例如左偏斜输出特征映射和右偏斜输出特征映射,并通过去除偏移位置来将每个偏斜的输出特征映射偏斜回来以匹配输入特征映射的空间维度。然后,对角BiLSTM层将右输出映射向下移位一行,并将移位的右输出映射添加到左输出映射以生成该层的最终输出映射。
如行LSTM层一样,由对角BiLSTM层应用以生成状态到状态分量的卷积也可以如上所述被掩蔽。
在一些实施方式中,初始神经网络层110包括接收当前输出图像作为输入的第一卷积层,并且对于该第一卷积层,掩蔽将到第一卷积层的输出特征映射中的给定像素的连接约束到当前输出图像中在序列中的给定像素之前的那些相邻像素以及在当前输出图像中的对应像素中的已经生成的那些颜色,其后是一行或多个行LSTM层或一个或多个对角BiLSTM层。
在一些实施方式中,初始神经网络层110包括层之间的跳跃连接、层之间的剩余连接、或这两者。
图2是用于从神经网络输入生成输出图像的示例过程200的流程图。为了方便,过程200将被描述为由位于一个或多个位置的一个或多个计算机的***执行。例如,适当编程的神经网络***(例如,图1的神经网络***100)可以执行过程200。
可以在训练神经网络期间执行过程200以生成输出图像。例如,过程200可以是训练过程的正向传递。过程200也可以作为压缩神经网络输入(即输入图像)的一部分来执行。
***接收神经网络输入(步骤202)。如上所述,神经网络输入可以是输入图像。
***从神经网络输入在获取自输出图像的像素序列中逐个像素地生成输出图像(步骤204)。即,***根据该序列依次为输出图像中的每个像素逐个生成颜色值,使得序列中更早的像素的颜色值在该序列中更后的颜色值之前生成。在每个像素内,***根据颜色通道的预定顺序逐个生成像素的颜色通道的颜色值。特别地,***在以下条件下来对每个像素生成每个颜色值:(i)在序列中的该像素之前的像素的像素的颜色值和(ii)按照颜色通道的顺序在该颜色通道之前的任何颜色通道的像素的颜色值。在训练期间或针对图像压缩,因为输出图像是神经网络输入(即输入图像)的重构,所以这些颜色值可以从输入图像中的对应像素而不是从输出图像中获取。
图3是用于生成输出图像的给定像素的给定颜色通道的颜色值的示例过程300的流程图。为了方便,过程300将被描述为由位于一个或多个位置的一个或多个计算机的***执行。例如,适当编程的神经网络***(例如,图1的神经网络***100)可以执行过程300。
***通过初始神经网络层处理当前输出图像以生成替选表示(步骤302)。当前输出图像是包括序列中在给定像素之前的像素的颜色通道中的每一个的颜色值和给定像素的按顺序在给定颜色通道之前的任何颜色通道的颜色值的图像。如上所述,初始神经网络层被配置为应用被掩蔽的卷积,使得替选表示以已经生成的颜色值而不是以尚未生成的任何颜色值为条件。
替选表示包括与给定像素的每个颜色通道相对应的相应部分。
***使用与给定颜色通道相对应的输出层(例如softmax层)处理替选表示的与该给定颜色通道相对应的部分,以为给定颜色通道生成可能颜色值上的得分分布(步骤304)。如上所述,在一些实施方式中,单个输出层对应于所有颜色通道,而在其他实施方式中,每个颜色通道具有不同的对应输出层。
***使用得分分布来为给定像素的给定颜色通道选择颜色值(步骤306),例如通过选择得分最高的颜色通道或通过从得分分布中采样。
***可以针对输出图像中的每个像素的每个颜色通道重复过程300,以生成输出图像中的每个像素的颜色值。
***可以针对神经网络输入执行过程200和300,对于该输入,期望的输出——即***针对该输入应当生成的输出图像是未知的。
***还可以在一组训练数据中的神经网络输入上执行过程200和300,即,***应当为其生成的输出图像是已知的一组输入,以便训练初始神经网络层和输出层(如果输出层具有参数),即以确定初始神经网络层的参数的训练值以及可选地确定输出层的参数的训练值。作为训练初始神经网络层的常规机器学习训练技术——例如具有反向传播训练技术的随机梯度下降——的一部分,可以对从一组训练数据中选择的输入重复执行过程200和300。
在训练期间,因为应当生成的输出图像是预先已知的,所以可以加速由初始神经网络层执行的计算以减少处理给定训练神经网络输入所需的时间量和计算资源,并且因此,减少训练所需的时间、改善训练的神经网络的性能,或两者。
例如,当初始神经网络层是完全卷积神经网络时,初始神经网络层生成替选表示所需的处理可以并行而不是顺序地完成,因为整个输出图像可从计算的开始就获得。即,如上所述,***可以使用输入图像的颜色值代替已经生成的输出图像像素颜色值。由于卷积被掩蔽,***可以基于输入图像来并行地生成整个替选表示。
本说明书中描述的主题和功能操作的实施例可以以数字电子电路、有形地实施的计算机软件或固件、计算机硬件——包括本说明书中公开的结构及其结构等同物、或以它们中的一个或多个的组合来实现。
本说明书中描述的主题的实施例可以实现为一个或多个计算机程序——即编码在有形非暂时性程序载体上、由数据处理执行或控制数据处理装置操作的计算机程序指令的一个或多个模块。替选地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电信号、光信号或电磁信号,其被生成以对信息进行编码以供传输给合适的接收器装置装置供数据处理装置装置执行。计算机存储介质可以是机器可读存储装置,机器可读存储基板,随机或串行存取存储装置,或它们中的一个或多个的组合。
术语“数据处理装置”涵盖所有种类的用于处理数据的装置、设备以及机器,作为实例,包括可编程处理器、计算机或者多个器或者多个计算机。装置可以包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或者ASIC(专用集成电路)。装置除了包括硬件之外,还可以包括创建用于所讨论的计算机程序的执行环境的代码,例如构成处理器固件、协议栈、数据库管理***、操作***或者它们中的一种或多种的组合代码。
计算机程序(还可以被称为或者描述为程序、软件、软件应用、模块、软件模块、脚本或者代码)可以以任意形式的编程语言而被写出,包括编译语言或者解释语言或者声明性语言或过程式语言,并且计算机程序可以以任意形式部署,包括作为独立程序或者作为模块、组件、子程序或者适于在计算环境中使用的其他单元。计算机程序可以但不必须对应于文件***中的文件。程序可以被存储在保存其他程序或者数据——例如存储在标记语言文档中的一个或多个脚本——的文件的一部分中;在专用于所讨论的程序的单个文件中;或者在多个协同文件中——例如,存储一个或多个模块、子程序或者代码部分的文件。计算机程序可以被部署为在一个计算机或者位于一个站点处或者跨多个站点分布并且通过通信网络而互连的多个计算机上执行。
在本说明书中描述的处理和逻辑流程可以由一个或多个可编程计算机执行执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能而被执行。过程和逻辑流程还可以由专用逻辑电路——例如FPGA(可现场编程门阵列)或者ASIC(专用集成电路)——执行,并且装置也可以被实现为专用逻辑电路。
适于执行计算机程序的计算机包括并且例如可以基于通用微处理器或者专用微处理器或者上述处理器两者,或者任意其他种类的中央处理单元。通常地,中央处理单元将接收来自只读存储器或者随机存取存储器或者这两者的指令和数据。计算机的必要元件是用于运行或者执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器装置。通常地,计算机还将包括用于存储数据的一个或多个大容量存储设备,——例如磁盘、磁光盘或者光盘——或者可操作地耦合至该海量存储设以从其接收数据,或者将数据转移到该海量存储设备,或者兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以被嵌入到另一设备中,例如,移动电话、个人数字助理(PDA)、移动音频或者视频播放器、游戏控制台、全球定位***(GPS)接收器或者可移动存储装置,例如,通用串行总线(USB)闪存盘等。
适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失存储器、介质和存储器设备,作为示例,包括:半导体存储器装置,例如,EPROM、EEPROM和闪速存储器装置;磁盘,例如,内置硬盘或者可移动磁盘;磁光盘;CD-ROM和DVD-ROM盘。处理器和存储器可以补充有或者并入至专用逻辑电路。
为了提供与客户的交互,本说明书中描述的主题的实施例可以被实现在计算机上,该计算机具有:显示装置,例如,CRT(阴极射线管)或者LCD(液晶显示器)监控器,用于向用户显示信息;以及键盘和例如鼠标或者追踪球这样的指示设备,用户利用它们可以将输入提供给计算机。其他种类的装置也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如,视觉反馈、听觉反馈或者触觉反馈;以及来自用户的输入可以以任意形式接收到,包括声输入、语音输入或者触觉输入。另外,计算机可以通过将文档发送至由用户使用的装置并且接收来自该装置的文档而与用户交互;例如,通过响应于接收到的来自web浏览器的请求,而将网页发送到用户的客户端装置上的web浏览器。
本说明书中描述的主题的实施例可以在计算***中实现,该计算***包括例如数据服务器的后端组件,或者包括例如应用服务器的中间件组件,或者包括前端组件——例如具有用户可用来与本发明的实施方式交互的图形用户界面或Web浏览器的客户端计算机,或者该计算机***包括一个或多个这样的后端组件、中间件组件或者前端组件的任意组合。***中的组件可以通过例如通信网络的任意形式或介质的数字数据通信而互相连接。通信网络的实例包括局域网络(“LAN”)和广域网络(“WAN”),例如,因特网。
计算***可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络而交互。客户端与服务器之间的关系利用在各自的计算机上运行并且具有彼此之间的客户端-服务器关系的计算机程序而生成。
虽然本说明书包含很多具体的实施方式细节,但是这些不应当被解释为对任何发明的范围或者对可以要求保护的内容的范围的限制,而是解释为特定于本发明的特定实施例的特征的说明。在本说明书中在分开实施例的语境中描述的特定特征还可以与单个实施例组合地实施。相反地,在单个实施例的语境中描述的各种特征还可以分开在多个实施例中实现,或者以任何合适的子组合实现。此外,虽然以上可以将特征描述为组合作用并且甚至最初这样要求,但是来自要求保护的组合的一个或多个特征在一些情况下可以从该组合去掉,并且要求的组合可以转向子组合或者子组合的变形。
相似地,虽然以特定顺序在附图中描述了操作,但是不应当理解为:为了实现期望的结果,要求这样的操作以示出的特定顺序或者以顺序次序而执行,或者所有图示的操作都被执行。在特定情况下,多任务处理和并行处理可以是有利的。此外,上述实施例中的各种***模块和组件的分离不应当理解为在所有实施例中要求这样的分离,并且应当理解程序组件和***可以通常被一起集成在单个软件产品中或者封装至多个软件产品中。
已经描述了主题的特定实施例。其他实施例在所附权利要求书的范围内。例如,在权利要求书中记载的动作可以以不同的顺序执行并且仍旧实现期望的结果。作为一个实例,为了实现期望的结果,附图中描绘的过程不必须要求示出的特定顺序或者依次顺序。在特定实施方式中,多任务处理和并行处理可以是有优势的。
Claims (17)
1.一种由一个或多个计算机实现的神经网络***(100),所述神经网络***被配置为用于图像的无损压缩或具有与***被训练所用的图像类似特征的新图像的生成,其中所述神经网络***被配置为接收神经网络输入(102)并且从所述神经网络输入生成输出图像(152),所述输出图像包括布置在二维映射中的多个像素,每个像素对于多个颜色通道中的每个颜色通道具有相应的颜色值,并且所述神经网络***包括:
一个或多个初始神经网络层(110),被配置为接收所述神经网络输入并处理所述神经网络输入以生成所述神经网络输入的替选表示;以及
一个或多个输出层(120),其中,所述输出层被配置为接收所述替选表示并且依据所述输出图像的像素序列逐个像素地生成所述输出图像中的颜色值从而生成所述输出图像,其中,生成所述颜色值包括:对于所述输出图像中的每个像素,针对所述多个颜色通道中的每个颜色通道,生成可能颜色值的离散集合上的相应概率分布。
2.根据权利要求1所述的神经网络***,其中,所述多个颜色通道被排序,其中,所述一个或多个输出层包括与所述多个颜色通道中的每个颜色通道相对应的相应输出层,并且其中,所述输出层中的每个输出层被配置为针对所述输出图像的每个像素:
针对与该输出层相对应的颜色通道,在以下条件下生成所述可能颜色值的离散集合上的相应概率分布:(i)在所述序列中的该像素之前的像素的像素颜色值和(ii)按颜色通道的顺序在与该输出层相对应的颜色通道之前的任何颜色通道的像素颜色值。
3.根据权利要求2所述的神经网络***,其中,对于每个像素,所述输出层中的每个输出层被配置为基于以下来接收所述替选表示中与该颜色通道和场境信息相对应的部分:(i)在所述序列中的该像素之前的像素的像素颜色值以及(ii)按颜色通道的顺序在与该输出层相对应的颜色通道之前的任何颜色通道的像素颜色值。
4.根据权利要求3所述的神经网络***,其中,所述神经网络***被配置为将掩蔽应用于所述一个或多个初始神经网络层中的神经网络层的输出,使得所述替选表示中与该颜色通道相对应的部分是仅基于在所述序列中的该像素之前的像素以及按颜色通道的顺序在与该输出层相对应的颜色通道之前的颜色通道的像素的颜色通道数据来生成的。
5.根据权利要求1-4中的任一项所述的神经网络***,其中,所述输出层中的每个输出层是softmax层。
6.根据权利要求1-4中的任一项所述的神经网络***,
其中,所述神经网络输入是图像,
其中,所述一个或多个初始神经网络层包括行长短期记忆层,并且其中,所述行长短期记忆层被配置为:
从上到下逐行处理输入图像,一次为整行计算特征。
7.根据权利要求6所述的神经网络***,其中,所述行长短期记忆层使用一维卷积来计算所述特征。
8.根据权利要求6所述的神经网络***,其中,所述行长短期记忆层被配置为:
计算整个输入图像的所述行长短期记忆层的输入到状态分量;以及
在计算所述整个输入图像的所述输入到状态分量之后,使用所述输入到状态分量从上到下逐行处理所述输入图像,一次为整行计算特征。
9.根据权利要求1-4中的任一项所述的神经网络***,
其中,所述神经网络输入是图像,
其中,所述一个或多个初始神经网络层包括对角双向长短期记忆层,并且其中,对角双向长短期记忆层被配置为:
沿着第一方向以对角方式以及沿着第二方向以对角方式扫描输入图像映射,以生成所述输入图像映射的特征。
10.根据权利要求9所述的神经网络***,其中,所述对角双向长短期记忆层被配置为:
将所述输入图像映射偏斜为允许沿对角容易地应用卷积的空间;以及
对于所述第一方向和所述第二方向中的每一个:
通过对所偏斜的输入图像映射应用1×1卷积来计算该方向的所述对角双向长短期记忆层的输入到状态分量;以及
通过对所偏斜的输入图像映射应用按列卷积来计算该方向的所述对角双向长短期记忆层的状态到状态循环分量。
11.根据权利要求10所述的神经网络***,其中,所述按列卷积具有大小为2×1的核。
12.根据权利要求1至4中的任一项所述的神经网络***,其中,所述初始神经网络层包括多个长短期记忆层,并且其中,所述多个长短期记忆层被配置有从所述多个长短期记忆层中的一个长短期记忆层到另一个长短期记忆层的剩余连接。
13.根据权利要求1至4中的任一项所述的神经网络***,其中,所述输入是图像,并且其中,所述一个或多个初始神经网络层包括一个或多个卷积神经网络层。
14.根据权利要求1-4中的任一项所述的神经网络***,其中,所述神经网络输入是输入图像,并且其中,所述输出图像是所述输入图像的重构版本。
15.根据权利要求1-4中的任一项所述的神经网络***,其中,所述像素序列中的像素是从所述输出图像逐行获取的。
16.一个或多个编码有指令的计算机存储介质,所述指令在由一个或多个计算机执行时使得所述一个或多个计算机执行操作以实现根据权利要求1-15中的任一项所述的相应神经网络***。
17.一种用于使用神经网络生成图像的方法,包括:
接收神经网络输入;以及
使用根据权利要求1-15中的任一项所述的神经网络***来处理神经网络输入图像以从所述神经网络输入生成输出图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310315037.2A CN116468815A (zh) | 2016-01-25 | 2017-01-25 | 使用神经网络生成图像 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662286915P | 2016-01-25 | 2016-01-25 | |
US62/286,915 | 2016-01-25 | ||
PCT/US2017/014990 WO2017132288A1 (en) | 2016-01-25 | 2017-01-25 | Generating images using neural networks |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310315037.2A Division CN116468815A (zh) | 2016-01-25 | 2017-01-25 | 使用神经网络生成图像 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108701249A CN108701249A (zh) | 2018-10-23 |
CN108701249B true CN108701249B (zh) | 2023-04-14 |
Family
ID=58044157
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310315037.2A Pending CN116468815A (zh) | 2016-01-25 | 2017-01-25 | 使用神经网络生成图像 |
CN201780007962.1A Active CN108701249B (zh) | 2016-01-25 | 2017-01-25 | 使用神经网络生成图像 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310315037.2A Pending CN116468815A (zh) | 2016-01-25 | 2017-01-25 | 使用神经网络生成图像 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP3380992B1 (zh) |
JP (1) | JP6612473B2 (zh) |
KR (1) | KR102185865B1 (zh) |
CN (2) | CN116468815A (zh) |
WO (1) | WO2017132288A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11113800B2 (en) | 2017-01-18 | 2021-09-07 | Nvidia Corporation | Filtering image data using a neural network |
WO2018184192A1 (en) * | 2017-04-07 | 2018-10-11 | Intel Corporation | Methods and systems using camera devices for deep channel and convolutional neural network images and formats |
WO2019081623A1 (en) | 2017-10-25 | 2019-05-02 | Deepmind Technologies Limited | SELF-REGRESSIVE NEURAL NETWORK SYSTEMS INCLUDING A SOFTWARE ATTENTION MECHANISM USING SUPPORT DATA CORRECTIVES |
CN109726794B (zh) * | 2017-10-27 | 2024-03-12 | 谷歌有限责任公司 | 基于关注的图像生成神经网络 |
EP3701431A1 (en) * | 2017-10-27 | 2020-09-02 | Google LLC | Increasing security of neural networks by discretizing neural network inputs |
KR102137825B1 (ko) * | 2018-06-29 | 2020-07-24 | 서울대학교 산학협력단 | 딥러닝 기반 레이더 간섭 제거 장치 |
US10878531B2 (en) * | 2018-08-17 | 2020-12-29 | Accenture Global Solutions Limited | Robotic process automation |
KR20210011422A (ko) * | 2018-09-27 | 2021-02-01 | 딥마인드 테크놀로지스 리미티드 | 모델 없는 강화 학습을 위한 스택형 컨볼루션 장단기 메모리 |
WO2020098360A1 (en) * | 2018-11-15 | 2020-05-22 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Method, system, and computer-readable medium for processing images using cross-stage skip connections |
CN111641832B (zh) * | 2019-03-01 | 2022-03-25 | 杭州海康威视数字技术股份有限公司 | 编码方法、解码方法、装置、电子设备及存储介质 |
CN109858618B (zh) * | 2019-03-07 | 2020-04-14 | 电子科技大学 | 一种卷积神经单元块、构成的神经网络及图像分类方法 |
WO2023140869A1 (en) * | 2022-01-24 | 2023-07-27 | Innopeak Technology, Inc. | Method and apparatus for quantizing an output feature map using an activation function |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101282481A (zh) * | 2008-05-09 | 2008-10-08 | 中国传媒大学 | 一种基于人工神经网络的视频质量评价方法 |
CN101795344A (zh) * | 2010-03-02 | 2010-08-04 | 北京大学 | 数字全息图像压缩、解码方法及***、传输方法及*** |
CN102713972A (zh) * | 2009-12-23 | 2012-10-03 | 诺基亚公司 | 使用神经网络的像素信息再现 |
CN103544705A (zh) * | 2013-10-25 | 2014-01-29 | 华南理工大学 | 一种基于深度卷积神经网络的图像质量测试方法 |
US8660345B1 (en) * | 2010-11-11 | 2014-02-25 | Google Inc. | Colorization-based image compression using selected color samples |
CN104615983A (zh) * | 2015-01-28 | 2015-05-13 | 中国科学院自动化研究所 | 基于递归神经网络和人体骨架运动序列的行为识别方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7224735B2 (en) | 2003-05-21 | 2007-05-29 | Mitsubishi Electronic Research Laboratories, Inc. | Adaptive background image updating |
US10055551B2 (en) | 2013-10-10 | 2018-08-21 | Board Of Regents Of The University Of Texas System | Systems and methods for quantitative analysis of histopathology images using multiclassifier ensemble schemes |
US20150269481A1 (en) | 2014-03-24 | 2015-09-24 | Qualcomm Incorporated | Differential encoding in neural networks |
-
2017
- 2017-01-25 KR KR1020187024508A patent/KR102185865B1/ko active IP Right Grant
- 2017-01-25 JP JP2018558109A patent/JP6612473B2/ja active Active
- 2017-01-25 CN CN202310315037.2A patent/CN116468815A/zh active Pending
- 2017-01-25 CN CN201780007962.1A patent/CN108701249B/zh active Active
- 2017-01-25 EP EP17705215.6A patent/EP3380992B1/en active Active
- 2017-01-25 WO PCT/US2017/014990 patent/WO2017132288A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101282481A (zh) * | 2008-05-09 | 2008-10-08 | 中国传媒大学 | 一种基于人工神经网络的视频质量评价方法 |
CN102713972A (zh) * | 2009-12-23 | 2012-10-03 | 诺基亚公司 | 使用神经网络的像素信息再现 |
CN101795344A (zh) * | 2010-03-02 | 2010-08-04 | 北京大学 | 数字全息图像压缩、解码方法及***、传输方法及*** |
US8660345B1 (en) * | 2010-11-11 | 2014-02-25 | Google Inc. | Colorization-based image compression using selected color samples |
CN103544705A (zh) * | 2013-10-25 | 2014-01-29 | 华南理工大学 | 一种基于深度卷积神经网络的图像质量测试方法 |
CN104615983A (zh) * | 2015-01-28 | 2015-05-13 | 中国科学院自动化研究所 | 基于递归神经网络和人体骨架运动序列的行为识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116468815A (zh) | 2023-07-21 |
KR20180105694A (ko) | 2018-09-28 |
JP2019504433A (ja) | 2019-02-14 |
EP3380992B1 (en) | 2022-04-27 |
WO2017132288A1 (en) | 2017-08-03 |
CN108701249A (zh) | 2018-10-23 |
JP6612473B2 (ja) | 2019-11-27 |
EP3380992A1 (en) | 2018-10-03 |
KR102185865B1 (ko) | 2020-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108701249B (zh) | 使用神经网络生成图像 | |
US11870947B2 (en) | Generating images using neural networks | |
US11734797B2 (en) | Iterative multiscale image generation using neural networks | |
US11734572B2 (en) | Spatial transformer modules | |
US11087504B2 (en) | Transforming grayscale images into color images using deep neural networks | |
US11144782B2 (en) | Generating video frames using neural networks | |
US10713755B2 (en) | Image generation using subscaling and depth up-scaling | |
CN114781601A (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 |