CN114021696A - 用于高保真图像变换的条件轴向变换层 - Google Patents

用于高保真图像变换的条件轴向变换层 Download PDF

Info

Publication number
CN114021696A
CN114021696A CN202111171840.0A CN202111171840A CN114021696A CN 114021696 A CN114021696 A CN 114021696A CN 202111171840 A CN202111171840 A CN 202111171840A CN 114021696 A CN114021696 A CN 114021696A
Authority
CN
China
Prior art keywords
attention
row
column
pixel
neural network
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.)
Pending
Application number
CN202111171840.0A
Other languages
English (en)
Inventor
M.K.西瓦拉杰
D.维森伯恩
N.E.卡尔赫布雷纳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN114021696A publication Critical patent/CN114021696A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4046Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4023Scaling of whole images or parts thereof, e.g. expanding or contracting based on decimating pixels or lines of pixels; based on inserting pixels or lines of pixels

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

设备和方法涉及:接收包括像素阵列的输入图像,其中输入图像与第一特性相关联;应用神经网络以将输入图像变换为与第二特性相关联的输出图像,由编码器对输入图像的像素阵列的每个像素生成编码像素,向解码器提供编码像素阵列,由解码器应用轴向注意来解码给定像素,其中,轴向注意包括应用于与给定像素相关联的行或列之前的行或列中的一个或多个先前解码像素的行注意或列注意,以及其中,行或列注意混合相应行或列内的信息,并保持各个不同行或不同列之间的独立性;以及通过神经网络生成输出图像。

Description

用于高保真图像变换的条件轴向变换层
对相关申请的交叉引用
本申请要求于2020年10月2日提交的美国临时专利申请No.63/086,945 的优先权,其全部内容通过引用被合并于此。
背景技术
自回归模型是一系列基于精确似然的生成模型,表示数据的联合表示。 该系列中的神经网络模型在高维图像和视频数据集上实现了最先进的对数似 然。自回归模型架构可以读取对大感受野(receptive field)的长期依赖关系, 能够表达数据上的所有联合分布。自注意(self-attention)是自回归模型架构 的构建块,但自注意是以计算复杂性为代价的。自注意消耗的内存和计算量 与序列长度N成二次方增长,这使得直接将自注意应用于长序列的成本很 高。
发明内容
在一个方面中,提供了一种计算机实现的方法。该方法包括:经由计算 设备接收包括像素阵列的输入图像,其中,输入图像与第一特性相关联。该 方法也包括:应用神经网络,以将与第一特性相关联的输入图像变换为与第 二特性相关联的输出图像,其中,应用神经网络包括:通过神经网络的编码 器,对输入图像的像素阵列的每个像素生成编码像素,向神经网络的解码器 提供编码像素阵列,以及由解码器应用轴向注意来解码给定像素,其中,轴 向注意包括应用于与给定像素相关联的行或列之前的行或列中的一个或多个先前解码像素的行注意或列注意,以及其中,行注意或列注意混合相应行或 列内的信息,并保持各个不同行或不同列之间的独立性。该方法还包括:通 过神经网络生成与第二特性相关联的输出图像。
在另一方面中,提供了一种计算设备。计算设备包括一个或多个处理器 以及数据存储器。数据存储器在其上存储有计算机可执行指令,当指令由一 个或多个处理器执行时,使计算设备执行功能。所述功能包括:接收包括像 素阵列的输入图像,其中,输入图像与第一特性相关联;应用神经网络以将 与第一特性相关联的输入图像变换为与第二特性相关联的输出图像,其中, 应用神经网络包括:通过神经网络的编码器,对输入图像的像素阵列的每个 像素生成编码像素,向神经网络的解码器提供编码像素阵列,以及由解码器应用轴向注意来解码给定像素,其中,轴向注意包括应用于与给定像素相关 联的行或列之前的行或列中的一个或多个先前解码像素的行注意或列注意, 以及其中,行注意或列注意混合相应行或列内的信息,并保持各个不同行或 不同列之间的独立性;以及通过神经网络生成与第二特性相关联的输出图像。
在另一方面中,提供了一种计算机程序。计算机程序包括由计算机执行 时使计算机执行功能的指令。所述功能包括:接收包括像素阵列的输入图像, 其中,输入图像与第一特性相关联;应用神经网络以将与第一特性相关联的 输入图像变换为与第二特性相关联的输出图像,其中,应用神经网络包括: 通过神经网络的编码器,对输入图像的像素阵列的每个像素生成编码像素, 向神经网络的解码器提供编码像素阵列,以及由解码器应用轴向注意来解码 给定像素,其中,轴向注意包括应用于与给定像素相关联的行或列之前的行或列中的一个或多个先前解码像素的行注意或列注意,以及其中,行注意或 列注意混合相应行或列内的信息,并保持各个不同行或不同列之间的独立性; 以及通过神经网络生成与第二特性相关联的输出图像。
在另一方面中,提供了一种制造品。制造品包括一个或多个计算机可读 媒体,其上存储有计算机可读指令,当由计算设备的一个或多个处理器执行 时,使计算设备执行功能。所述功能包括:接收包括像素阵列的输入图像,其 中,输入图像与第一特性相关联;应用神经网络以将与第一特性相关联的输 入图像变换为与第二特性相关联的输出图像,其中,应用神经网络包括:通 过神经网络的编码器,对输入图像的像素阵列的每个像素生成编码像素,向 神经网络的解码器提供编码像素阵列,以及由解码器应用轴向注意来解码给定像素,其中,轴向注意包括应用于与给定像素相关联的行或列之前的行或 列中的一个或多个先前解码像素的行注意或列注意,以及其中,行注意或列 注意混合相应行或列内的信息,并保持各个不同行或不同列之间的独立性; 以及通过神经网络生成与第二特性相关联的输出图像。
在另一方面,提供了一种系统。所述系统包括:用于接收包括像素阵列 的输入图像的装置,其中,输入图像与第一特性相关联;用于应用神经网络 以将与第一特性相关联的输入图像变换为与第二特性相关联的输出图像的装 置,其中,应用神经网络包括:通过神经网络的编码器,对输入图像的像素阵 列的每个像素生成编码像素,向神经网络的解码器提供编码像素阵列,以及 由解码器应用轴向注意来解码给定像素,其中,轴向注意包括应用于与给定 像素相关联的行或列之前的行或列中的一个或多个先前解码像素的行注意或 列注意,以及其中,行注意或列注意混合相应行或列内的信息,并保持相应 不同行或不同列之间的独立性;以及用于通过神经网络生成与第二特性相关 联的输出图像的装置。
上述概要仅为说明性的,并且不意欲以任何方式被限制。除了上述说明 性方面、实施例和特性之外,通过参考附图和以下详细描述以及附图,进一 步的方面、实施例和特性将变得显而易见。
附图说明
专利或申请文件至少包含一幅彩色图纸。应要求并支付必要费用后,专 利局将提供本专利或专利申请出版物及彩色图纸的副本。
图1示出了示出根据示例性实施例的有条件的基于轴向自注意的神经网 络的示例性框图。
图2是示出根据示例性实施例的多维特性向量的示例性轴向变换器的图。
图3是示出根据示例性实施例的应用于多维特性向量的示例性掩模操作 的图。
图4A示出了根据示例性实施例的示例性自回归着色器。
图4B示出了根据示例性实施例的示例性色彩上采样器。
图4C示出了根据示例性实施例的示例性空间上采样器。
图5示出了根据示例实施例的应用于灰度图像的着色的示例图像。
图6A和图6B示出了根据示例性实施例在训练神经网络时超参数选择 的示例性图形表示。
图7示出了根据示例实施例的基于灰度图像的预测概率分布的示例图形 表示。
图8示出了根据示例性实施例的真实数据图像和图像的预测着色的示例。
图9示出了根据示例性实施例的真实数据图像和图像的预测着色的示例。
图10是示出根据示例实施例的机器学习模型的训练和推断阶段的图。
图11描绘了根据示例实施例的分布式计算架构。
图12是根据示例实施例的计算设备的框图。
图13描绘了根据示例实施例布置为基于云的服务器系统的计算集群网 络。
图14是根据示例实施例的方法的流程图。
具体实施方式
本申请在一个方面涉及一种基于有条件的轴向自注意的神经网络。在另 一方面,本申请涉及使用机器学习技术(诸如但不限于神经网络技术)将与 第一特性相关联的输入图像变换为与第二特性相关联的输出图像。例如,灰 度图像可以被变换为灰度图像的一个或多个高保真着色。此外,例如,可以 将低分辨率的图像变换为高分辨率的图像。当移动计算设备用户拍摄图像时, 所得图像可能并不总是具有期望的特性,诸如着色、分辨率等。例如,图像可 以是灰度图像或低分辨率图像,或者可以具有可能需要修改的色彩深度和/或强度。此外,即使图像在某个时间确实具有期望的着色,用户也可能希望在 稍后时间改变着色。因此,出现涉及调整已经获得的图像的着色的与图像处 理相关的技术问题。
图像着色可能是一项具有挑战性的、固有的随机任务,它可能基于对场 景的语义理解以及对世界的知识。技术的核心即时应用包括对现有图像和视 频内容进行有机的新着色,以及对原始灰度媒体赋予生命,诸如旧档案图像、 视频和黑白卡通。着色也具有技术用途,可以作为一种在没有明确监督的情 况下学习有意义表示的方法,或者作为一种无监督的数据增强技术,通过在 可能更大的未标记图像集上训练的着色模型,可以生成标签图像的各种语义 保持着色。
一些自动着色技术可能基于神经生成方法,其基于对数似然估计。概率 模型也可以用于图像着色的一对多任务。这种方法可能比以前应用的确定性 方法产生更好的结果。概率模型也可以更好地适应于产生多种多样的色彩, 这些色彩可以从学习的分布中取样。
着色方法通常依赖于人机回圈(human-in-the-loop)方法以涂鸦的形式提 供提示,以及依赖于基于示例的技术,这些技术涉及识别参考源图像以从中 复制色彩。基于示例的技术可以被扩展到视频。在自动化的神经着色方法中, 一系列确定性方法可能涉及卷积神经网络(CNN)的变化,以对以强度为条 件的每像素色彩信息进行建模。
概率方法通常扩展无条件图像生成模型,诸如变分自动编码器(VAE)、 生成对抗网络(GAN)和规范化流,以合并灰度图像的条件信息。由于基于 CNN的上采样策略,一些自回归方法,诸如像素递归着色(PixColor)和带 有PixColor的PIC可能提供比PIC稍好的结果。
如本文所述,提供了一种轴向变换器,其是用于组织为高维张量的图像 和其他数据的基于自注意的自回归模型。现有的自回归模型可能会为高维数 据利用大量计算资源,或者可能会通过在分布表达性或易于实现方面做出基 于质量的选择来降低资源需求。相比之下,本文描述的架构在数据的联合分 布上保持了完整的表达能力,并且易于使用标准的深度学习框架实现。这可 以通过合理的存储器和计算资源来实现,并且这种效率可以通过标准生成建 模基准上的最新结果来证明。本文描述的模型基于轴向注意(axialattention), 这是一种自注意(self-attention),在编码和解码设置中自然地与张量的多个维 度对齐。值得注意,所提出的层结构允许在解码期间并行计算绝大多数情境, 而不引入任何独立假设。这种半并行结构使解码从非常大的轴向变换器广泛 适用。
诸如着色变换器(ColTran)的神经网络可以以完全无监督的方式被训练。ColTran依赖于轴向变换器,并且可以利用两层对像素之间的交互进行建模, 因此不需要很大的深度。有些技术使用不同的架构进行调节、着色和超分辨 率。相比之下,ColTran具有概念上更简单的架构,因为自注意块用于着色和 超分辨率二者。ColTran中的多级生成处理可以基于完全并行网络在深度和大 小上上采样。尽管可以在将灰度图像变换为灰度图像的彩色版本方面来描述 示例实施例,但是可以应用类似技术来变换其他图像特性,例如,图像分辨 率、色彩深度和/或色彩强度。
网络模型
图像着色是将与第一特性
Figure BDA0003293573760000051
相关联的输入图像(例如,灰度 图像)变换为与第二特性
Figure BDA0003293573760000052
相关联的输出图像(例如,彩色图像) 的任务。这样的任务可能具有内在的随机性;对于给定图像xg(例如,灰度 图像),存在x的条件分布,表示为p(x|xg)。在一些实施例中,代替从xg直接 生成x,具有不同色彩深度的两个中间低分辨率图像xs↓和xs↓c↓可以首先被依 次预测。除了简化单个任务之外,更小的分辨率可以能够训练更大的模型。
图1示出了示出根据示例性实施例的有条件的基于轴向自注意的神经网 络的示例性框图。在一些实施例中,可以生成合理和多样的着色。可以接收 输入图像xg105,包括像素阵列,像素阵列可以被表示为行和列。在一些方 面中,输入图像105可以是低分辨率图像或灰度图像。尽管本文使用灰度图 像用于说明目的,但是本文公开的技术通常可以被应用于可以由高维向量阵 列表示的任何数字对象的增强。神经网络可以被应用于输入图像105,其中神 经网络的应用涉及通过神经网络的编码器对输入图像105的像素阵列的每个像素生成编码像素。例如,可以生成输入图像105的一个或多个嵌入110。在 一些实施例中,编码像素的阵列可以被提供给神经网络的解码器。在一些实 施例中,解码器可以应用轴向注意来解码给定像素。轴向注意可以包括应用 于与给定像素相关联的行或列之前的行或列中的一个或多个先前解码像素的 行注意或列注意。通常,本文所使用的术语“轴向注意”是指行或列内的信息 的混合,同时保持不同行或不同列之间的独立性。
例如,自回归着色器115可以以输入图像105为条件,对低分辨率、粗 糙着色图像上的分布进行建模。图像可以被采样并被提供给色彩上采样器125, 色彩上采样器125是用于色彩超分辨率的完全并行的基于自注意的解码器。 此外,例如,空间上采样器135可以是用于空间超分辨率的完全并行的基于 自注意的解码器。在一些实施例中,自回归着色器(本文也称为ColTran核) 可以是具有条件自注意层的轴向变换器的实例,如下文更详细地描述。编码 器和上采样器可以是堆叠的、逐行方向或逐列方向的自注意块(self-attention block)。在一些实施例中,注意块可以是残差的,并且可以被训练来执行诸如条件自注意、条件多层感知器(MLP)和/或条件层范数的操作。在一些实施 例中,神经网络包括自注意层之后的两层逐点前馈网络。例如,变换器架构 的组件可以是自注意层之后的两层逐点前馈网络。
在一些实施例中,轴向注意的应用涉及预测全局每通道尺度和全局每通 道移位中的一个或多个。在这样的实施例中,全局每通道尺度或全局每通道 移位中的一个或多个可以是可学习参数。例如,层规范化可以被应用于使用 可学习向量全局缩放和移动给定规范化输入。
如图所示,诸如ColTran的神经网络可以是着色概率模型,其由自回归 生成核(ColTran核)(诸如自回归着色器115)和两个完全并行的上采样器网 络(ColTran上采样器)(诸如色彩上采样器125和空间上采样器135)组成。 在一些实施例中,三个网络中的一个或多个可以使用适当修改的轴向自注意 块,其中行上的自注意层之后可以是列上的自注意层。为了改进灰度调节, ColTran可以被配置为执行调节方案,从而每个自注意块可以通过多个分量由 输入图像105额外调节。在一些实施例中,可以由神经网络生成包括输入图 像105的像素阵列的着色的输出图像145。
自回归模型是一系列基于精确似然的生成模型,表示数据x=(x1,…,xN) 的联合分布作为条件
Figure BDA0003293573760000071
的乘积。在一些实施例中,该系 列中的神经网络模型可以在高维图像和视频数据集上实现最先进的对数似然 性。这在一定程度上可能是由于架构的创新,使得每个像素xi都有大的、高信 息带宽的感受野,能够表示对先前像素x<i的长期依赖关系,计算效率高,对 数似然及其梯度的向量化计算。
能够读取大感受野上的长期依赖关系的自回归模型架构可能能够表示数 据的联合分布。同时,允许快速对数似然梯度计算的架构可能适合在最大似 然目标上使用随机梯度方法进行训练,这是生成模型的稳定训练过程。
自注意是自回归模型架构的构建块。本文使用的术语“自注意”描述了 能够将序列y1,…,yN变换为序列y′1,...,y′N的神经网络操作,其中,通过单个可 向量化计算,每个y′i取决yi。通常,自注意在学习数据维度和将自注意纳入其 设计的神经网络之间的长期依赖性时可能是有效的。
中间表示
在一些实施例中,应用轴向注意涉及对解码器的每一层应用一个或多个 卷积以生成多个仿射变换。这样的实施例也涉及将多个仿射变换应用于键、 查询和值。例如,自注意层可以将D维嵌入X的长度N序列作为输入,其可 以被表示为N×D矩阵,并且生成输出序列Y,其也可以被表示为N×D矩 阵。这些操作可按如下被执行:
Q=XWQ,K=XWK,V=XWV (等式1)
Figure BDA0003293573760000072
WQ、WK和WV是D×D参数矩阵,分别将序列X的条目投影到查询、键 和值中。输出序列Y的每个条目是由注意矩阵A加权的V中的值的线性组合。 在一些方面中,注意矩阵A可以根据查询向量和键向量的所有对之间的相似 性来计算。
自注意的表达能力和资源成本二者通常来自计算A和Y。例如,它可能 花费O(N2)时间和空间来计算Q和K之间的逐对相似性,以及计算V向量的 线性组合。通常,这种二次复杂度可能会导致将自注意作为平坦向量直接应 用于图像和视频是计算密集的。例如,一个小的32×32×33图像具有3072 尺寸。诸如此类的序列对于自注意来说可能太长了,因此自注意可能会根据 这些模式进行缩放。例如,在试图保持建模性能的同时,可以以模态感知的 方式限制这些序列长度。
一种方法可能是将条件情境x<i限制到精心设计的数据维度的小子集。虽 然这种方法可以降低注意成本,这是在这些小子集上而不是在完整的数据上 执行的,但是该模型可能无法表示数据的所有联合分布。一些提出的图像模 型将条件情境x<i限制到完整图像的小窗口,但是这种实现可能需要冗余的数 据复制来提取和处理这些小窗口。此外,例如,视频自回归模型可以通过限 制条件情境x<i来缩放,再次阻止了这样的模型表达像素的所有联合分布。本 文描述的模型不限制情境,因此可以获得更好的对数似然。
另一种方法可能是堆叠多个稀疏注意层,每个稀疏注意层具有被限制的 情境以提高计算效率,但重叠这些层的方式会产生全情境模型。然而,这种 架构通常需要定制的稀疏注意图形处理单元(GPU)内核来实现矩阵乘法运 算的特定块稀疏变量。这些模型通常不易于在其他硬件上实现,例如,张量 处理单元(TPU)。
如本文所述,可以设计基于注意的自回归模型来解决上述挑战。例如, 轴向变换器可以被配置有全调节情境,因此其表达联合分布的能力不受限制。 轴向变换器也不需要任何冗余数据复制或自定义内核来高效实现。
轴向变换器
通常,本文描述的轴向变换器可以是简单但有效的基于自注意的自回归 模型,用于被组织为多维张量的数据。本文描述的模型不是将注意应用于张 量元素的平坦串,而是沿着张量的单个轴应用注意而不进行平坦化。此操作 在本文中被称为轴向注意。由于任何单个轴的长度(即图像的高度或宽度) 通常比元素总数小得多,因此与标准自注意相比,轴向注意操作可以显著节 省计算和存储器。
所描述的轴向变换器架构允许大多数条件情境x<i嵌入有高度并行性而 不在任何位置之间引入条件独立假设的,并且也适用于易于实现的快速采样 过程。为了采样图像的一行,轴向变换器仅在该一行上运行自回归变换器, 而不重新嵌入前一行中的像素。在一些实施例中,轴向变换器可以被配置为 使其定义完全表达的联合分布。因此,对先前像素的依赖不会丢失。
如本文所述,可以生成一个或多个中间表示。例如,可以通过执行区域 插值来生成x的空间下采样表示xs↓。在本说明中,向下箭头↓表示下采样,而 向上箭头↑表示上采样。此外,例如,字母“c”表示色彩,“s”表示分辨率, “g”表示真实数据(ground truth)或输入。此外,例如,可以生成的xs↓的 3位每通道表示xs↓c↓。例如,每个色彩通道有8个强度。因此,每像素有83= 512个粗糙色彩,这可以作为单个“色彩”通道被直接预测。在一些实施例中, x的条件分布、或条件似然,表示为p(x|xg),用于合并中间表示,可以被表示 为:
p(x|xg)=p(x|xg).1=p(x|xg).p(xs↓c↓,xs↓|x,xg)=p(xs↓c↓,xs↓,x|xg) (等式3)
=p(x|xs↓,xg).p(xs↓|xs↓c↓,xg).p(xs↓c↓|xg) (等式4)
在一些方面中,自回归着色器115可以是有条件的自回归轴向变换器。 在一些实施例中,自回归着色器115可以被配置为对每个像素在512个粗糙 色彩上建模中间分布pC(xs↓c↓),条件是来自先前预测的像素的色彩按照下面 等式5的光栅顺序。另外,例如,可以训练并行预测头pC(xs↓c↓),这可以促进 正则化,如下面的等式6所示:
Figure BDA0003293573760000091
Figure BDA0003293573760000092
其中,符号“<i”分别表示第i行或第i列之前的行或列中的一个或多个 元素。在一些实施例中,对于并行的所有像素,对于上采样色彩fc↑和对于上 采样分辨率fs↑分别交替轴向自注意块。例如,fc↑可以被用于对粗糙图像xs↓c↓ 进行上采样,条件是输入图像xg在256个色彩强度上按像素、按通道分布, 如以下等式7所述。另外,例如,fs↑可以在空间上将xs↓上采样到x,如下面 的等式8所述:
Figure BDA0003293573760000101
Figure BDA0003293573760000102
轴向注意
本文描述的方法不改变多维数据张量的原始形状,并且一次在张量的单 个轴上执行掩模注意(masked attention)或无掩模注意(unmasked attention)。 如前所述,这样的操作可以被称为轴向注意,并用Attentionk(x)表示。可以在 张量x的轴k上执行注意(例如,包括像素阵列的输入图像),沿轴k混合信息, 同时保持沿其他轴的信息独立。在一些实施例中,通过将k之外的所有轴转置 到批处理轴的轴k上的轴向注意,调用标准注意作为子例程,然后撤消转置。 替代方法可以是使用深度学习库中提供的“einsum”操作。
当数据是图像时,Attention1可以被称为列注意,因为它在保持不相关的 列独立的同时混合列中的信息。此外,例如,Attention2可以被称为行注意, 因为它在保持不相关的行独立的同时混合行内的信息。对大小N=S×S的正 方形图像的轴向注意可以对长度S的S个序列执行注意。因此,总共执行
Figure BDA0003293573760000103
次计算。这可以比标准自注意节省阶
Figure BDA0003293573760000104
通常,对于 N=Sd的d维张量,轴向注意可以比标准注意节省阶N(d-1)/d次计算。沿某个 轴k的单层轴向注意可能没有完整的感受野,因为它覆盖单个轴;然而,堆 叠两个轴向注意层允许模型获得全局感受野。
掩模注意
如本文所述,掩模注意,表示为MaskedAttentionk,可以是Attentionk(x) 的因果掩模变体。例如,沿轴k的MaskedAttentionk(x)的结果的分量i可以仅 取决于沿轴k的x的分量1,…,i。图2中示出了这些注意图案(无掩模和掩模) 的感受野。在图1中描述的自回归模型中使用了这样的掩模块。
图2是示出根据示例性实施例的多维特性向量的示例性轴向变换器的图。 例如,显示了用于二维张量的轴向变换器模型。在对通道进行采样之前,之 前的通道和帧可以用8块的无掩模行注意和无掩模列注意进行编码,如205 所示。然后,对于每一行,可以应用4块的无掩模行(即全行)注意和掩模 列(即部分列)注意,以将用于活动通道的先前采样行集成到编码表示中,如 210所示。最后,如215所示,编码表示可以上移,使得调节信息满足因果关 系,然后,如220所示,可以运行由4块的掩模行注意组成的内部解码器来 对图像中的新行进行采样。
轴向注意可以被用于标准变换层内,以生产轴向变换层。基本构建块可 以与标准转换器架构中的构建块共享一个或多个方面,例如,层规范化, LayerNorm(x),以及在输入的最后一个轴x上操作的稠密层(dense layer),表 示为DenseD(x)。字母D表示输出激活的维度。如果输入具有形状H×W×C, 则此操作与1×1卷积相同,且输出具有形状H×W×D。在某些方面,在D维 嵌入的张量上操作的ResNet轴向注意块可以被定义如下:
FeedForwardBlock(x)=x+DenseD(Nonlinearity(DenseD′(LayerNorm(x)))) (等式9)
AttentionBlockk(x)=x+DenseD(Attentionk(LayerNorm(x))) (等式10)
TransformerBlockk(x)=FeedForwardBlock(AttentionBlockk(x)) (等式11)
其中,D′可以被选择为大于的常数因子D,从1到4。在一些实施例中,MaskedTransformerBlockk(x)可以通过用MaskedAttentionk替换等式7-9中 的Attentionk来定义。尽管在某些方法中使用了无掩模轴向注意,但是本文描 述的神经网络使用基于掩模轴向注意的自回归图像建模。
图3是示出根据示例性实施例的应用于多维特性向量的示例性掩模操作 的图。图3示出了作为图1的轴向变换器的构建块的轴向注意层305的类型。 完全行305A与给定活动像素320相关联,其中感受野325是整行像素。掩 模行305B与给定活动像素320相关联,其中感受野325是活动像素320之 前的部分像素行。完全列305C与给定活动像素320相关联,其中感受野325 是整列像素。掩模列305D与给定活动像素320相关联,其中感受野325是 活动像素320之前的部分像素列。阴影位置对应于输出位置的感受野,在此 也被称为给定像素或活动像素320。
在帧310处也示出了对轴向变换器的编码网络的输入的布置。先前可用 的或生成的通道的图像或视频可以被顺序地堆叠在输入中。例如,帧310A表 示当前帧的先前RGB通道。时间T-1的帧的RGB通道由帧310B表示。时 间T-2的帧的RGB通道由帧310C表示。时间T-3的帧的RGB通道由帧 310D表示。可变数量的填充平面310E可以用作将来生成的通道的占位符。 最终整数平面310F可以向轴向变换器用信号通知在该步骤生成的通道。提供 图例315以参考RGB帧的相应色彩。
图4A示出了根据示例性实施例的示例性自回归着色器115。在一些实施 例中,可以接收输入图像402,并且可以由编码器(例如,灰度编码器)生成 一个或多个嵌入(embedding)404。在一些实施例中,第一编码器406可以 表示列注意408和行注意410的层。在一些实施例中,神经网络可以包括多 个交替的逐行和逐列自注意层。例如,第一编码器406可以包括多个层,诸 如N层。第一softmax操作430可以被应用于来自第一编码器406的输出, 以生成表示为
Figure BDA0003293573760000121
的中间条件分布432。
在一些实施例中,神经网络包括自回归着色器,包括被配置为应用交替 行和列注意的编码器(例如,灰度编码器)和被配置为应用交替条件掩模列 注意和条件行注意的轴向变换器。例如,中间图像xs↓c↓412可以被编码以生成 嵌入414。第二编码器416可以表示条件行注意418和条件掩模列注意420 的另一层。在一些实施例中,第二编码器416可以接收应用第一编码器406 的输出,并执行条件行注意418和条件掩模列注意420。在一些实施例中,第 二编码器416可以包括多个层,诸如N层。下移操作422可以被应用于第一 编码器406和第二编码器416的输出。这之后可以是左移操作424,并且可 以在中间图像412上递归地重复该处理。
在一些实施例中,自回归着色器还包括一个或多个层以应用条件掩模行 注意。例如,下移操作422和左移操作424的输出可以被提供给第三编码器 426。第三编码器426可以表示条件掩模行注意428的层。与第一编码器406 和第二编码器416一样,第三编码器426可以包括多个层,诸如N层。另一 个softmax操作436可以被应用于来自第三编码器426的输出,以生成表示 为pC(xs↓c↓|xg)的另一中间条件分布。
本文使用的术语“轴向变换器”通常是指用于图像和视频的基于轴向注 意的自回归模型。在形式
Figure BDA0003293573760000131
的多层自回归模型中,本文 所述的轴向注意操作可以被用作构建块,遵循像素的光栅扫描次序。在一些 实施例中,可以在行上配置自回归模型,然后可以根据先前行调节每一行, 然后根据先前通道和帧调节。以这种方式分解模型可以产生简单、快速且部 分并行的采样过程。
单通道图像的模型
对于形状H×W的单通道图像x,每个像素采用[0,255]的整数值代表其 强度。像素强度可以首先被嵌入D维嵌入的H×W×D张量,这可以被表示为 h。可以训练模型以将h变换为适于分类或采样的H×W×256logit张量。这 些logit可能仅取决于沿着光栅扫描次序的输入x中的先前像素,以确保模型 定义有效的自回归模型。
A.内部解码器–逐行模式
一些实施例涉及通过内部解码器并以编码像素阵列和解码像素阵列为条 件,基于掩模行注意或掩模列注意中的一个应用逐行自注意。例如,可以通 过应用掩模行注意层来生成“逐行”模型:
h←Embed(x)
h←ShiftRight(h)+PositionEmbeddings
h←MaskedTransformerBlock2(h)×Lrow
(等式12)
这里,Lrow是应用于h的掩模行注意块的数量。PositionEmbeddings是向 注意层通知位置的位置嵌入的H×W×D张量。为了参数效率,可以使用“加 法分解”位置嵌入将其参数化为H×1×D行嵌入和1×W×D列嵌入的广播 总和。
ShiftRight操作将输入右移一个像素,其效果是将感受野左移一个像素。 这确保掩模行注意层将当前像素从其感受野中排除,从而允许模型架构定义 正确的自回归模型。
由于该模型仅采用行注意,因此计算效率较高。然而,它可能不会定义 全情境模型,因为输出中的每个位置可能不依赖于先前行中的输入像素。如 果结果得到的h用作像素强度预测的logit,则可以生成H个独立自回归模型的 集合,诸如每行的p(xi,j|xi,1,…,xi,j-1),i∈[1,H],代替具有全情境的单个自 回归模型。
B.外部解码器-捕获上面的行
在一些实施例中,提供阵列涉及将阵列提供给神经网络的外部解码器的 一个或多个自注意层。轴向注意的应用可以包括由外部解码器对给定像素应 用逐行自注意,其中行注意是无掩模行注意,其中列注意是掩模列注意,以 及其中一个或多个先前解码的像素位于与给定像素相关联的行之前的行中。 在一些实施例中,轴向注意的应用可以包括由外部解码器对给定像素应用逐 列自注意,其中行注意是掩模行注意,其中列注意是无掩模列注意,以及其 中一个或多个先前解码的像素位于与给定像素相关联的列之前的列中。
一些实施例涉及由外部解码器以编码像素阵列为条件生成解码像素阵列。 这样的实施例也涉及向神经网络的内部解码器的一个或多个自注意层提供解 码像素阵列。应用轴向注意可以包括由内部解码器对给定像素应用逐行自注 意,其中行注意是掩模行注意,并且在与给定像素相关联的行中,一个或多 个先前解码的像素位于给定像素之前。在一些实施例中,应用轴向注意可以 包括由内部解码器对给定像素应用逐列自注意,其中列注意是掩模列注意, 并且在与给定像素相关联的列中,一个或多个先前解码的像素在给定像素之 前。
例如,来自上面模型的每个像素xi,j取决于它自己行中的先前像素xi,<j。 因此,为了生成具有全情境的自回归模型,可以添加基于先前行x<j的附加条 件。在一些实施例中,无掩模行和掩模列层可以被插入在等式12中描述的模 型的开始处,如下:
h←Embed(x)
u←h+PositionEmbeddings
u←MaskedTransformerBlock1(TransformerBlock2(u))×Lupper/2
h←ShiftDown(u)+ShiftRight(h)+PositionEmbeddings
h←MaskedTransformerBlock2(h)×Lrow
(等式13)
张量u表示当前(或给定)像素上方捕获的情境。它可以由无掩模行和掩 模列注意层计算,重复总共Lupper层以增加模型容量,这使得u能够覆盖上面 所有行的感受野,并包括当前像素。ShiftDown操作将u下移一个像素,使其 感受野上移一个像素。因此,可以出于调节目的覆盖上面的所有像素,同时 排除当前行中的像素,这些可以添加到h,作为掩模行层的输入。通过应用这 样的过程,可以将上述逐行模型转换为完全表达的自回归模型,除了捕获当 前行上方的先前行中的像素外,还捕获当前行中的像素。
在一些实施例中,最终h可以通过层规范化和最终稠密层,以生成具有 H×W×256形状的logit。每个位置的logit取决于按光栅扫描次序的所有先 前像素位置。
C.半平行采样
来自序列模型的采样的简单实现可能会很慢,因为它们需要重新评估整 个网络以对每个位置进行采样。在本文所述的模型的情况下,对于尺寸
Figure BDA0003293573760000151
Figure BDA0003293573760000152
的正方形图像,每个网络评估可能花费
Figure BDA0003293573760000153
时间。因此, 对整个图像进行采样可能花费
Figure BDA0003293573760000154
时间,这可能在N大时 非常大。因此,本文描述的架构可以被配置为执行更快的采样,从而可以并 行计算较大部分的模型。采样算法可以基于如下伪代码:
1.对于每行i∈[1,H]:
(a)使用上层计算上层情境u,包括关于所有x<i,*的信息
(b)对于每列j∈[1,W]:
i.样本xi,j以u和行的在先元素行i(x<i,<j)为条件。
Lrow逐行层独立于行,因为它们仅通过上层情境依赖于其他行。因此, 可以通过仅评估一行的逐行层而不是其他行的逐行层来实现对一行的采样。 因此,在
Figure BDA0003293573760000155
个像素的一行中,可以在O(NLrow)时间中采样每个像素。因此, 可以在O(N2Lrow)时间中采样所有像素。另外,例如,在可以采用
Figure BDA0003293573760000156
行的每 一个之前,对于所有行的过程中总共O(N2Lupper),可以在
Figure BDA0003293573760000157
时间 计算上层情境。因此,总计算时间可估计为O(N2(Lrow+Lupper))时间,这是
Figure BDA0003293573760000158
比本地实现更快。这导致图像和视频采样的计算时间显著提高,并且可 能消耗的计算资源相应减少。
多通道图像和视频的模型
如上所述,用于形状H×W的单通道图像的架构可以被配置。这样的架 构可以扩展到形状H×W×C的多通道图像或视频,其中,C可以表示多通道 图像中的通道数,或视频中通道数和时间步长的乘积。对形状H×W×C的此 类数据的建模可以是将通道堆叠在彼此的顶部,形成形状(H.C)×W或H× (W.C)的单通道图像。这样的过程可以容易地实现,但是可能增加列注意或行 注意的序列长度,这对于大的C来说可能是较大的。在一些实施例中,一个通 道可以一次被建模为单通道图像,条件是使用无掩模行和无掩模列注意层的 额外集合的先前通道。因此,可以配置形式p(x:,:,c|x:,:,<c)的模型,其中先前通 道x:,:,<c可以被处理为情境信息的H×W×D张量,可以随后添加到单通道编 码器模型的第一编码块中。这些参数不能在这些层中共享。
一些实施例涉及训练神经网络接收与第一特性相关联的给定输入图像 (例如,灰度图像),并应用轴向注意将给定输入图像变换为与第二特性相关 联的输出图像(例如,灰度图像的着色)。在训练时,可以对每个图像的随机 通道切片执行训练。例如,使用这些无掩模注意层的先前切片可以被用于产 生情境张量,并且可以最大化以该情境为条件的随机选择切片的概率。在某 些方面,这可能类似于对整个数据张量的对数概率进行无偏估计的训练。该 架构可以被训练为最小化数据的负对数概率(等式7)。注意,
Figure BDA0003293573760000161
Figure BDA0003293573760000162
可以被独立最大化,因此参考不同的模型。对数概率可以被确定为:
Figure BDA0003293573760000163
在一些实施例中,训练神经网络涉及基于被训练以检测给定输入图像中 的一个或多个对象的对象检测网络来训练神经网络。
在一些实施例中,生成输出图像涉及通过对像素阵列的每个像素应用并 行下采样来生成中间输出图像,其中,第一中间输出图像包括中间色彩深度、 中间色彩强度、中间空间分辨率或中间色彩分辨率中的一个或多个。这样的 实施例也涉及将中间输出图像中的每个像素并行上采样到输出色彩深度、输 出色彩强度、输出空间分辨率或输出色彩分辨率中的相应一个或多个。
一些实施例涉及通过对像素阵列的每个像素应用并行下采样来生成包括 中间色彩深度的第一中间输出图像。这些实施例也涉及通过对第一中间输出 图像的每个像素应用并行下采样来生成包括中间色彩强度的第二中间输出图 像。一些实施例涉及将第二中间输出图像中的每个像素从中间色彩强度并行 上采样到目标色彩强度。这样的实施例也涉及对上采样的第二中间输出图像 中的每个像素从中间色彩深度并行上采样到目标色彩深度。
图4B示出了根据示例性实施例的示例性色彩上采样器125。为了从低分 辨率、粗糙彩色图像——例如,中间图像xs↓c↓ 212和给定高分辨率输入图像, 例如,输入图像xg402——生成高保真彩色图像,可以训练色彩上采样器125 和空间上采样器135。在一些实施例中,这两个模型可以共享相同的架构,同 时在其各自的输入和操作分辨率上有所不同。与自回归着色器115的编码器 类似,色彩上采样器125和空间上采样器135包括多层交替的行/列自注意层。 编码器的输出被投影以计算相应上采样器的每像素色彩概率的logit。
粗糙彩色图像,诸如512色彩的中间图像212,
Figure BDA0003293573760000171
可以 被转换回每通道具有8符号的3比特RGB图像。例如,自回归着色器115生 成的被表示为
Figure BDA0003293573760000172
的中间条件分布232可以用于生成中间图像212 xs↓c↓的通道嵌入240。通道可以使用单独的嵌入矩阵被嵌入
Figure BDA0003293573760000173
(例如,通道嵌入240),其中,k∈{R,G,B}指示通道。在一些实施例中,每 个通道可以通过仅单独调节相应通道的嵌入来上采样。通道嵌入240可以在 步骤244与每个像素的相应灰度和位置嵌入242相加,并用作后续自注意层、 第四编码器246的输入。例如,第四编码器246可以表示列注意248和行注 意250的层。在一些实施例中,第四编码器246可以包括多个层,诸如N层。 第三softmax 252可以应用于第四编码器246的输出,以将输出投影到每像素 通道概率分布254,表示为
Figure BDA0003293573760000174
256个色彩强度, 且用于每个通道k∈{R,G,B}。
图4C示出了根据示例性实施例的示例性空间上采样器135。在一些实施 例中,并行上采样可以被有效用于高质量着色。为了避免可能源于并行采样 的像素之间的轻微色彩不一致,在一些实施例中,代替采样,可以为每个像 素预测最可能的色彩。尽管这似乎在某种程度上限制了着色的潜在多样性, 但仅对粗糙色彩进行采样通常可以生成各种着色。并行上采样可能具有更快 色彩生成的技术优势,从而显着提高高分辨率全自回归模型的速度。
在一些实施例中,每像素通道概率分布254,表示为
Figure RE-GDA0003409340050000175
可以从色彩上采样器125接收,以使用区域插值258将下采样的中间图像 256,表示为
Figure RE-GDA0003409340050000176
简单地上采样为模糊的高分辨率RGB图像。 如参考图1的色彩上采样器125所述,模糊RGB图像的每个通道可以被嵌 入。例如,可以使用单独的嵌入矩阵将通道嵌入到
Figure RE-GDA0003409340050000177
(例如, 通道嵌入262),其中,k∈{R,G,B}指示通道。在一些实施例中,每个通道可 以通过仅单独调节相应通道的嵌入来上采样。通道嵌入262可以在步骤268 处与每个像素的相应灰度和位置嵌入266相加,并用作后续自注意层、第五 编码器270的输入。例如,第五编码器270可以表示列注意274和行注意272 的层。在一些实施例中,第五编码器270可以包括多个层,诸如N层。第四 softmax 276可以应用于第五编码器270的输出,以将输出投影到每像素通道 概率分布278,表示为
Figure RE-GDA0003409340050000181
256个色彩强度,并且对 于每个通道k∈{R,G,B}。
图5示出了根据示例实施例的应用于灰度图像的着色的示例图像。在图 像510、515、520、525、530、535、540和545的每一行中,显示第一灰度 图像以及灰度图像的三个着色。
图6A和图6B示出了根据示例性实施例在训练神经网络时超参数选择 的示例性图形表示。图605示出:在α=0.01,模型更快收敛到更好的FID。 图610示出:在更高值的α,模型的性能可能会迅速恶化。
图7示出了根据示例实施例的基于灰度图像的预测概率分布的示例图形 表示。512个色彩的每像素最大预测概率被显示为不确定性的代理。例如,图 像710是对于图像705在512个色彩上的每像素最大预测概率。作为另一示 例,图像720是对于图像715在512个色彩上的每像素最大预测概率。
评估
轴向变换器可以根据图像和视频建模基准进行评估。通常,轴向变换器 在ImageNet-32和ImageNet-64上实现最先进的结果。通过沿通道尺寸堆叠视 频,轴向变换器可以被直接应用于通道堆叠视频,具有的修改量最小。轴向 变换器在不使用专门为视频设计的架构的情况下,性能也优于先前结果。这 些数据集上生成的样本通常具有预期的高质量。
轴向变换器不需要用于GPU或TPU的子线程,这些子线程可能会表现 出不利的存储器带宽和计算折中。使用深度学习框架中提供的高效操作,轴 向变换器易于实现。
在一些方面中,轴向变换器和LSTM内部解码器的组合在ImageNet32和ImageNet64基准上表现良好,从而也证明了轴向变换器的其余部分从先前行 捕获情境的有效性。此外,例如,轴向变换器的完全四层内部解码器提供了 额外的性能提升和显著更快的训练。轴向变换器和LSTM内部解码器的组合 具有在每个自回归步骤处需要少量矩阵向量积来计算层的优点,与轴向变换 器所需的大约12个矩阵向量积相比是有利的。
示例应用
在一个方面中,输入数据集、诸如多维特性向量的集合可以被变换以输 出修改的多维特性向量的集合。例如,可以将与第一特性相关联的输入图像 变换为与第二特性相关联的输出图像。例如,灰度图像可以被变换以输出高 保真着色。例如,黑白照片、低分辨率图像、模糊图像和/或具有不完美和/或 不希望的着色的图像可以转换以输出高保真色彩。
在一些示例实施例中,可以转换输入图像以输出输入图像的增强版本。 例如,灰度图像可以被增强为高分辨率黑白图像。此外,例如,可以将彩色图 像增强为高分辨率彩色图像。
在另一方面中,灰度视频可以被转换以输出视频的高保真着色。例如, 可以转换旧的黑白视频以获得逼真的着色。此外,例如,可以提高视频的图 像分辨率。作为另一示例,可以增强视频的色彩深度或色彩强度。
在另一方面中,从第一图像到目标(例如,高分辨率、高保真度、彩色) 图像的转换可以由诸如移动电话设备的移动设备执行。例如,用户可以访问 由移动电话设备的相机捕获的图像,并指示修改所访问的图像的愿望。因此, 移动电话设备可以转换捕获的图像以输出期望的图像。在一些实现中,可以 向用户提供一个或多个输出图像,并且用户可以从一个或多个输出图像中进 行选择。
在一些示例实施例中,用户可以从图像库访问图像。在其他示例实施例 中,用户可以经由移动电话设备接收图像,例如,用于另一用户,或从图像服 务器下载图像。
例如,用户可以从视频服务器向移动电话设备检索黑白视频,然后用户 可以指示对检索的视频进行着色的愿望。因此,移动电话设备可以转换检索 的视频以输出高保真彩色视频。
在一些示例实施例中,神经网络架构可以被用于图像编辑。
在一些示例实施例中,神经网络可以被用作另一机器学习模型的预处理 步骤。
在一些示例实施例中,神经网络架构可以被用于变换和/或增强被表示为 多维特征向量的任何数据集。
这些和其他示例性应用在本公开的范围内被考虑。
图8示出了根据示例性实施例的真实数据图像和图像的预测着色的示例。 在每列中,真实数据图像由两个样本描述。例如,列810中的图像对应于真 实数据图像。列820和830中的图像示出了各种实际着色。图像图示了从列 820中的第一样本到列830中的第二样本的真实性如何提高。
图9示出了根据示例性实施例的真实数据图像和图像的预测着色的示例。 在每个图像集合中,底行910对应于真实数据,且顶行920对应于预测着色。
训练用于生成推断/预测的机器学习模型
图10示出了图示根据示例实施例的训练后的机器学习模型(或多个) 1032的训练阶段1002和推断阶段1004的图1000。一些机器学习技术涉及在 训练数据的输入集上训练一个或多个机器学习算法,以识别训练数据中的模 式,并提供关于训练数据(中的模式)的输出推断和/或预测。由此产生的训 练后的机器学习算法可以被称为训练后的机器学习模型。例如,图10示出训 练阶段1002,其中一个或多个机器学习算法(或多个)1020正在训练数据 1010上被训练,以成为训练后的机器学习模型(或多个)1032。然后,在推 断阶段1004期间,训练后的机器学习模型(或多个)1032可以接收输入数据 1030和一个或多个推断/预测请求1040(可能作为输入数据1030的一部分), 并响应地提供一个或多个推断和/或预测1050作为输出。
因此,训练后的机器学习模型(或多个)1032可以包括一个或多个机器 学习算法(或多个)1020的一个或多个模型。机器学习算法(或多个)1020 可以包括但不限于:人工神经网络(例如,本文描述的卷积神经网络、递归神 经网络、贝叶斯网络、隐马尔可夫模型、马尔可夫决策过程、逻辑回归函数、 支持向量机、合适的统计机器学习算法和/或启发式机器学习系统)。机器学习 算法(或多个)1020可以是有监督的或无监督的,并且可以实现在线和离线 学习的任何适当组合。
在一些示例中,机器学习算法(或多个)1020和/或训练后的机器学习模 型(或多个)1032可以使用设备上协处理器来加速,诸如图形处理单元(GPU)、 张量处理单元(TPU)、数字信号处理器(DSP)和/或专用集成电路(ASIC)。 这样的设备上协处理器可以用于加速机器学习算法(或多个)1020和/或训练 后的机器学习模型(或多个)1032。在某些示例中,训练后的机器学习模型 (或多个)1032可以被训练、驻留和执行以在特定计算设备上提供推断,和/或以其他方式可以对特定计算设备进行推断。
在训练阶段1002期间,可以通过使用无监督、有监督、半监督和/或强 化学习技术提供至少训练数据1010作为训练输入来训练机器学习算法(或多 个)1020。无监督学习涉及将训练数据1010的一部分(或全部)提供给机器 学习算法(或多个)1020,并且机器学习算法(或多个)1020基于所提供 的训练数据1010的部分(或全部)确定一个或多个输出推断。监督学习涉 及向机器学习算法(或多个)1020提供训练数据1010的一部分,机器学 习算法(或多个)1020基于提供的训练数据1010的部分确定一个或多个 输出推断,并且输出推断(或多个)基于与训练数据1010相关联的正确结 果被接受或校正。在一些示例中,机器学习算法(或多个)1020的监督学习 可以由用于训练输入的规则集合和/或标签集合监管,且规则集合和/或标签集 合可以被用于校正机器学习算法(或多个)1020的推断。
半监督学习涉及对部分(但不是全部)训练数据1010获得正确结果。在 半监督学习期间,监督学习用于具有正确结果的部分训练数据1010,而非监 督学习用于不具有正确结果的部分训练数据1010。强化学习涉及机器学习算 法(或多个)1020接收关于先前推断的奖励信号,其中奖励信号可以是数字 值。在强化学习期间,机器学习算法(或多个)1020可以输出推断并接收奖 励信号作为响应,其中机器学习算法(或多个)1020被配置为尝试最大化奖 励信号的数值。在某些示例中,强化学习还利用数值函数,提供表示奖励信 号随时间提供的数值的预期总和的数值。在某些示例中,机器学习算法(或 多个)1020和/或训练的机器学习模型(或多个)1032可以使用其他机器学习 技术进行训练,包括但不限于增量学习和课程学习。
在一些示例中,机器学习算法(或多个)1020和/或训练后的机器学习模 型(或多个)1032可以使用迁移学习技术。例如,迁移学习技术可以涉及训 练后的机器学习模型(或多个)1032在数据集上被预训练,并使用训练数据 1010被额外训练。更具体地,机器学习算法(或多个)1020可以在来自一个 或多个计算设备和提供给计算设备CD1的结果得到的训练后的机器学习模型 的数据上被预训练,其中,CD1意欲在推断阶段1004期间执行训练后的机器 学习模型。然后,在训练阶段1002期间,可以使用训练数据1010对预训练 的机器学习模型进行额外训练,其中训练数据1010可以从计算设备CD1的 内核和非内核数据导出。可以使用监督或非监督学习来执行机器学习算法(或 多个)1020和/或使用CD1数据的训练数据1010的预训练机器学习模型的进 一步训练。一旦机器学习算法(或多个)1020和/或预训练的机器学习模型已 经在至少训练数据1010上训练,则训练阶段1002可以完成。训练后的结果 得到的机器学习模型可以用作训练后的机器学习模型(或多个)1032中的至 少一个。
特别地,一旦训练阶段1002已经完成,则训练后的机器学习模型(或多 个)1032可以被提供给计算设备(如果尚未在计算设备上)。推断阶段1004 可以在训练后的机器学习模型(或多个)1032被提供给计算设备CD1之后开 始。
在推断阶段1004期间,训练后的机器学习模型(或多个)1032可以接 收输入数据1030,并生成和输出关于输入数据1030的一个或多个相应的推 断和/或预测1050。因此,输入数据1030可以被用作训练后的机器学习模型 (或多个)1032的输入,以向内核组件和非内核组件提供相应的推断和/或预 测1050。例如,训练后的机器学习模型(或多个)1032可以响应于一个或多 个推断/预测请求1040生成推断和/或预测1050。在一些示例中,训练后的机 器学习模型(或多个)1032可以由其他软件的一部分执行。例如,训练后的 机器学习模型(或多个)1032可以由推断或预测守护进程执行,以便在请求 时提供推断和/或预测。输入数据1030可以包括来自执行训练后的机器学习 模型(或多个)1032的计算设备CD1的数据和/或来自除CD1以外的一个或 多个计算设备的输入数据。
输入数据1030可以包括由一个或多个源提供的图像的集合。图像的集合 可以包括视频帧、驻留在计算设备CD1上的图像和/或其他图像。其他类型的 输入数据也是可能的。
推断(或多个)和/或预测(或多个)1050可以包括输出图像、输出中间 图像、数字值和/或由训练后的机器学习模型(或多个)1032对输入数据1030 (和训练数据1010)进行操作而产生的其他输出数据。在一些示例中,训练 后的机器学习模型(或多个)1032可以使用输出推断(或多个)和/或预测(或 多个)1050作为输入反馈1060。训练后的机器学习模型(或多个)1032也可 以依赖过去的推断作为输入来生成新的推断。
有条件的基于轴向自注意的神经网络可以是机器学习算法(或多个)1020 的示例。在训练之后,神经网络的训练版本可以是训练后的机器学习模型(或 多个)1032的示例。在这种方法中,推断/预测请求(或多个)1040的示例可 以是预测灰度图像的着色的请求,并且推断和/或预测(或多个)1050的对应 示例可以是包括灰度图像的着色的输出图像。推断/预测请求(或多个)1040 的另一示例可以是预测图像的空间放大的请求,并且推断和/或预测(或多个) 1050的对应示例可以是包括空间放大的输入图像的输出图像。
在一些示例中,一个计算设备CD_SOLO可以包括有条件的基于轴向自 注意的神经网络的训练版本,可能在训练之后。然后,计算设备CD_SOLO可 以接收请求,以请求将与第一特性相关联的输入图像变换为与第二特性相关 联的输出图像,并使用神经网络的训练版本生成与第二特性相关联的输出图 像。
在一些示例中,可以使用两个或更多个计算设备CD_CLI和CD_SRV来 提供输出图像;例如,第一计算设备CD_CLI可以生成将灰度图像变换为第 二计算设备CD_SRV的请求并发送。然后,CD_SRV可以使用神经网络的训 练版本,生成将灰度图像变换为灰度图像的着色的输出图像,并响应CD_CLI 对输出图像的请求。然后,在接收到对请求的响应后,CD_CLI可以提供请求 的输出图像(例如,使用用户界面和/或显示器、打印副本、电子通信等)。
示例数据网络
图11描绘了根据示例实施例的分布式计算架构1100。分布式计算架构 1100包括服务器设备1108、1110,被配置为经由网络1106与可编程设备1104a、 1104b、1104c、1104d、1104e通信。网络1106可以对应于局域网(LAN)、 广域网(WAN)、WLAN、WWAN、公司内部网、公共互联网或配置为在联网 计算设备之间提供通信路径的任何其他类型的网络。网络1106还可以对应于 一个或多个LAN、WAN、公司内部网和/或公共互联网的组合。
尽管图11仅示出了五个可编程设备,但是分布式应用架构可以服务于数 十个、数百个或数千个可编程设备。此外,可编程设备1104a、1104b、1104c、 1104d、1104e(或任何其他可编程设备)可以是任何类型的计算设备,诸如移 动计算设备、台式计算机、可穿戴计算设备、头戴式设备(HMD)、网络终端、 移动计算设备等。在一些示例中,诸如可编程设备1104a、1104b、1104c、1104e 所示,可编程设备可以直接连接到网络1106。在其他示例中,诸如可编程设 备1104d所示,可编程设备可以通过相关联的计算设备,诸如可编程设备1104c,间接连接到网络1106。在此示例中,可编程设备1104c可以充当相关 联的计算设备,以在可编程设备1104d和网络1106之间传递电子通信。在其 他示例中,诸如可编程设备1104e所示,计算设备可以是车辆的一部分和/或 在车辆内部,诸如汽车、卡车、公共汽车、船或轮船、飞机等。在图11中未 示出的其他示例中,可编程设备可以直接和间接连接到网络1106。
服务器设备1108、1110可以被配置为根据可编程设备1104a-1104e的请 求执行一个或多个服务。例如,服务器设备1108和/或1110可以向可编程设 备1104a-1104e提供内容。内容可以包括但不限于网页、超文本、脚本、二进 制数据,诸如编译软件、图像、音频和/或视频。内容可以包括压缩和/或未压 缩的内容。内容可以加密和/或未加密。其他类型的内容也可以。
作为另一示例,服务器设备1108和/或1110可以向可编程设备1104a- 1104e提供对用于数据库、搜索、计算、图形、音频、视频、万维网/互联网利 用和/或其他功能的软件的接入。服务器设备的许多其他示例也是可能的。
计算设备架构
图12是根据示例性实施例的示例性计算设备1200的框图。具体而言, 图12中所示的计算设备1200可以被配置为执行有条件的基于轴向自注意的 神经网络和/或方法1400的至少一个功能和/或与之相关的功能。
计算设备1200可以包括用户接口模块1201、网络通信模块1202、一个 或多个处理器1203、数据存储器1204、一个或多个相机1218、一个或多个传 感器1220和电力系统1222,所有这些都可以经由系统总线、网络或其他连接 机制1205链接在一起。
用户接口模块1201可以用于向外部用户输入/输出设备发送数据和/或从 外部用户输入/输出设备接收数据。例如,用户接口模块1201可以被配置为向 用户输入设备发送和/或从用户输入设备接收数据,诸如触摸屏、计算机鼠标、 键盘、小键盘、触摸板、轨迹球、操纵杆、语音等识别模块和/或其他类似设 备。用户接口模块1201还可以配置为向用户显示设备提供输出,诸如一个或 多个阴极射线管(CRT)、液晶显示器、发光二极管(LED)、使用数字光处理 (DLP)的显示器技术、打印机、灯泡和/或其他类似设备,无论是现在已知 的还是后来开发的。用户接口模块1201还可以被配置为使用诸如扬声器、扬 声器插孔、音频输出端口、音频输出设备、耳机和/或其他类似设备来生成音 频输出。用户接口模块1201可以进一步配置有一个或多个触觉设备,可产生 触觉输出,诸如振动和/或可通过触摸计算设备1200和/或与计算设备1200的 物理接触检测的其他输出。在一些示例中,用户界面模块1201可用于提供图 形用户界面(GUI),用于利用计算设备1200,例如,移动电话设备的图形用 户界面。
网络通信模块1202可以包括一个或多个设备,提供一个或多个无线接口 1207和/或一个或多个有线接口1208,可配置为通过网络进行通信。无线接口 (或多个)1207可以包括一个或多个无线发送器、接收器和/或收发器,诸如 蓝牙TM收发器、
Figure BDA0003293573760000251
收发器、Wi-FiTM收发器、WiMAXTM收发器、LTETM收 发器和/或可配置为通过无线网络进行通信的其他类型的无线收发器。有线接 口(或多个)1208可以包括一个或多个有线发送器、接收器和/或收发器,诸 如以太网收发器、通用串行总线(USB)收发器或类似收发器,可配置为通过 双绞线、同轴电缆、光纤链路或与有线网络的类似物理连接进行通信。
在一些示例中,网络通信模块1202可以被配置为提供可靠、安全和/或 认证的通信。对于本文所述的每个通信,可提供用于促进可靠通信(例如,保 证的消息传递)的信息,可能作为消息报头和/或页脚的一部分(例如,分组 /消息序列信息、封装页眉和/或页脚、大小/时间信息以及传输验证信息,诸如 循环冗余校验(CRC)和/或奇偶校验值)。通信可以安全(例如,编码或加密) 和/或使用一个或多个加密协议和/或算法进行解密/解码,例如但不限于数据 加密标准(DES)、高级加密标准(AES)、Rivest-Shamir-Adelman(RSA)算 法、Diffie-Hellman算法、安全套接字协议,诸如安全套接字层(SSL)或传 输层安全性(TLS),和/或数字签名算法(DSA)。除了此处列出的那些协议 和/或算法之外,还可以使用其他密码协议和/或算法来保护(然后解密/解码) 通信。
一个或多个处理器1203可以包括一个或多个通用处理器和/或一个或多 个专用处理器(例如,数字信号处理器、张量处理单元(TPU)、图形处理单 元(GPU)、专用集成电路等)。一个或多个处理器1203可以被配置为执行包 含在数据存储器1204中的计算机可读指令1206和/或如本文所述的其它指 令。
数据存储器1204可以包括一个或多个非暂时性计算机可读存储媒体,其 可以由一个或多个处理器1203中的至少一个读取和/或接入。一个或多个计 算机可读存储媒体可以包括易失性和/或非易失性存储组件,诸如光、磁、有 机或其他存储器或磁盘存储器,其可全部或部分地与一个或多个处理器1203 中的至少一个集成。在一些示例中,数据存储1204可以使用单个物理设备(例 如,一个光、磁、有机或其他存储器或磁盘存储单元)来实现,而在其他示例 中,数据存储1204可以使用两个或多个物理设备来实现。
数据存储器1204可以包括计算机可读指令1206以及可能的附加数据。 在一些示例中,数据存储1204可以包括执行本文描述的方法、场景和技术的 至少一部分和/或本文描述的设备和网络的功能的至少一部分所需的存储。在 一些示例中,数据存储器1204可以包括用于训练神经网络模型1212的存储 器(例如,训练神经网络的模型,诸如有条件的基于轴向自注意的神经网络)。 具体地,在这些示例中,计算机可读指令1206可以包括当由处理器1203执 行时使计算设备1200能够提供训练神经网络模型1212的部分或全部功能的指令。
在一些示例中,计算设备1200可以包括一个或多个相机1218。相机1218 可以包括一个或多个图像捕获设备,诸如静止和/或摄像机,其被装备用于捕 获光并在一个或多个图像中记录捕获的光;也就是说,相机1218可以生成捕 获光的图像。一个或多个图像可以是一个或多个静止图像和/或视频图像中使 用的一个或多个图像。相机1218可以捕获作为可见光、红外辐射、紫外线和 /或作为一个或多个其他光频率发射的光和/或电磁辐射。
在一些示例中,计算设备1200可以包括一个或多个传感器1220。传感 器1220可以被配置为测量计算设备1200内的条件和/或计算设备1200的环 境中的条件,并提供关于这些条件的数据。例如,传感器1220可以包括以下 的一个或多个:(i)用于获得关于计算设备1200的数据的传感器,例如但不 限于用于测量计算设备1200的温度的温度计、用于测量电力系统1222的一 个或多个电池的功率的电池传感器和/或测量计算设备1200的条件的其他传 感器;(ii)用于识别其他物体和/或设备的识别传感器,例如但不限于射频识 别(RFID)读取器、接近传感器、一维条形码读取器、二维条形码(例如快 速响应(QR)码)读取器和激光跟踪器,其中,识别传感器可以被配置为读 取标识符,诸如RFID标签、条形码、QR码和/或被配置为读取并至少提供识 别信息的其他设备和/或对象;(iii)用于测量计算设备1200的位置和/或运动 的传感器,例如但不限于倾斜传感器、陀螺仪、加速计、多普勒传感器、GPS 设备、声纳传感器、雷达设备、激光位移传感器和指南针;(iv)用于获得指 示计算设备1200的环境的数据的环境传感器,例如但不限于红外传感器、光 学传感器、光传感器、生物传感器、电容传感器、触摸传感器、温度传感器、 无线传感器、无线电传感器、运动传感器、麦克风、声音传感器,超声波传感 器和/或烟雾传感器;和/或(v)力传感器,用于测量作用于计算设备1200的 一个或多个力(例如惯性力和/或重力),例如但不限于一个或多个传感器,用 于测量:一维或多维力、扭矩、地面力、摩擦力和/或零力矩点(ZMP)传感 器,用于识别ZMP和/或ZMP的位置。传感器1220的许多其他示例也是 可能的。
电力系统1222可以包括一个或多个电池1224和/或一个或多个外部电源 接口1226,用于向计算设备1200提供电力。当与计算设备1200电耦合时, 一个或多个电池1224的每个电池可以用作计算设备1200的存储电力的源。 电力系统1222的一个或多个电池1224可以被配置为便携式。一个或多个电 池1224中的部分或全部可以容易地从计算设备1200移除。在其他示例中, 一个或多个电池1224中的部分或全部可以位于计算设备1200内部,因此可 能不容易从计算设备1200移除。一个或多个电池1224的部分或全部可再充 电。例如,可再充电电池可以通过电池和另一电源之间的有线连接进行再充 电,诸如通过计算设备1200外部的一个或多个电源,并通过一个或多个外部 电源接口连接到计算设备1200。在其他示例中,一个或多个电池1224中的部 分或全部可以是非充电电池。
电力系统1222的一个或多个外部电源接口1226可以包括一个或多个有 线电源接口,诸如USB电缆和/或电源线,其使得能够有线电源连接到计算设 备1200外部的一个或多个电源。一个或多个外部电源接口1226可以包括一 个或多个无线电源接口,诸如Qi无线充电器,其使得无线电源连接(例如经 由Qi无线充电器)能够连接到一个或多个外部电源。一旦使用一个或多个外 部电源接口1226建立到外部电源的电源连接,计算设备1200就可以从外部 电源中提取电力以实现所建立的电源连接。在一些示例中,电力系统1222可 以包括相关传感器,诸如与一个或多个电池相关联的电池传感器或其他类型 的电功率传感器。
基于云的服务器
图13描绘了根据示例实施例被布置为基于云的服务器系统的计算集群 1309a、1309b、1309c的网络1106。计算集群1309a、1309b、1309c可以是存 储基于云的应用和/或服务的程序逻辑和/或数据的基于云的设备;例如,执行 神经网络、有条件的基于轴向自注意的神经网络和/或方法2400的至少一项 功能和/或与之相关的功能。
在一些实施例中,计算集群1309a、1309b、1309c可以是驻留在单个计 算中心中的单个计算设备。在其他实施例中,计算集群1309a、1309b、1309c 可以包括单个计算中心中的多个计算设备,或者甚至包括位于不同地理位置 的多个计算中心中的多个计算设备。例如,图13描绘了驻留在不同物理位置 的计算集群1309a、1309b和1309c中的每一个。
在一些实施例中,计算集群1309a、1309b、1309c的数据和服务可被编 码为存储在非暂时性有形计算机可读媒体(或计算机可读存储媒体)中并可 以由其他计算设备可接入的计算机可读信息。在一些实施例中,计算集群 1309a、1309b、1309c可以存储在单个磁盘驱动器或其他有形存储媒体上,或 者可以实现在位于一个或多个不同地理位置的多个磁盘驱动器或其他有形存 储媒体上。
图13描绘了根据示例实施例的基于云的服务器系统。在图13中,有条 件的基于轴向自注意的神经网络和/或计算设备的功能可以分布在计算集群 1309a、1309b、1309c之间。计算集群1309a可以包括由本地集群网络1312a 连接的一个或多个计算设备1300a、集群存储阵列1310a和集群路由器1311a。 类似地,计算集群1309b可以包括由本地集群网络1312b连接的一个或多个 计算设备1300b、集群存储阵列1310b和集群路由器1311b。类似地,计算集 群1309c可以包括由本地集群网络1312c连接的一个或多个计算设备1300c、 集群存储阵列1310c和集群路由器1311c。
在一些实施例中,计算集群1309a、1309b和1309c中的每一个可以具有 相等数量的计算设备、相等数量的集群存储阵列和相等数量的集群路由器。 然而,在其他实施例中,每个计算集群可以具有不同数量的计算设备、不同 数量的集群存储阵列和不同数量的集群路由器。每个计算集群中的计算设备、 集群存储阵列和集群路由器的数量取决于分配给每个计算集群的一个或多个 计算任务。
例如,在计算集群1309a中,计算设备1300a可以被配置为执行有条件 的基于轴向自注意的神经网络和/或计算设备的各种计算任务。在一个实施例 中,神经网络和/或计算设备的各种功能可以分布在计算设备1300a、1300b、 1300c中的一个或多个之间。相应计算集群1309b和1309c中的计算设备1300b 和1300c可以类似于计算集群1309a中的计算设备1300a来配置。另一方面, 在一些实施例中,计算设备1300a、1300b和1300c可以被配置为执行不同的 功能。
在一些实施例中,与神经网络和/或计算设备相关联的计算任务和存储的 数据可以至少部分地基于神经网络的处理要求和/或计算设备,计算设备 1300a、1300b、1300c的处理能力,每个计算集群中的计算设备之间和计算集 群本身之间的网络链接的延迟,和/或其他可能影响成本、速度、容错、弹性、 效率和/或整个系统架构的其他设计目标的因素而分布在计算设备1300a、 1300b和1300c之间。
计算集群1309a、1309b、1309c的集群存储阵列1310a、1310b、1310c可 以是数据存储阵列,其中包括配置为管理对硬盘驱动器组的读写接入的磁盘 阵列控制器。磁盘阵列控制器单独或与其相应的计算设备结合使用,还可以 配置为管理存储在群集存储阵列中的数据的备份或冗余副本,以防止磁盘驱 动器或其他群集存储阵列故障和/或网络故障,从而阻止一个或多个计算设备 接入一个或多个群集存储阵列。
类似于有条件的基于轴向自注意的神经网络和/或计算设备的功能可以 分布在计算集群1309a、1309b、1309c的计算设备1300a、1300b、1300c上的 方式,这些组件的各种活动部分和/或备份部分可以分布在群集存储阵列 1310a、1310b、1310c中。例如,一些集群存储阵列可以被配置为存储神经网 络和/或计算设备的第一层的数据的一部分,而其他集群存储阵列可以存储神 经网络和/或计算设备的第二层的数据的其他部分。此外,例如,一些集群存 储阵列可以被配置为存储神经网络的编码器的数据,而其他集群存储阵列可 以存储神经网络的解码器的数据。此外,可以将某些群集存储阵列配置为存 储其他群集存储阵列中存储的数据的备份版本。
计算集群1309a、1309b、1309c中的集群路由器1311a、1311b、1311c可 以包括被配置成为计算集群提供内部和外部通信的网络设备。例如,计算集 群1309a中的集群路由器1311a可以包括一个或多个互联网交换和路由设备, 其被配置为通过本地集群网络1312a提供(i)计算设备1300a和集群存储阵 列1310a之间的局域网通信,以及(ii)计算集群1309a与计算集群1309b和 1309c之间经由广域网链路1313a到网络1106的广域网通信。集群路由器 1311b和1311c可以包括类似于集群路由器1311a的网络设备,并且集群路由 器1311b和1311c可以为计算集群1309b和1309b执行集群路由器1311a为 计算集群1309a执行的类似联网功能。
在一些实施例中,集群路由器1311a、1311b、1311c的配置可以至少部 分地基于计算设备和集群存储阵列的数据通信需求、集群路由器1311a、1311b、 1311c中的网络设备的数据通信能力、本地集群网络1312a、1312b、1312c的 延迟和吞吐量、广域网链路1313a、1313b、1313c的延迟、吞吐量和成本和/ 或其他可能导致调节系统架构的成本、速度、容错、弹性、效率和/或其他设 计标准的因素。
示例操作方法
图14是根据示例实施例的方法1400的流程图。方法1400可以由诸如 计算设备1200的计算设备执行。方法1400可以在框1410处开始,其中方法 涉及接收包括像素阵列的输入图像,其中输入图像与第一特性相关联。
在框1420,方法涉及应用神经网络将与第一特性相关联的输入图像变换 为与第二特性相关联的输出图像,其中应用神经网络涉及通过神经网络的编 码器,对于输入图像的像素阵列的每个像素,生成编码像素,向神经网络的 解码器提供编码像素阵列,通过解码器应用轴向注意以对给定像素进行解码, 其中,轴向注意包括应用于与给定像素相关联的行或列之前的行或列中的一 个或多个先前解码像素的行注意或列注意,并且其中行注意或列注意混合相 应行或列中的信息,并保持各个不同行或不同列之间的独立性。
在框1430,方法涉及通过神经网络生成与第二特性相关联的输出图像。
在一些实施例中,神经网络包括多个交替的逐行自注意层和逐列自注意 层。
在一些实施例中,提供阵列涉及将阵列提供给神经网络的外部解码器的 一个或多个自注意层,并且其中应用轴向注意包括通过外部解码器应用以下 中的一个:向给定像素应用逐行自注意,其中行注意是无掩模行注意,其中 列注意是掩模列注意,并且其中,一个或多个先前解码的像素在与给定像素 相关联的行之前的行中;或者向给定像素应用逐列自注意,其中行注意是掩 模行注意,其中列注意是无掩模列注意,并且其中一个或多个先前解码的像 素在与给定像素相关联的列之前的列中。
一些实施例涉及由外部解码器并以编码像素阵列为条件生成解码像素阵 列。这些实施例还涉及向神经网络的内部解码器的一个或多个自注意层提供 解码像素阵列,其中应用轴向注意涉及通过内部解码器应用以下中的一个: 对给定像素应用逐行自注意,其中行注意是掩模行注意,并且其中,一个或 多个先前解码像素在与给定像素相关联的行中在给定像素之前;或者对给定 像素应用逐列自注意,其中列注意是掩模列注意,以及其中,一个或多个先 前解码像素在与给定像素相关联的列中在给定像素之前。
一些实施例涉及通过内部解码器并以编码像素阵列和解码像素阵列为条 件,基于掩模行注意或掩模列注意中的一个应用逐行自注意。
在一些实施例中,与第一特性相关联的输入图像可以是第一分辨率的图 像,其中与第二特性相关联的输出图像可以是第二分辨率的图像,其中第二 分辨率大于第一分辨率。
在一些实施例中,与第一特性相关联的输入图像可以是灰度图像,其中 与第二特性相关联的输出图像可以是灰度图像的着色版本。在一些实施例中, 灰度图像的着色涉及灰度图像的高保真着色。
在一些实施例中,输入图像包括多个视频帧。
在一些实施例中,生成输出图像涉及通过对像素阵列的每个像素应用并 行下采样来生成中间输出图像,其中第一中间输出图像包括中间色彩深度、 中间色彩强度、中间空间分辨率或中间色彩分辨率中的一个或多个。这样的 实施例还涉及将中间输出图像中的每个像素并行上采样到输出色彩深度、输 出色彩强度、输出空间分辨率或输出色彩分辨率中的相应一个或多个。
一些实施例涉及通过对像素阵列的每个像素应用并行下采样来生成包括 中间色彩深度的第一中间输出图像。这样的实施例还涉及通过对第一中间输 出图像的每个像素应用并行下采样来生成包括中间色彩强度的第二中间输出 图像。
一些实施例涉及将第二中间输出图像中的每个像素从中间色彩强度并行 上采样到目标色彩强度。这样的实施例还涉及对上采样的第二中间输出图像 中的每个像素从中间色彩深度并行上采样到目标色彩深度。
一些实施例涉及提供神经网络作为另一机器学习模型的预处理网络。
在一些实施例中,应用轴向注意涉及对解码器的每一层应用一个或多个 卷积以生成多个仿射变换。这样的实施例还涉及将多个仿射变换应用于键、 查询和值。
在一些实施例中,神经网络包括自注意层之后的两层逐点前馈网络。
在一些实施例中,应用轴向注意涉及预测全局每通道尺度和全局每通道 移位中的一个或多个。在这样的实施例中,全局每通道尺度或全局每通道移 位中的一个或多个可以是可学习的参数。
一些实施例涉及训练神经网络以接收与第一特性相关联的给定输入图像, 并应用轴向注意将给定输入图像变换为与第二特性相关联的输出图像。在一 些实施例中,训练神经网络涉及基于被训练以检测给定灰度图像中的一个或 多个对象的对象检测网络来训练神经网络。
在一些实施例中,神经网络包括自回归着色器,其包括被配置为应用交 替行注意和列注意的编码器以及被配置为应用交替条件掩模列注意和条件行 注意的轴向变换器。在一些实施例中,自回归着色器还包括一个或多个层以 应用条件掩模行注意。
一些实施例涉及由计算设备确定将与第一特性相关联的输入图像变换为 与第二特性相关联的输出图像的请求。这样的实施例还涉及将请求从计算设 备发送到第二计算设备,第二计算设备包括神经网络的训练版本。这样的实 施例还涉及在发送请求之后,计算设备从第二计算设备接收输出图像。
在一些实施例中,计算设备包括相机,并且方法涉及使用相机访问输入 图像,并且在计算设备处接收来自相机的输出图像。
一些实施例涉及使用计算设备提供输出图像。
在一些实施例中,生成输出图像涉及在计算设备获得神经网络的训练版 本。可以由计算设备使用所获得的神经网络来执行神经网络的应用和输出图 像的生成。在一些实施例中,可以在计算设备处训练神经网络。
本发明不限于本申请中描述的特定实施例,这些实施例旨在作为各个方 面的图示。如本领域技术人员将显而易见的,可以在不脱离其精神和范围的 情况下进行许多修改和变化。从前面的描述中,本领域技术人员将清楚地看 到,除了本文列举的方法和装置之外,本发明范围内的功能等效的方法和装 置。此类修改和变化旨在落入所附权利要求的范围内。
以上详细描述参考附图描述所公开的系统、设备和方法的各种特征和功 能。在附图中,除非情境另有规定,否则相似符号通常识别相似组件。详细描 述、附图和权利要求中描述的示例性实施例并不意味着限制。在不脱离本文 所述主题的精神或范围的情况下,可以利用其他实施例,并且可以进行其他 改变。将容易理解,如本文一般描述和图中所示,本发明的各个方面可以以 各种不同的配置进行布置、替换、组合、分离和设计,所有这些配置均在本文 中明确预期。
关于图中和本文讨论的任何或所有梯形图、场景和流程图,每个块和/或 通信可以表示根据示例实施例的信息处理和/或信息传输。可选实施例包括在 这些示例实施例的范围内。在这些替代实施例中,例如,根据所涉及的功能, 描述为块、传输、通信、请求、响应和/或消息的功能可以按照所示或所讨论 的顺序执行,包括基本上并发或反向执行。此外,更多或更少的块和/或功能 可以与本文讨论的任何梯形图、场景和流程图一起使用,并且这些梯形图、 场景和流程图可以部分或全部彼此组合。
表示信息处理的块可以对应于可以被配置为执行本文所述方法或技术的 特定逻辑功能的电路。可选地或另外地,表示信息处理的块可以对应于模块、 段或程序代码的一部分(包括相关数据)。程序代码可以包括处理器可执行的 一个或多个指令,用于实现该方法或技术中的特定逻辑功能或动作。程序代 码和/或相关数据可以存储在任何类型的计算机可读媒体上,诸如包括磁盘或 硬盘驱动器或其他存储媒体的存储设备。
计算机可读媒体还可以包括非暂时性计算机可读媒体,诸如短时间段内 存储数据的非暂时性计算机可读媒体,如寄存器存储器、处理器高速缓存和 随机存取存储器(RAM)。计算机可读媒体还可以包括在较长时间段内存储程 序代码和/或数据的非暂时性计算机可读媒体,诸如辅助或持久性长期存储, 例如只读存储器(ROM)、光盘或磁盘、光盘只读存储器(CD-ROM)。计算 机可读媒体还可以是任何其他易失性或非易失性存储系统。计算机可读媒体 可以被视为例如计算机可读存储媒体或有形存储设备。
此外,表示一个或多个信息传输的块可以对应于同一物理设备中的软件 和/或硬件模块之间的信息传输。然而,其他信息传输可以在不同物理设备中 的软件模块和/或硬件模块之间进行。
虽然本文公开了各种方面和实施例,但其他方面和实施例对于本领域技 术人员来说是显而易见的。本文公开的各个方面和实施例是为了解释目的而 提供的,并不意在限制,其真实范围由所附权利要求指示。

Claims (20)

1.一种计算机实现的方法,包括:
经由计算设备接收包括像素阵列的输入图像,其中,输入图像与第一特性相关联;
应用神经网络以将与第一特性相关联的输入图像变换为与第二特性相关联的输出图像,其中,应用神经网络包括:
通过神经网络的编码器,对输入图像的像素阵列的每个像素生成编码像素,
向神经网络的解码器提供编码像素阵列,和
由解码器应用轴向注意来解码给定像素,
其中,轴向注意包括应用于与给定像素相关联的行或列之前的行或列中的一个或多个先前解码像素的行注意或列注意,且
其中,行注意或列注意混合相应行或列内的信息,并保持各个不同行或不同列之间的独立性;以及
通过神经网络生成与第二特性相关联的输出图像。
2.根据权利要求1所述的计算机实现的方法,其中,神经网络包括多个交替的逐行和逐列的自注意层。
3.根据权利要求1所述的计算机实现的方法,其中,提供阵列包括将阵列提供给神经网络的外部解码器的一个或多个自注意层,以及
其中,应用轴向注意包括通过外部解码器应用以下中的一个:
对给定像素应用逐行自注意,其中行注意是无掩模行注意,其中列注意是掩模列注意,并且其中,一个或多个先前解码像素位于与给定像素相关联的行之前的行中,或者
对给定像素应用逐列自注意,其中行注意是掩模行注意,其中列注意是无掩模列注意,并且其中,一个或多个先前解码的像素位于与给定像素相关联的列之前的列中。
4.根据权利要求3所述的计算机实现的方法,还包括:
由外部解码器并以编码像素阵列为条件,生成解码像素阵列;以及
向神经网络的内部解码器的一个或多个自注意层提供解码像素阵列,
并且其中,应用轴向注意包括通过内部解码器应用以下中的一个:
对给定像素应用逐行自注意,其中行注意是掩模行注意,并且其中,一个或多个先前解码像素在与给定像素相关联的行中在给定像素之前,或者
对给定像素应用逐列自注意,其中列注意是掩模列注意,并且其中,一个或多个先前解码像素在与给定像素相关联的列中在给定像素之前。
5.根据权利要求4所述的计算机实现的方法,还包括:
通过内部解码器,并以编码像素阵列和解码像素阵列为条件,基于掩模行注意或掩模列注意中的一个,应用逐行自注意。
6.根据权利要求1所述的计算机实现的方法,其中,与第一特性相关联的输入图像是第一分辨率的图像,并且其中,与第二特性相关联的输出图像是第二分辨率的图像,其中第二分辨率大于第一分辨率。
7.根据权利要求1所述的计算机实现的方法,其中,与第一特性相关联的输入图像是灰度图像,并且其中,与第二特性相关联的输出图像是灰度图像的着色版本。
8.根据权利要求7所述的计算机实现的方法,其中,灰度图像的着色版本包括灰度图像的高保真着色。
9.根据权利要求1所述的计算机实现的方法,其中,输入图像包括多个视频帧。
10.根据权利要求1所述的计算机实现的方法,其中,生成输出图像还包括:
通过对像素阵列的每个像素应用并行下采样来生成中间输出图像,其中,中间输出图像包括中间色彩深度、中间色彩强度、中间空间分辨率或中间色彩分辨率中的一个或多个;以及
将中间输出图像中的每个像素并行上采样到输出色彩深度、输出色彩强度、输出空间分辨率或输出色彩分辨率中的相应一个或多个。
11.根据权利要求1所述的计算机实现的方法,其中,生成输出图像还包括:
通过对像素阵列的每个像素应用并行下采样来生成包括中间色彩深度的第一中间输出图像;以及
通过对第一中间输出图像的每个像素应用并行下采样来生成包括中间色彩强度的第二中间输出图像。
12.根据权利要求11所述的计算机实现的方法,还包括:
将第二中间输出图像中的每个像素从中间色彩强度并行上采样到目标色彩强度;以及
将上采样的第二中间输出图像中的每个像素从中间色彩深度并行上采样到目标色彩深度。
13.根据权利要求1所述的计算机实现的方法,还包括:
训练神经网络以接收与第一特性相关联的给定输入图像,并应用轴向注意将给定输入图像变换为与第二特性相关联的输出图像。
14.根据权利要求1所述的计算机实现的方法,其中,神经网络包括自回归着色器,自回归着色器包含:编码器,被配置为应用交替行注意和列注意;以及轴向变换器,被配置为应用交替条件掩模列注意和条件行注意。
15.根据权利要求14所述的计算机实现的方法,其中,自回归着色器还包括一个或多个层,以应用条件掩模行注意。
16.根据权利要求1所述的计算机实现的方法,其中,生成输出图像还包括:
由计算设备确定将与第一特性相关联的输入图像变换为与第二特性相关联的输出图像的请求;
将请求从计算设备发送到第二计算设备,第二计算设备包括神经网络的训练版本;以及
在发送请求之后,该计算设备从第二计算设备接收输出图像。
17.根据权利要求1所述的计算机实现的方法,其中,计算设备包括相机,并且所述方法还包括:
使用相机访问输入图像;以及
在计算设备处从相机接收输出图像。
18.根据权利要求1所述的计算机实现的方法,其中,生成输出图像包括:
在计算设备处获得神经网络的训练版本,以及
其中,应用神经网络和生成输出图像由计算设备使用获得的神经网络来执行。
19.一种计算设备,包括:
一个或多个处理器;以及
数据存储器,其中,数据存储器在其上存储有计算机可执行指令,当计算机可执行指令由一个或多个处理器执行时,使计算设备执行功能,包括:
接收包括像素阵列的输入图像,其中,输入图像与第一特性相关联;
应用神经网络以将与第一特性相关联的输入图像变换为与第二特性相关联的输出图像,其中,应用神经网络包括:
通过神经网络的编码器,对输入图像的像素阵列的每个像素生成编码像素,
向神经网络的解码器提供编码像素阵列,和
由解码器应用轴向注意来解码给定像素,
其中,轴向注意包括应用于与给定像素相关联的行或列之前的行或列中的一个或多个先前解码像素的行注意或列注意,且
其中,行注意或列注意混合相应行或列内的信息,并保持不同行或不同列之间的独立性;以及
通过神经网络生成与第二特性相关联的输出图像。
20.一种制造品,包括一个或多个非暂时性计算机可读媒体,其上存储有计算机可读指令,当计算机可读指令由计算设备的一个或多个处理器执行时,使计算设备执行功能,包括:
接收包括像素阵列的输入图像,其中,输入图像与第一特性相关联;
应用神经网络以将与第一特性相关联的输入图像变换为与第二特性相关联的输出图像,其中,应用神经网络包括:
通过神经网络的编码器,对输入图像的像素阵列的每个像素生成编码像素,
向神经网络的解码器提供编码像素阵列,和
由解码器应用轴向注意来解码给定像素,
其中,轴向注意包括应用于与给定像素相关联的行或列之前的行或列中的一个或多个先前解码像素的行注意或列注意,且
其中,行注意或列注意混合相应行或列内的信息,并保持不同行或不同列之间的独立性;以及
通过神经网络生成与第二特性相关联的输出图像。
CN202111171840.0A 2020-10-02 2021-10-08 用于高保真图像变换的条件轴向变换层 Pending CN114021696A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202063086945P 2020-10-02 2020-10-02
US63/086,945 2020-10-02
US17/449,162 2021-09-28
US17/449,162 US20220108423A1 (en) 2020-10-02 2021-09-28 Conditional Axial Transformer Layers for High-Fidelity Image Transformation

Publications (1)

Publication Number Publication Date
CN114021696A true CN114021696A (zh) 2022-02-08

Family

ID=78402018

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111171840.0A Pending CN114021696A (zh) 2020-10-02 2021-10-08 用于高保真图像变换的条件轴向变换层

Country Status (3)

Country Link
US (1) US20220108423A1 (zh)
EP (1) EP3979207A1 (zh)
CN (1) CN114021696A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114913054A (zh) * 2022-05-07 2022-08-16 光线云(杭州)科技有限公司 基于注意力感知的着色器简化变体评估方法和装置
CN115906983A (zh) * 2022-11-23 2023-04-04 北京百度网讯科技有限公司 分布式模型训练方法、装置、设备、存储介质及程序产品

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12020364B1 (en) * 2022-04-07 2024-06-25 Bentley Systems, Incorporated Systems, methods, and media for modifying the coloring of images utilizing machine learning
CN114639156B (zh) * 2022-05-17 2022-07-22 武汉大学 基于轴向注意力权重分配网络的俯角人脸识别方法及系统
CN117036875B (zh) * 2023-07-11 2024-04-26 南京航空航天大学 一种基于融合注意力gan的红外弱小移动目标生成算法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4258976B2 (ja) * 1999-03-24 2009-04-30 パナソニック株式会社 画像処理装置および処理方法
WO2018049084A1 (en) * 2016-09-07 2018-03-15 Trustees Of Tufts College Methods and systems for human imperceptible computerized color transfer
US11087504B2 (en) * 2017-05-19 2021-08-10 Google Llc Transforming grayscale images into color images using deep neural networks
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
US10839259B2 (en) * 2017-10-27 2020-11-17 Google Llc Attention-based image generation neural networks
CN107767343B (zh) * 2017-11-09 2021-08-31 京东方科技集团股份有限公司 图像处理方法、处理装置和处理设备
EP3857514A1 (en) * 2018-09-27 2021-08-04 DeepMind Technologies Limited Image generation using subscaling and depth up-scaling
CN109859106B (zh) * 2019-01-28 2022-07-05 桂林电子科技大学 一种基于自注意力的高阶融合网络的图像超分辨率重建方法
US11494616B2 (en) * 2019-05-09 2022-11-08 Shenzhen Malong Technologies Co., Ltd. Decoupling category-wise independence and relevance with self-attention for multi-label image classification
US10922860B2 (en) * 2019-05-13 2021-02-16 Adobe Inc. Line drawing generation
CN111259773A (zh) * 2020-01-13 2020-06-09 中国科学院重庆绿色智能技术研究院 一种基于双向解码的不规则文本行识别方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114913054A (zh) * 2022-05-07 2022-08-16 光线云(杭州)科技有限公司 基于注意力感知的着色器简化变体评估方法和装置
CN115906983A (zh) * 2022-11-23 2023-04-04 北京百度网讯科技有限公司 分布式模型训练方法、装置、设备、存储介质及程序产品
CN115906983B (zh) * 2022-11-23 2024-01-02 北京百度网讯科技有限公司 分布式模型训练方法、装置、设备、存储介质及程序产品

Also Published As

Publication number Publication date
US20220108423A1 (en) 2022-04-07
EP3979207A1 (en) 2022-04-06

Similar Documents

Publication Publication Date Title
CN109726794B (zh) 基于关注的图像生成神经网络
EP3979207A1 (en) Conditional axial transformer layers for high-fidelity image transformation
CN109389027B (zh) 表单结构提取网络
KR101880907B1 (ko) 비정상 세션 감지 방법
US20230103638A1 (en) Image-to-Image Mapping by Iterative De-Noising
US20230359865A1 (en) Modeling Dependencies with Global Self-Attention Neural Networks
US20190303535A1 (en) Interpretable bio-medical link prediction using deep neural representation
AU2019200270A1 (en) Concept mask: large-scale segmentation from semantic concepts
CN110782395B (zh) 图像处理方法及装置、电子设备和计算机可读存储介质
US11769228B2 (en) Image enhancement via iterative refinement based on machine learning models
US11983903B2 (en) Processing images using self-attention based neural networks
CN112801280B (zh) 视觉深度自适应神经网络的一维卷积位置编码方法
Leroux et al. Training binary neural networks with knowledge transfer
US20240096001A1 (en) Geometry-Free Neural Scene Representations Through Novel-View Synthesis
CN111460876A (zh) 用于识别视频的方法和装置
WO2022222854A1 (zh) 一种数据处理方法及相关设备
CN112115744B (zh) 点云数据的处理方法及装置、计算机存储介质、电子设备
US20230053618A1 (en) Recurrent unit for generating or processing a sequence of images
CN115186825A (zh) 具有稀疏计算成本的全注意力
US20240029413A1 (en) Dynamic training of Models
US20240070456A1 (en) Corrective Reward Optimization for Sequential Labeling
JP7512416B2 (ja) 少数ショット類似性決定および分類のためのクロストランスフォーマニューラルネットワークシステム
EP4369311A1 (en) Electronic device and method with image processing
WO2024086333A1 (en) Uncertainty-aware inference of 3d shapes from 2d images
Tomei et al. A computational approach for progressive architecture shrinkage in action recognition

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