CN113486924A - 带有槽位关注的以对象为中心的学习 - Google Patents
带有槽位关注的以对象为中心的学习 Download PDFInfo
- Publication number
- CN113486924A CN113486924A CN202110619117.8A CN202110619117A CN113486924A CN 113486924 A CN113486924 A CN 113486924A CN 202110619117 A CN202110619117 A CN 202110619117A CN 113486924 A CN113486924 A CN 113486924A
- Authority
- CN
- China
- Prior art keywords
- slot
- vectors
- matrix
- values
- vector
- 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
Links
- 239000013598 vector Substances 0.000 claims abstract description 438
- 239000011159 matrix material Substances 0.000 claims abstract description 183
- 238000003860 storage Methods 0.000 claims abstract description 55
- 238000013528 artificial neural network Methods 0.000 claims abstract description 54
- 238000000034 method Methods 0.000 claims abstract description 47
- 230000006870 function Effects 0.000 claims description 117
- 238000010801 machine learning Methods 0.000 claims description 39
- 238000012549 training Methods 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 22
- 230000009466 transformation Effects 0.000 claims description 9
- 238000009826 distribution Methods 0.000 claims description 4
- 229910052740 iodine Inorganic materials 0.000 claims description 4
- 230000006403 short-term memory Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 17
- 238000012800 visualization Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 230000015654 memory Effects 0.000 description 9
- 238000013527 convolutional neural network Methods 0.000 description 8
- 238000012360 testing method Methods 0.000 description 6
- 238000010606 normalization Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 238000005286 illumination Methods 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 230000027455 binding Effects 0.000 description 3
- 238000009739 binding Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000001228 spectrum Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 230000005670 electromagnetic radiation Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000001429 visible spectrum Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000002329 infrared spectrum Methods 0.000 description 1
- PNDPGZBMCMUPRI-UHFFFAOYSA-N iodine Chemical compound II PNDPGZBMCMUPRI-UHFFFAOYSA-N 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- 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/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/08—Learning methods
-
- 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/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Biodiversity & Conservation Biology (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
一种方法涉及接收包括多个特征向量的知觉表示,并且初始化由神经网络存储单元表示的多个槽位向量。各个槽位向量被配置为表示知觉表示中的相应实体。该方法还涉及基于由键函数变换的多个特征向量和由查询函数变换的多个槽位向量的乘积来确定关注矩阵。沿着关注矩阵的各个维度的多个值中的各个值相对于该多个值被正规化。该方法还涉及基于由值函数变换的多个特征向量和关注矩阵来确定更新矩阵,并且通过神经网络存储单元基于更新矩阵来更新多个槽位向量。
Description
相关申请的交叉引用
本申请要求2020年6月3日递交的63/034,003号美国临时专利申请的优先权,特此通过引用并入该美国申请,就好像在本说明书中完全记载了一样。
技术领域
背景技术
机器学习模型可用于处理各种类型的数据,包括图像、时间序列、文本和/或点云,以及其他可能性。机器学习模型的改进允许模型更快地执行数据的处理和/或利用更少的计算资源进行处理。
发明内容
在第一示例实施例中,提供了一种计算机实现的方法,包括接收包括多个特征向量的知觉表示。该计算机实现的方法还包括初始化由神经网络存储单元表示的多个槽位向量。该多个槽位向量中的各个槽位向量可被配置为表示知觉表示中包含的相应实体。该计算机实现的方法还包括基于(i)由键函数变换的多个特征向量和(ii)由查询函数变换的多个槽位向量的乘积来确定关注矩阵。沿着关注矩阵的多个维度中的各个维度的多个值中的各个值可相对于沿着各维度的多个值被正规化(normalized)。该计算机实现的方法还包括基于(i)由值函数变换的多个特征向量和(ii)关注矩阵来确定更新矩阵。该计算机实现的方法还包括通过神经网络存储单元基于更新矩阵更新多个槽位向量。
在第二示例实施例中,提供了一种***,其包括处理器和其上存储有指令的非暂态计算机可读存储介质,所述指令当被所述处理器执行时,使得所述处理器执行操作。所述操作包括接收包括多个特征向量的知觉表示。所述操作还包括初始化由神经网络存储单元表示的多个槽位向量。该多个槽位向量中的各个槽位向量可被配置为表示知觉表示中包含的相应实体。所述操作还包括基于(i)由键函数变换的多个特征向量和(ii)由查询函数变换的多个槽位向量的乘积来确定关注矩阵。沿着关注矩阵的多个维度中的各个维度的多个值中的各个值可相对于沿着各维度的多个值被正规化。所述操作还包括基于(i)由值函数变换的多个特征向量和(ii)关注矩阵来确定更新矩阵。所述操作还包括通过神经网络存储单元基于更新矩阵更新多个槽位向量。
在第三示例实施例中,提供了一种非暂态计算机可读存储介质,其上存储有指令,所述指令当被计算***执行时,使得所述计算***执行操作。所述操作包括接收包括多个特征向量的知觉表示。所述操作还包括初始化由神经网络存储单元表示的多个槽位向量。该多个槽位向量中的各个槽位向量可被配置为表示知觉表示中包含的相应实体。所述操作还包括基于(i)由键函数变换的多个特征向量和(ii)由查询函数变换的多个槽位向量的乘积来确定关注矩阵。沿着关注矩阵的多个维度中的各个维度的多个值中的各个值可相对于沿着各维度的多个值被正规化。所述操作还包括基于(i)由值函数变换的多个特征向量和(ii)关注矩阵来确定更新矩阵。所述操作还包括通过神经网络存储单元基于更新矩阵更新多个槽位向量。
在第四示例实施例中,提供了一种***,包括用于接收包括多个特征向量的知觉表示的装置。该***还包括用于初始化由神经网络存储单元表示的多个槽位向量的装置。该多个槽位向量中的各个槽位向量可被配置为表示知觉表示中包含的相应实体。该***还包括用于基于(i)由键函数变换的多个特征向量和(ii)由查询函数变换的多个槽位向量的乘积来确定关注矩阵的装置。沿着关注矩阵的多个维度中的各个维度的多个值中的各个值可相对于沿着各维度的多个值被正规化。该***还包括用于基于(i)由值函数变换的多个特征向量和(ii)关注矩阵来确定更新矩阵的装置。该***还包括用于通过神经网络存储单元基于更新矩阵更新多个槽位向量的装置。
本领域普通技术人员通过在适当时参考附图阅读以下详细描述,将清楚这些以及其他实施例、方面、优点和替换方案。另外,本发明内容部分和本文提供的其他描述和附图旨在仅通过示例来说明实施例,因此许多变化是可能的。例如,在保持在如权利要求所述的实施例的范围内的同时,可以重安排、组合、分布、消除或以其他方式改变结构元素和过程步骤。
附图说明
图1根据示例实施例图示了计算***。
图2根据示例实施例图示了计算设备。
图3根据示例实施例图示了槽位关注模块。
图4根据示例实施例图示了槽位向量。
图5A根据示例实施例图示了槽位关注模块的无监督学习应用。
图5B根据示例实施例图示了槽位关注模块的有监督学习应用。
图6根据示例实施例图示了流程图。
具体实施方式
本文描述了示例方法、设备和***。应当理解,词语“示例”和“示范性”在本文中用来意指“充当示例、实例或例示”。本文描述为“示例”、“示范性”和/或“例示性”的任何实施例或特征不一定要被解释为比其他实施例或特征更优选或有利,除非是这样声明的。从而,可以利用其他实施例,并且可以作出其他改变,而不脱离本文给出的主题的范围。
因此,本文描述的示例实施例不欲进行限定。容易理解,如本文概括描述以及附图中图示的本公开的各方面可按许多种不同的配置来安排、替换、组合、分离和设计。
另外,除非上下文另有暗示,否则各附图中图示的特征可相互结合使用。从而,附图一般应被视为一个或多个整体实施例的组成部分,并且理解为并非所有图示的特征对每个实施例都是必要的。
此外,本说明书或权利要求书中对元素、块或步骤的任何列举都是为了清晰起见。从而,这种列举不应该被解释为要求或暗示这些元素、块或步骤坚持特定的安排或者以特定的顺序执行。除非另有注释,否则附图不是按比例绘制的。
I.概述
槽位关注模块(slot attention module)可被配置为在知觉表示(perceptualrepresentation)的分布式表示的基础上,确定知觉表示中包含的实体的以实体为中心(例如,以对象为中心)的表示。示例的知觉表示可采取图像的形式,该图像中包含一个或多个实体,例如对象、表面、区域、背景或者其他环境特征。机器学习模型可被配置为生成图像的分布式表示。例如,一个或多个卷积神经网络可被配置为处理图像并且生成一个或多个卷积特征图谱,这些卷积特征图谱可表示由一个或多个卷积神经网络实现的各种特征滤波器的输出。
这些卷积特征图谱可被认为是图像中的实体的分布式表示,因为特征图谱所表示的特征与沿图像区域的不同部分有关,但并不直接/明确地与图像数据中表示的任何实体相关联。另一方面,以对象为中心的表示可将一个或多个特征与图像数据中表示的个体实体相关联。从而,例如,分布式表示中的每个特征可与知觉表示的相应部分相关联,而以实体为中心的表示中的每个特征可与知觉表示中包含的相应实体相关联。
因此,槽位关注模块可被配置为基于多个分布式表示—在此称为特征向量—生成多个以实体为中心的表示—在此称为槽位向量(slot vector)。每个槽位向量可以是实体特定的语义嵌入,表示一个或多个相应实体的属性或者特性。槽位关注模块从而可被认为是知觉表示和由槽位向量表示的结构化变量集合之间的接口。
槽位关注模块可包括神经网络存储单元,例如门控递归单元(gated recurrentunit,GRU)或者长短期记忆(long-short term memory,LSTM)神经网络,其被配置为在槽位关注模块处理特征向量的迭代中存储并更新多个槽位向量。神经网络存储单元的参数可在槽位关注模块的训练期间来学习。多个槽位向量可在槽位关注模块进行的处理的第一次迭代之前被用值来进行初始化。在一个示例中,多个槽位向量可用随机值来初始化,例如从正态分布中选择的随机值。在其他实现方式中,多个槽位向量可以用使得槽位向量中的一个或多个绑定到和/或附着到特定实体的值来初始化(例如,基于先前确定的槽位向量的值)。从而,通过用先前针对一个或多个在前知觉表示确定的特定槽位向量的值初始化该特定槽位向量,可以使得该特定槽位向量跨连续的知觉表示(例如,连续的视频帧或者连续的音频波形部分)表示同一实体。
槽位关注模块还可包括学习的值、键和查询函数。槽位关注模块可被配置为基于(i)由键函数变换的多个特征向量和(ii)由查询函数变换的多个槽位向量的点积来计算关注矩阵。关注矩阵的条目可通过softmax函数沿着与槽位向量相对应的维度进行正规化,从而使得槽位向量为表示知觉表示中包含的实体而相互竞争。例如,当槽位向量的数量与关注矩阵的列的数目相对应时,关注矩阵的各个行内的每个值都可通过softmax函数的方式相对于各行内的值进行正规化。另一方面,当槽位向量的数目与关注矩阵的行的数目相对应时,关注矩阵的各个列内的每个值可通过softmax函数的方式相对于各列内的值进行正规化。
槽位关注模块也可被配置为基于(i)关注矩阵和(ii)由值函数变换的多个特征向量来计算更新矩阵。神经网络存储单元可被配置为基于更新矩阵和槽位向量的先前值更新多个槽位向量,从而允许槽位向量的值被细化,以在槽位关注模块的一次或多次迭代中改善其表示准确度。
由槽位关注模块生成的槽位向量相对于特征向量来说可以是置换不变的,而相对于彼此来说可以是置换等变的。从而,对于槽位向量的给定初始化,给定知觉表示的特征向量的顺序可能不会影响槽位向量的值和/或槽位向量的值的顺序。对于给定的知觉表示,槽位向量的不同初始化可能会改变槽位向量的顺序,而槽位向量的值的集合保持大致恒定。从而,在其初始化后对槽位向量的顺序进行置换可能等同于对槽位关注模块的输出进行置换。槽位向量相对于彼此的置换等变性允许槽位向量是完全可互换的,并且允许每个槽位向量独立于其类型、分类和/或语义来表示各种实体。
多个槽位向量可被一个或多个机器学习模型用来执行特定的任务,例如图像重建、文本翻译、对象属性/特性检测、奖励预测、视觉推理、问题回答、控制和/或规划,以及其他可能的任务。从而,槽位关注模块可与一个或多个机器学习模型被联合训练,以生成槽位向量,这些槽位向量对执行一个或多个机器学习模型的特定任务是有用的。也就是说,槽位关注模块可被训练成以任务特定的方式生成槽位向量,从而使得槽位向量表示对特定任务重要的信息并且省`略对特定任务不重要和/或不相关的信息。
虽然槽位关注模块可为特定的任务而训练,但槽位关注模块的体系结构不是任务特定的,从而允许了槽位关注模块被用于各种任务。槽位关注模块可用于有监督和无监督的训练任务两者。此外,槽位关注模块不假设、期望或者依从于表示特定类型数据(例如,图像数据、波形数据、文本数据,等等)的特征向量。从而,槽位关注模块可用于可由一个或多个特征向量表示的任何类型的数据,并且数据的类型可基于槽位关注模块被用于的任务。
另外,槽位向量本身可能不是专门针对特定的实体类型和/或分类的。从而,当多个类别的实体被包含在知觉表示内时,每个槽位向量可能够表示每个实体,无论其类别如何。每个槽位向量都可绑定或者附着到特定的实体,以表示其特征,但这种绑定/关注不依从于实体类型、分类和/或语义。槽位向量与实体的绑定/关注可能是由槽位向量被用于的下游任务驱动的——槽位关注模块可能并不“知晓”对象本身,并且可能不会区分例如聚类的对象、颜色和/或空间区域。
II.示例计算设备
图1图示了计算***100的示例外形参数。计算***100可例如是移动电话、平板计算机或者可穿戴计算设备。然而,其他实施例是可能的。计算***100可包括各种元素,例如主体102、显示器106、以及按钮108和110。计算***100还可包括前置相机104、后置相机112、前置红外相机114、以及红外图案投影仪116。
前置相机104可位于主体102的在操作中通常面对用户的一侧(例如,与显示器106在同一侧)。后置相机112可位于主体102的与前置相机104相反的一侧。称相机为前置和后置是任意的,并且计算***100可包括位于主体102的各侧的多个相机。前置相机104和后置相机112可各自被配置为捕捉可见光光谱中的图像。
显示器106可表示阴极射线管(cathode ray tube,CRT)显示器、发光二极管(light emitting diode,LED)显示器、液晶显示器(liquid crystal display,LCD)、等离子显示器、有机发光二极管(organic light emitting diode,OLED)显示器或者本领域已知的任何其他类型的显示器。在一些实施例中,显示器106可显示由前置相机104、后置相机112和/或红外相机114正捕捉的当前图像的数字表示,和/或这些相机中的一个或多个可捕捉或者最近捕捉的图像的数字表示。从而,显示器106可充当相机的取景器。显示器106也可支持触摸屏功能,这些功能可能够调整计算***100的任何方面的设置和/或配置。
前置相机104可包括图像传感器和相关联的光学元件,例如透镜。前置相机104可提供变焦能力或者可具有固定的焦距。在其他实施例中,可更换透镜可用于前置相机104。前置相机104可具有可变机械光圈和机械和/或电子快门。前置相机104也可被配置为捕捉静态图像、视频图像或者这两者。另外,前置相机104可表示单视场、立体或多视场相机。可以类似地或者不同地布置后置相机112和/或红外相机114。此外,前置相机104、后置相机112或者红外相机114中的一个或多个可以是一个或多个相机的阵列。
前置相机104和后置相机112中的任一者或者两者可包括提供可见光谱中的光场来对目标物体照明的照明组件或者与该照明组件相关联。例如,照明组件可提供闪光灯或者对目标物体的恒定照明。照明组件也可被配置为提供包括结构光、偏振光和具有特定光谱内容的光中的一者或多者的光场。在这里的实施例的情境内,已知的用于从物体恢复三维(3D)模型的其他类型的光场是可能的。
红外图案投影仪116可被配置为将红外结构光图案投影到目标物体上。在一个示例中,红外投影仪116可被配置为投影点状图案和/或泛光图案。从而,红外投影仪116可与红外相机114结合使用,以确定与目标物体的不同物理特征相对应的多个深度值。
即,红外投影仪116可将已知和/或预定的点状图案投影到目标物体上,并且红外相机114可捕捉目标物体的红外图像,其中包括投影的点状图案。计算***100随后可确定捕捉的红外图像中的区域与投影的点状图案的特定部分之间的对应关系。给定红外投影仪116的位置、红外相机114的位置以及与捕捉的红外图像内的投影点状图案的特定部分相对应的区域的位置,计算***100于是可使用三角测量来估计到目标物体的表面的深度。通过对于与投影点状图案的不同部分相对应的不同区域重复这一做法,计算***100可估计目标物体的各种物理特征或部分的深度。这样,计算***100可被用来生成目标物体的三维(3D)模型。
计算***100还可包括环境光传感器,该环境光传感器可连续或者不时地确定相机104、112和/或114可捕捉的场景的环境亮度(例如,就可见光和/或红外光而言)。在一些实现方式中,环境光传感器可被用于调整显示器106的显示亮度。此外,环境光传感器可用于确定相机104、112或114中的一个或多个的曝光长度,或者帮助此确定。
计算***100可被配置为使用显示器106和前置相机104、后置相机112和/或前置红外相机114来捕捉目标物体的图像。捕捉的图像可以是多个静态图像或视频流。图像捕捉可通过激活按钮108、按压显示器106上的软键或者通过某种其他机制来触发。取决于实现方式,可按特定的时间间隔自动捕捉图像,例如在按压按钮108时,在目标物体有适当照明条件时,在将数字相机设备100移动了预定距离时,或者根据预定的捕捉计划。
如上所述,计算***100的功能可被集成到计算设备中,例如无线计算设备、蜂窝电话、平板计算机、膝上型计算机,等等。为了示例,图2是示出可包括相机组件224的示例计算设备200的一些组件的简化框图。
作为示例而非限制,计算设备200可以是蜂窝移动电话(例如智能电话)、静态相机、视频相机、计算机(例如桌面型、笔记本、平板或手持式计算机)、个人数字助理(personal digital assistant,PDA)、家庭自动化组件、数字视频记录器(digital videorecorder,DVR)、数字电视、遥控器、可穿戴计算设备、游戏机、机器人设备或者一些其他类型的设备。计算设备200可配备有至少一些图像捕捉和/或图像处理能力,和/或音频捕捉和/或音频处理能力。应当理解,计算设备200可表示物理图像和/或音频处理***,图像和/或音频传感和处理应用在其上以软件方式操作的特定物理硬件平台,或者被配置为执行图像捕捉和/或处理功能和/或音频捕捉和/或处理功能的硬件和软件的其他组合。
如图2所示,计算设备200可包括通信接口202、用户界面204、处理器206、数据存储装置208和相机组件224,它们全都可通过***总线、网络或其他连接机制210通信地链接在一起。
通信接口202可允许计算设备200利用模拟或数字调制与其他设备、接入网络和/或传输网络进行通信。从而,通信接口202可促进电路交换和/或封包交换通信,例如普通老式电话服务(plain old telephone service,POTS)通信和/或互联网协议(Internetprotocol,IP)或其他封包化通信。例如,通信接口202可包括被布置用于与无线电接入网络或接入点的无线通信的芯片集和天线。另外,通信接口202可采取有线接口的形式或者包括有线接口,例如以太网、通用串行总线(Universal Serial Bus,USB)或者高清晰度多媒体接口(High-Definition Multimedia Interface,HDMI)端口。通信接口202也可采取无线接口的形式或者包括无线接口,例如Wi-Fi、全球定位***(globalpositioning system,GPS)或广域无线接口(例如,WiMAX或3GPP长期演进(Long-TermEvolution,LTE))。然而,在通信接口202上可使用其他形式的物理层接口和其他类型的标准或专有通信协议。另外,通信接口202可包括多个物理通信接口(例如,Wi-Fi接口、接口和广域无线接口)。
用户界面204可起到允许计算设备200与人类或非人类用户交互的作用,例如从用户接收输入和向用户提供输出。从而,用户界面204可包括输入组件,例如小键盘、键盘、触摸敏感面板、计算机鼠标、轨迹球、操纵杆、麦克风,等等。用户界面204还可包括一个或多个输出组件,例如显示屏,该显示屏例如可与触摸敏感面板相结合。显示屏可基于CRT、LCD和/或LED技术,或者现在已知或以后开发的其他技术。用户界面204还可被配置为经由扬声器、扬声器插孔、音频输出端口、音频输出设备、耳机和/或其他类似的设备生成(一个或多个)可听输出。用户界面204也可被配置为通过麦克风和/或其他类似设备来接收和/或捕捉(一个或多个)可听话语、(一个或多个)噪音和/或(一个或多个)信号。
在一些实施例中,用户界面204可包括为计算设备200支持的静态相机和/或视频相机功能充当取景器的显示器(例如,在可见和红外两种光谱中)。此外,用户界面204可包括一个或多个按钮、开关、旋钮和/或拨盘,它们促进相机功能的配置和聚焦以及图像的捕捉。有可能这些按钮、开关、旋钮和/或拨盘中的一些或全部是通过触摸敏感面板实现的。
处理器206可包括一个或多个通用处理器——例如,微处理器——和/或一个或多个专用处理器——例如,数字信号处理器(digital signal processor,DSP)、图形处理单元(graphics processing unit,GPU)、浮点单元(floating point,FPU)、网络处理器或者专用集成电路(application specific integrated circuit,ASIC)。在一些情况中,专用处理器可能够进行图像处理、图像对齐和合并图像,等等。数据存储装置208可包括一个或多个易失性和/或非易失性存储组件,例如磁性、光学、闪存或有机存储装置,并且可全部或部分与处理器206集成。数据存储装置208可包括可移除和/或不可移除组件。
处理器206可能够执行存储在数据存储装置208中的程序指令218(例如,编译的或未编译的程序逻辑和/或机器代码)以实现本文描述的各种功能。因此,数据存储装置208可包括非暂态计算机可读介质,其上存储有程序指令,这些程序指令在被计算设备200执行时使得计算设备200实现本说明书和/或附图中公开的任何方法、过程或操作。处理器206对程序指令218的执行可导致处理器206使用数据212。
作为示例,程序指令218可包括操作***222(例如,操作***内核、(一个或多个)设备驱动器和/或其他模块)和安装在计算设备200上的一个或多个应用程序220(例如,相机功能、地址簿、电子邮件、web浏览、社交网络、音频到文本功能、文本翻译功能和/或游戏应用)。类似地,数据212可包括操作***数据216和应用数据214。操作***数据216可主要可***作***222访问,并且应用数据214可主要可被应用程序220中的一个或多个访问。应用数据214可被布置在计算设备200的用户可见或者对计算设备200的用户隐藏的文件***中。
应用程序220可通过一个或多个应用编程接口(application programminginterface,API)与操作***222通信。这些API可例如促进应用程序220读取和/或写入应用数据214,经由通信接口202发送或接收信息,在用户界面204上接收和/或显示信息,等等。
在各种方言中,应用程序220可被简称为“app”。此外,应用程序220可通过一个或多个在线应用商店或应用市场被下载到计算设备200。然而,应用程序也可按其他方式被安装在计算设备200上,例如经由web浏览器或通过计算设备200上的物理接口(例如,USB端口)。
相机组件224可包括但不限于光圈、快门、记录表面(例如,照相胶片和/或图像传感器)、透镜、快门按钮、红外投影仪和/或可见光投影仪。相机组件224可包括被配置用于可见光光谱(例如,波长为400-700纳米的电磁辐射)中的图像的捕捉的组件和被配置为用于红外光光谱(例如,波长为701纳米-1毫米的电磁辐射)中的图像的捕捉的组件。相机组件224可至少部分由处理器206执行的软件来控制。
III.示例槽位关注模块
图3图示了槽位关注模块300的框图。槽位关注模块300可包括值函数308、键函数310、查询函数312、槽位关注计算器314、槽位更新计算器316、槽位向量初始化器318和神经网络存储单元320。槽位关注模块300可被配置为接收知觉表示302作为输入,该知觉表示302可包括特征向量304-306。槽位关注模块300可被配置为基于知觉表示302生成槽位向量322-324。特征向量304-306可表示知觉表示302中的实体的分布式表示,而槽位向量322-324可表示这些实体的以实体为中心的表示。槽位关注模块300及其组件可表示被配置为实现本文描述的功能的硬件和/或软件组件的组合。
知觉表示302可表示各种类型的数据,包括例如二维图像数据(例如,红-绿-蓝图像数据或者灰度图像数据)、深度图像数据、点云数据、音频数据、时间序列数据或者文本数据,以及其他可能性。在一些情况下,知觉表示302可由一个或多个传感器捕捉和/或生成,所述传感器例如是可见光相机(例如,相机104)、近红外相机(例如,红外相机114)、热相机、立体相机、飞行时间(time-of-flight,ToF)相机、光检测和测距(light detection andranging,LIDAR)设备、无线电检测和测距(radio detection and ranging,RADAR)设备和/或麦克风,以及其他可能性。在其他情况下,知觉表示302可额外地或者替代地包括由一个或多个用户生成的数据(例如,单词、句子、段落和/或文档)或者由一个或多个计算设备生成的数据(例如,渲染的三维环境、时间序列图),以及其他可能性。
可通过一个或多个机器学习模型处理知觉表示302,以生成特征向量304-306。特征向量304-306中的每个特征向量可包括多个值,每个值对应于特征向量的一个特定维度。在一些实现方式中,每个特征向量的多个值可共同表示知觉表示302的至少一部分在由一个或多个机器学习模型定义的向量空间中的嵌入。例如,当知觉表示302是图像时,每个特征向量304-306可与图像中的一个或多个像素相关联,并且可表示一个或多个像素的各种特征。在一些情况下,用于处理知觉表示302的一个或多个机器学习模型可包括卷积神经网络。相应地,特征向量304-306可表示知觉表示302的卷积特征的图谱,并且从而可包括各种卷积滤波器的输出。
特征向量304-306中的各个特征向量可包括位置嵌入,该位置嵌入指示出由各特征向量表示的知觉表示302的一部分。例如,可通过将位置嵌入添加到从知觉表示302中提取的卷积特征来确定特征向量304-306。将与特征向量304-306中的各个特征向量相关联的位置编码为各特征向量的一部分,而不是通过将各特征向量提供给槽位关注模块300的顺序来编码,允许了将特征向量304-306以多个不同的顺序提供给槽位关注模块300。从而,将位置嵌入包括为特征向量304-306的一部分使得由槽位关注模块300生成的槽位向量322-324相对于特征向量304-306而言能够是置换不变的。
例如,在图像的情况下,位置嵌入可通过构建W x H x 4张量来生成,其中W和H分别表示知觉表示302的卷积特征的图谱的宽度和高度。沿着W x H图谱与各个像素相关联的四个值中的每一个可表示各像素相对于沿着图像的相应方向(即,上、下、右和左)的图像的边框、边界和/或边缘的位置。在一些情况下,这四个值中的每一个可被正规化到从0到1的范围,包括0和1在内。W x H x 4张量可通过可学习线性图谱的方式被投影到与卷积特征相同的维度(即,与特征向量304-306相同的维度)。投影的W x H x 4张量随后可被添加到卷积特征中,以生成特征向量304-306,从而用位置信息来嵌入特征向量304-306。在一些实现方式中,投影的W x H x 4张量和卷积特征之和可被一个或多个机器学习模型(例如,一个或多个多层感知器)处理,以生成特征向量304-306。对于其他类型的知觉表示,类似的位置嵌入也可被包括在特征向量304-306中。
特征向量304-306可作为输入被提供给键函数310。特征向量304-306可包括N个向量,每个向量具有I个维度。从而,在一些实现方式中,特征向量304-306可由输入矩阵X表示,该矩阵具有N行(每行对应于一个特定的特征向量)和I列。
在一些实现方式中,键函数310可包括由具有I行和D列的键权重矩阵WKEY表示的线性变换。在其他实现方式中,键函数310可包括多层感知器,该感知器包括一个或多个隐藏层并且利用一个或多个非线性激活函数。键函数310(例如,键权重矩阵WKEY)可在槽位关注模块300的训练期间学习。输入矩阵X可由键函数310变换以生成键输入矩阵XKEY(例如,XKEY=XWKEY),其可作为输入被提供给槽位关注计算器314。键输入矩阵XKEY可包括N行和D列。
特征向量304-306也可作为输入被提供给值函数308。在一些实现方式中,值函数308可包括由具有I行和D列的值权重矩阵WVALUE表示的线性变换。在其他实现方式中,值函数308可包括多层感知器,该感知器包括一个或多个隐藏层并且利用一个或多个非线性激活函数。值函数308(例如,值权重矩阵WVALUE)可在槽位关注模块300的训练期间学习。输入矩阵X可由值函数308变换以生成值输入矩阵XVALUE(例如,XVALUE=XWVALUE),其可作为输入被提供给槽位关注计算器316。值输入矩阵XVALUE可包括N行和D列。
由于键权重矩阵WKEY和值权重矩阵WVALUE的维度不取决于特征向量304-306的数目N,因此在槽位关注模块300的训练期间和测试/使用期间可使用不同的N值。例如,槽位关注模块300可以用N=1024个特征向量在感知输入上来训练,但可以用N=512个特征向量或者N=2048个特征向量来使用。然而,由于键权重矩阵WKEY和值权重矩阵WVALUE的至少一个维度确实取决于特征向量304-306的维度I,因此在槽位关注模块300的训练期间和测试/使用期间,可以使用相同值的I。
槽位向量初始化器318可被配置为初始化由神经网络存储单元320存储的槽位向量322-324中的每一个。在一个示例中,槽位向量初始化器318可被配置为用例如从正态(即,高斯)分布中选择的随机值来初始化槽位向量322-324中的每一个。在其他示例中,槽位向量初始化器318可被配置为用“种子”值来初始化槽位向量322-324的一个或多个相应槽位向量,该“种子”值被配置为使得一个或多个相应槽位向量关注/绑定到并从而表示知觉表示302内包含的特定实体。例如,当处理视频的图像帧时,槽位向量初始化器318可被配置为基于针对在第二图像帧之前的第一图像帧确定的槽位向量322-324的值来为第二图像帧初始化槽位向量。因此,可以使得槽位向量322-324中的特定槽位向量在视频的各图像帧中表示同一实体。其他类型的顺序数据可类似地由槽位向量初始化器318“播种”。
槽位向量322-324可包括K个向量,每个向量具有S个维度。从而,在一些实现方式中,槽位向量322-324可由输出矩阵Y表示,该矩阵具有K行(每行对应于一个特定的槽位向量)和S列。
在一些实现方式中,查询函数312可包括由具有S行和D列的查询权重矩阵WQUERY表示的线性变换。在其他实现方式中,查询函数312可包括多层感知器,该感知器包括一个或多个隐藏层并且利用一个或多个非线性激活函数。查询函数312(例如,查询权重矩阵WQUERY)可在槽位关注模块300的训练期间学习。输出矩阵Y可由查询函数312变换以生成查询输入矩阵YQUERY(例如,YQUERY=YWQUERY),其可作为输入被提供给槽位关注计算器314。查询输出矩阵YQUERY可包括K行和D列。从而,维度D可被值函数308、键函数310和查询函数312共享。
另外,由于查询权重矩阵WQUERY的维度不取决于槽位向量322-324的数目K,因此在槽位关注模块300的训练期间和测试/使用期间可使用不同的K值。例如,槽位关注模块300可以用K=7个特征向量来训练,但可以用K=5个特征向量或者K=11个特征向量来使用。从而,槽位关注模块300可被配置为在不同数目的槽位向量322-324之间进行概括,而无需明确的训练,尽管用相同数目的槽位向量322-324训练和使用槽位关注模块300可提高性能。然而,由于查询权重矩阵WQUERY的至少一个维度确实取决于槽位向量322-324的维度S,因此在槽位关注模块300的训练期间和测试/使用期间,可以使用相同值的S。
槽位关注计算器314可被配置为基于由键函数310生成的键输入矩阵XKEY和由查询函数312生成的查询输入矩阵YQUERY来确定关注矩阵340。具体而言,槽位关注计算器314可被配置为计算键输入矩阵XKEY和查询输出矩阵YQUERY的转置之间的点积。在一些实现方式中,槽位关注计算器314也可将该点积除以D(即,WVALUE、WKEY和/或WQUERY矩阵的列数)的平方根。从而,槽位关注计算器314可实现函数其中M表示关注矩阵340的非正规化版本并且可包括N行和K列。
槽位关注计算器314可被配置为通过将矩阵M的值相对于输出轴(即,相对于槽位向量322-324)正规化来确定关注矩阵340。从而,矩阵M的值可沿其行(即,沿着与槽位向量322-324的数目相对应的维度K)被正规化。因此,各个行中的每个值可相对于各行中包含的K值来被正规化。
从而,槽位关注计算器314可被配置为通过将矩阵M的各个行的多个值中的各个值相对于各行的多个值进行正规化来确定关注矩阵340。具体而言,槽位关注计算器314可根据确定关注矩阵340,其中Ai,j表示在与关注矩阵340的第i行和第j列相对应的位置的值,其可以替代地被称为关注矩阵A。以这种方式对矩阵M进行正规化可使得槽位为了表示特定实体而相互竞争。由槽位关注计算器314实现的用于计算Ai,j的函数可被称为softmax函数。关注矩阵A(即,关注矩阵340)可包括N行和K列。
在其他实现方式中,矩阵M在正规化之前可被转置,并且矩阵MT的值从而可沿着其列(即,沿着与槽位向量322-324的数目相对应的维度K)被正规化。因此,矩阵MT的各个列中的每个值可相对于各列中包含的K值来被正规化。槽位关注计算器314可根据确定关注矩阵340的转置版本,其中表示在与转置的关注矩阵340的第i行和第j列相对应的位置的值,该转置的关注矩阵340可以替代地被称为转置关注矩阵AT。然而,转置关注矩阵340仍可通过将矩阵M的值相对于输出轴(即,相对于槽位向量322-324)正规化来确定。
槽位更新计算器316可被配置为基于由值函数308生成的值输入矩阵XVALUE和关注矩阵340来确定更新矩阵342。在一个实现方式中,槽位更新计算器316可被配置为通过确定关注矩阵A的转置和值输入矩阵XVALUE的点积来确定更新矩阵342。从而,槽位更新计算器316可实现函数UWEIGHTED SUM=ATXVALUE,其中关注矩阵A可被视为指定加权和计算的权重,并且值输入矩阵XVALUE可被视为指定加权和计算的值。更新矩阵342从而可由UWEIGHTED SUM表示,它可包括K行和D列。
在另一实现方式中,槽位更新计算器316可被配置为通过确定关注权重矩阵WATTENTION的转置和值输入矩阵XVALUE的点积来确定更新矩阵342。关注权重矩阵WATTENTION的元素/条目可被定义为 或者,对于其转置,被定义为从而,槽位更新计算器316可实现函数UWEIGHTED MEAN=(WATTENTION)TXVALUE,其中矩阵A可被视为指定加权均值计算的权重,并且值输入矩阵XVALUE可被视为指定加权均值计算的值。更新矩阵342从而可由UWEIGHTED MEAN表示,它可包括K行和D列。
更新矩阵342可作为输入被提供给神经网络存储单元320,其可被配置为基于槽位向量322-324的先前值和更新矩阵342来更新槽位向量322-324。神经网络存储单元320可包括门控递归单元(GRU)和/或长短期记忆(LSTM)网络,以及被配置为存储和/或更新槽位向量322-324的其他神经网络或者基于机器学习的存储单元。例如,除了GRU和/或LSTM之外,神经网络存储单元320还可包括一个或多个前馈神经网络层,这些前馈神经网络层被配置为在由GRU和/或LSTM进行的修改之后(并且在被提供给任务特定机器学习模型330之前)进一步修改槽位向量322-324的值。
在一些实现方式中,神经网络存储单元320可被配置为在每个处理迭代期间更新槽位向量322-324中的每一个,而不是在每个处理迭代期间仅更新槽位向量322-324中的一些。训练神经网络存储单元320以基于其先前的值和基于更新矩阵342来更新槽位向量322-324的值,而不是使用更新矩阵342作为槽位向量322-324的更新值,可改善槽位向量322-324的准确性和/或加速收敛。
槽位关注模块300可被配置为以迭代方式生成槽位向量322-324。也就是说,槽位向量322-324可在作为输入被传递给任务特定机器学习模型330之前被更新一次或多次。例如,槽位向量322-324在被认为“准备好”被任务特定机器学习模型330使用之前可被更新三次。具体而言,槽位向量322-324的初始值可由槽位向量初始化器318指派给它们。当初始值是随机的时,它们很可能不会准确地表示知觉表示302中包含的实体。从而,特征向量304-306和随机初始化的槽位向量322-324可被槽位关注模块300的组件处理,以细化槽位向量322-324的值,从而生成更新的槽位向量322-324。
在这个第一次迭代或者通过槽位关注模块300之后,槽位向量322-324中的每一个可开始关注和/或绑定并从而表示知觉表示302中包含的一个或多个相应实体。特征向量304-306和现在更新的槽位向量322-324可再次被槽位关注模块300的组件处理,以进一步细化槽位向量322-324的值,从而生成对槽位向量322-324的另一更新。在这第二次迭代或者通过槽位关注模块300之后,槽位向量322-324中的每一个可继续以越来越大的强度关注和/或绑定到一个或多个相应的实体绑定,从而以越来越高的准确度表示一个或多个相应的实体。
可执行进一步的迭代,并且每个额外的迭代可对槽位向量322-324中的每一个表示其相应的一个或多个实体的准确度生成一些改善。在预定数目的迭代之后,槽位向量322-324可收敛到近似稳定的值集合,导致没有额外的准确度改善。从而,槽位关注模块300的迭代次数可基于以下所列项来选择:(i)槽位向量322-324的表示准确度的期望水平和(ii)在槽位向量322-324可被任务特定机器学习模型330使用之前的期望处理时间。
任务特定机器学习模型330可表示多个不同的任务,包括有监督和无监督的学习任务。任务特定机器学习模型330的示例实现方式在图5A和5B中图示并论述。任务特定机器学习模型330可与槽位关注模块300共同训练。从而,取决于与任务特定机器学习模型330相关联的特定任务,槽位关注模块300可被训练以生成适合于该特定任务并提供在执行该特定任务时有用的值的槽位向量322-324。具体而言,与值函数308、键函数310、查询函数312和/或神经网络存储单元320中的一个或多个相关联的学习的参数可由于基于与任务特定机器学习模型330相关联的特定任务的训练而变化。在一些实现方式中,槽位关注模块300可利用对抗性训练和/或对比性学习等训练技术来训练。
与确定以实体为中心的表示的替代方案相比,槽位关注模块300可花费更少的时间来训练(例如,24小时,而在相同的计算硬件上执行的替代方案为7天),并且消耗更少的存储器资源(例如,允许64的批次大小,而在相同的计算硬件上执行的替代方案的批次大小为4)。在一些实现方式中,槽位关注模块300还可包括一个或多个层正规化。例如,层正规化可在由键函数310对其进行变换之前被应用于特征向量304-306,在由查询函数312对其进行变换之前被应用于槽位向量322-324,和/或在被神经网络存储单元320至少部分地更新之后被应用于槽位向量322-324。层正规化可改善槽位关注模块300的稳定性并且加快收敛。
IV.示例槽位向量
图4图示了多个槽位向量在槽位关注模块300针对特定知觉表示的处理迭代的过程中变化的示例。在这个示例中,知觉表示302由图像400表示,该图像包括三个实体:实体410(即,圆形对象);实体412(即,方形对象);以及实体414(即,三角形对象)。图像400可被一个或多个机器学习模型处理,以生成特征向量304-306,每个特征向量由重叠在图像400上面的网格的相应网格元素表示。从而,网格顶行的最左边的网格元素可表示特征向量304,网格底行的最右边的网格元素可表示特征向量306,而其间的网格元素可表示其他特征向量。从而,每个网格元素可表示与相应特征向量相关联的多个向量值。
图4将多个槽位向量图示为有四个槽位向量。然而,一般而言,槽位向量的数目可以是可修改的。例如,槽位向量的数目可被选择为至少等于预期存在于知觉表示302中的实体的数目,以便每个实体可由相应的槽位向量来表示。从而,在图4所示的示例中,提供的四个槽位向量超过了图像400中包含的实体(即,三个实体410、412和414)的数目。在实体数目超过槽位向量数目的情况下,一个或多个槽位向量可表示两个或更多个实体。
槽位关注模块300可被配置为处理与图像400相关联的特征向量和四个槽位向量的初始值(例如,随机初始化的),以生成具有值402A、404A、406A和408A的槽位向量。槽位向量值402A、404A、406A和408A可表示槽位关注模块300的第一次迭代(1x)的输出。槽位关注模块300还可被配置为处理特征向量和具有值402A、404A、406A和408A的槽位向量以生成具有值402B、404B、406B和408B的槽位向量。槽位向量值402B、404B、406B和408B可表示槽位关注模块300的第二次迭代(2x)的输出。槽位关注模块300可进一步被配置为处理特征向量和具有值402B、404B、406B和408B的槽位向量以生成具有值402C、404C、406C和408C的槽位向量。槽位向量值402C、404C、406C和408C可表示槽位关注模块300的第三次迭代(3x)的输出。槽位向量值402A、404A、406A、408A、402B、404B、406B、408B、402C、404C、406C、408C的可视化可表示在每次迭代中基于关注矩阵340的关注掩码的可视化和/或由任务特定机器学习模型330生成的重建掩码的可视化,以及其他可能性。
第一槽位向量(与值402A、402B和402C相关联)可被配置为关注和/或绑定到实体410,从而表示实体410的属性、特性和/或特征。具体而言,在槽位关注模块300的第一次迭代之后,第一槽位向量可表示实体410和实体412的方面,如槽位向量值402A的可视化中的黑色填充区域所示。在槽位关注模块300的第二次迭代之后,第一槽位向量可表示实体410的更大部分和实体412的更小部分,如槽位向量值402B的可视化中实体410的增大的黑色填充区域和实体412的减小的黑色填充区域所示。在槽位关注模块300的第三次迭代之后,第一槽位向量可近乎完全表示实体410,并且可不再表示实体412,如在槽位向量值402C的可视化中实体410被完全黑色填充和实体412被示为完全白色填充所示。从而,随着槽位关注模块300更新和/或细化第一槽位向量的值,第一槽位向量可收敛和/或专注于表示实体410。槽位向量对一个或多个实体的这种关注和/或收敛是槽位关注模块300的组件的数学结构和槽位关注模块300的任务特定训练的结果。
第二槽位向量(与值404A、404B和404C相关联)可被配置为关注和/或绑定到实体412,从而表示实体412的属性、特性和/或特征。具体而言,在槽位关注模块300的第一次迭代之后,第二槽位向量可表示实体412和实体410的方面,如槽位向量值404A的可视化中的黑色填充区域所示。在槽位关注模块300的第二次迭代之后,第二槽位向量可表示实体412的更大部分并且可不再表示实体410,如槽位向量值404B的可视化中实体412的增大的黑色填充区域和实体410被示为完全白色填充所示。在槽位关注模块300的第三次迭代之后,第二槽位向量可近乎完全表示实体412,并且可继续不再表示实体410,如在槽位向量值404C的可视化中实体412被完全黑色填充并且实体410被示为完全白色填充所示。从而,随着槽位关注模块更新和/或细化第二槽位向量的值,第二槽位向量可收敛和/或专注于表示实体412。
第三槽位向量(与值406A、406B和406C相关联)可被配置为关注和/或绑定到实体414,从而表示实体414的属性、特性和/或特征。具体而言,在槽位关注模块300的第一次迭代之后,第三槽位向量可表示实体414的方面,如槽位向量值406A的可视化中的黑色填充区域所示。在槽位关注模块300的第二次迭代之后,第三槽位向量可表示实体414的更大部分,如槽位向量值404B的可视化中实体414的增大的黑色填充区域所示。在槽位关注模块300的第三次迭代之后,第三槽位向量可表示大约整个实体414,如在槽位向量值406C的可视化中实体412被完全黑色填充所示。从而,随着槽位关注模块更新和/或细化第三槽位向量的值,第三槽位向量可收敛和/或专注于表示实体414。
第四槽位向量(与值408A、408B和408C相关联)可被配置为关注和/或绑定到图像400的背景特征,从而表示背景的属性、特性和/或特征。具体而言,在槽位关注模块300的第一次迭代之后,第四槽位向量可表示大约整个背景和实体410和414的还没有被槽位向量值402A、404A和/或406A表示的各部分,如槽位向量值408A的可视化中的黑色填充区域所示。在槽位关注模块300的第二次迭代之后,第四槽位向量可表示大约整个背景和尚未被槽位向量值402B、404B和/或406B表示的实体410和414的更小部分,如槽位向量值408B的可视化中的背景的黑色填充区域和实体410和414的减小的黑色填充区域所示。在槽位关注模块300的第三次迭代之后,第四槽位向量可近乎完全表示大约整个背景,如槽位向量值408C的可视化中背景被完全黑色填充和实体410、412和414被完全白色填充所示。示。从而,随着槽位关注模块更新和/或细化第四槽位向量的值,第四槽位向量可收敛和/或专注于表示图像400的背景。
在一些实现方式中,第四槽位向量不是表示图像400的背景,而是可采取预定的值,指示出第四槽位向量不被利用来表示实体。从而,背景可不被表示。替换地或者额外地,当提供额外的槽位向量(例如,第五槽位向量)时,额外的向量可表示背景的一部分,或者可不被利用。从而,在一些情况下,槽位关注模块300可在多个槽位向量之间分布背景的表示。在一些实现方式中,槽位向量可将知觉表示内的实体视为与其背景相同。具体而言,槽位向量中的任何一个可用于表示背景和/或实体(例如,背景可被视为另一个实体)。或者,在其他实施例中,可保留槽位向量中的一个或多个来表示背景。
多个槽位向量可相对于特征向量的顺序是不变的,并且相对于彼此是等变的。也就是说,对于槽位向量的给定初始化,在槽位关注模块300的输入处提供特征向量的顺序并不影响槽位向量的顺序和/或值。然而,槽位向量的不同初始化可影响槽位向量的顺序,无论特征向量的顺序如何。另外,对于特征向量的给定集合,槽位向量的值的集合可保持不变,但槽位向量的顺序可能不同。从而,槽位向量的不同初始化可影响槽位向量和知觉表示中包含的实体之间的配对,但实体还是可用大致相同的槽位向量值集合来表示。
V.示例槽位关注模块应用
图5A图示了槽位关注模块300在无监督学习任务中的应用实例。具体而言,卷积神经网络模型502可用于基于输入数据500生成知觉表示302,该输入数据500可表示图像数据、时间序列(例如,波形)数据、文本数据、点云数据和/或体素数据,以及其他输入类型。知觉表示302可包括特征向量304-306,其可表示卷积神经网络模型502对输入数据500的处理结果和/或未处理的输入数据500的方面。知觉表示302可作为输入被提供给槽位关注模块300,该槽位关注模块300可被配置为基于此生成槽位向量322-324。
槽位解码器模型506可被配置为接收槽位向量322-324作为输入,并且基于此生成输入数据重建508。提供给槽位解码器模型506的槽位向量322-324的值可表示由槽位关注模块300进行的处理的一个或多个迭代的输出。槽位关注模块300和槽位解码器模型506可被联合训练,从而导致槽位向量322-324提供存在于输入数据500中的实体的嵌入,该嵌入可被槽位解码器模型506用于重建输入数据500(即,生成输入数据重建508)。也就是说,槽位关注模块300和槽位解码器模型506的共同训练允许了槽位解码器模型506“理解”槽位向量322-324的值。
在一个示例中,输入数据500可表示图像数据,并且槽位解码器模型506可利用空间广播解码器来单独解码槽位向量322-324中的每一个。具体而言,每个槽位可被广播到二维网格上,该二维网格可用位置嵌入来增强。每个网格可利用卷积神经网络(其参数可在每个槽位向量322-324之间共享)来解码,以生成大小为W x H x 4的输出,其中W和H分别表示重建槽位特定图像数据的宽度和高度,并且另外4个维度表示红色、绿色和蓝色颜色通道以及其非正规化的阿尔法掩码。阿尔法掩码可利用softmax函数在槽位特定图像上被正规化,并且可被用作混合权重,以将槽位特定图像重组合和/或混合到原始图像数据的最终重建(即,输入数据重建508)。在其他示例中,槽位解码器模型506可以是和/或可以包括基于补丁的解码器的各方面。
虽然槽位关注模块300可与槽位解码器模型506结合使用,但槽位关注模块300的体系结构本身并不包括或者取决于任何解码器和/或解码操作。在其他基于关注的神经网络体系结构中由解码器提供的功能反而被槽位关注模块执行的迭代处理所取代--即,多次处理槽位向量322-324,以实现知觉表示302中的实体的准确表示。从而,槽位关注模块300可用于自动编码以外的应用中,例如用于对象发现的对比性表示学习和/或下游任务的直接优化,例如控制规划。
槽位向量322-324可共同定义输入数据500的潜在表示504。在一些情况下,潜在表示504可表示输入数据500中包含的信息的压缩。从而,在一些实现方式中,槽位关注模块300可被用作和或被视为机器学习编码器。因此,槽位关注模块300可被用于图像重建、文本翻译和/或利用机器学习编码器的其他应用。与某些其他潜在表示不同,潜在表示504的每个槽位向量可捕捉知觉表示302中的相应的一个或多个实体的属性,并且可这样做而不依赖于关于实体由知觉表示302描述的顺序的假设。
另外,输入数据500的重建(即,输入数据重建508的生成)可被视为无监督学习任务,至少是因为训练过程可在不向输入数据500指派任何明确标签的情况下执行。输入数据重建508的准确性可通过比较输入数据重建508与输入数据500来确定,而不是比较输入数据重建508与指派给输入数据500中的特征的标签来确定。
图5B图示了槽位关注模块300在有监督学习任务中的应用实例。具体而言,卷积神经网络模型502和槽位关注模块300可分别对输入数据500和知觉表示302进行操作,如关于图5A所论述的,从而生成槽位向量322-324。实体属性模型510可被配置为基于槽位向量322-324确定输入数据500中表示的一个或多个实体的多个属性。
具体而言,实体属性模型510可被配置为生成实体512-520的属性。从而,实体属性模型510可被配置为确定实体512的属性514-516和实体520的实体属性522-524。例如,当输入数据500表示图像时,实体512-520可表示由图像描绘的各种对象或者环境特征,并且属性514-516和522-524可表示相应对象和/或特征的各种属性。例如,属性514和522可分别指示实体512和520的颜色,而属性516和524可分别指示实体512和520的形状。
实体属性模型510可表示机器学习模型,例如具有多个层的人工神经网络。实体属性模型510可与槽位关注模块300被联合训练,从而导致槽位向量322-324提供存在于输入数据500中的实体512-520的嵌入,该嵌入可被实体属性模型510用于确定实体512-520的属性。也就是说,槽位关注模块300和实体属性模型510的共同训练允许了实体属性模型510“理解”槽位向量322-324的值。另外,实体512-520的属性的确定可被看作有监督学习任务,至少是因为训练过程可利用指派给输入数据500的标签来指示实体512-520的属性的地面真实值。由实体属性模型510确定的实体512-520的属性的准确性可通过将这些属性与地面真实值进行比较来确定。
此外,由于槽位关注模块300相对于槽位向量322-324是置换等变的,所以此***的训练可涉及使用匹配算法来将实体属性模型510的个体输出与相应的地面真实值相匹配。也就是说,不同的训练迭代可能会导致槽位向量322-324和相应的实体512-520之间的配对的重排序。随着这种重排序的发生,槽位向量322-324和相应的实体512-520中的每一个都可利用例如匈牙利算法与与之对应的地面真实数据的集合重配对。
VI.示例操作
图6图示了与确定知觉表示中包含的一个或多个实体的以实体为中心的表示有关的操作的流程图。这些操作可由计算***100、计算设备200和/或槽位关注模块300以及其他可能类型的设备或者设备子***来执行。图6的实施例可通过去除其中所示的任何一个或多个特征而被简化。另外,这些实施例可与任何先前附图的或者以其他方式在本文中描述的特征、方面和/或实现方式相结合。
块600可涉及接收包括多个特征向量的知觉表示。
块602可涉及初始化由神经网络存储单元表示的多个槽位向量。该多个槽位向量中的各个槽位向量可被配置为表示知觉表示中包含的相应实体。
块604可涉及基于(i)由键函数变换的多个特征向量和(ii)由查询函数变换的多个槽位向量的乘积来确定关注矩阵。沿着关注矩阵的多个维度中的各个维度的多个值中的各个值可相对于沿着各维度的多个值被正规化。
块606可涉及基于(i)由值函数变换的多个特征向量和(ii)关注矩阵来确定更新矩阵。
块608可涉及通过神经网络存储单元基于更新矩阵更新多个槽位向量。
在一些实施例中,可基于(i)由键函数变换的多个特征向量和(ii)由查询函数变换的多个更新后槽位向量的乘积来确定第二关注矩阵。沿着第二关注矩阵的多个维度中的各个维度的多个值中的各个值可相对于沿着第二关注矩阵的各维度的多个值被正规化。可基于(i)由值函数变换的多个特征向量和(ii)第二关注矩阵来确定第二更新矩阵。可通过神经网络存储单元基于第二更新矩阵进一步更新多个更新后槽位向量。
在一些实施例中,各个槽位向量可表示相应实体的语义嵌入。
在一些实施例中,更新各槽位向量可迭代地细化相应实体的表示,并且可将各槽位向量绑定到相应实体。
在一些实施例中,关注矩阵的多个维度可包括关注矩阵的多个行。关注矩阵的多个行中的各个行的多个值中的各个值可通过softmax函数方式通过将(i)各行的多个值中的各值的指数除以(ii)各行的多个值的指数之和来相对于各行的多个值进行正规化。
在一些实施例中,通过softmax函数的方式将关注矩阵的多个行中的各个行的多个值中的各个值相对于各行的多个值进行正规化可使得多个槽位向量相互竞争来表示知觉表示中包含的实体。
在一些实施例中,确定更新矩阵可包括确定(i)由值函数变换的多个特征向量和(ii)关注矩阵的转置的乘积。
在一些实施例中,确定更新矩阵可包括通过将(i)关注矩阵的多列中的各个列的多个值的各个值除以(ii)各列中的多个值之和来确定关注权重矩阵,并且确定(i)由值函数变换的多个特征向量与(ii)关注权重矩阵的转置的乘积。
在一些实施例中,多个槽位向量可包括K个槽位向量。多个维度中的各个维度(例如,关注矩阵的多个行中的各个行)可包括K个值。沿着关注矩阵的多个维度中的各个维度的K个值中的各个值可通过softmax函数的方式通过将(i)沿着各维度的K个值中的各值的指数除以(ii)沿着各维度的K个值的指数之和来相对于沿着各维度的K个值进行正规化。
在一些实施例中,通过softmax函数的方式将沿着关注矩阵的多个维度中的各个维度的K个值中的各个值相对于各维度的K个值进行正规化可使得多个槽位向量相互竞争来表示知觉表示中包含的实体。
在一些实施例中,多个特征向量可包括N个特征向量。多个维度可以是包括N个维度(例如,N行)的第一多个维度。确定更新矩阵可包括:通过将(i)沿着关注矩阵的第二多个维度(例如,列)中的各个维度的N个值中的各个值除以(ii)沿着第二多个维度中的各维度的N个值之和来确定关注权重矩阵,并且确定(i)由值函数变换的多个特征向量与(ii)关注权重矩阵的转置的乘积。
在一些实施例中,在训练期间可学习以下所列项中的一个或多个:(i)键函数,(ii)查询函数,(iii)值函数,或者(iv)神经网络存储单元的参数。
在一些实施例中,多个特征向量可由输入矩阵来表示,该输入矩阵包括(i)与多个特征向量的数目相对应的N行以及(ii)与多个特征向量的每一者的维度的数目相对应的I列。键函数可包括由包括I行和D列的键权重矩阵表示的线性变换。
在一些实施例中,基于乘积确定关注矩阵可包括确定(i)由键函数变换的多个特征向量和(ii)由查询函数变换的多个槽位向量的转置的点积,并且将该点积除以D的平方根。
在一些实施例中,多个槽位向量可由槽位矩阵来表示,该槽位矩阵包括(i)与多个槽位向量的数目相对应的K行以及(ii)与多个槽位向量的每一者的维度的数目相对应的S列。查询函数可包括由包括S行和D列的查询权重矩阵表示的线性变换。
在一些实施例中,多个特征向量可由输入矩阵来表示,该输入矩阵包括(i)与多个特征向量的数目相对应的N行以及(ii)与多个特征向量的每一者的维度的数目相对应的I列。值函数可包括由包括I行和D列的值权重矩阵表示的线性变换。
在一些实施例中,多个槽位向量相对于彼此可以是置换等变的,这样,对于多个槽位向量相对于给定知觉表示的多个不同的初始化,多个槽位向量的值的集合是大致恒定的,并且多个槽位向量的顺序是可变的。
在一些实施例中,多个槽位向量相对于多个特征向量可以是置换不变的,这样,对于多个特征向量的多个不同置换,多个槽位向量的值的集合是大致恒定的。
在一些实施例中,各槽位向量可被配置为专门表示知觉表示中包含的相应实体,而不依赖于该相应实体的分类。
在一些实施例中,知觉表示可包括以下所列项中的一个或多个:(i)二维图像数据,(ii)深度图像数据,(iii)点云数据,(iv)时间序列数据,(v)音频数据,或者(vi)文本数据。可通过一个或多个机器学习模型处理知觉表示,以生成多个特征向量。
在一个示例中,当知觉表示是表示环境/场景的二维图像数据、深度数据和/或点云数据时,每个槽位向量所表示的相应实体可以是环境/场景的特征,例如对象、表面、区域、背景和/或环境/场景的其他部分。从而,每个槽位向量可绑定到、关注和/或附着到表示相应实体的图像数据中的一组像素和/或点云中的一组点。在另一示例中,当知觉表示是音频数据时,每个槽位向量所表示的相应实体可以是特定的噪声、声音和/或其模式。从而,每个槽位向量可绑定到、关注和/或附着到表示相应实体的音频数据的子片段。在另外一个示例中,当知觉表示是文本数据时,每个槽位向量所表示的相应实体可以是文本数据中存在的字母、单词、短语、句子、段落、想法和/或概念。从而,每个槽位向量可绑定到、关注和/或附着到表示相应实体的文本数据中的一个或多个字符串。
在一些实施例中,一个或多个机器学习模型可包括卷积神经网络。
在一些实施例中,多个特征向量中的各个特征向量可包括位置嵌入,该位置嵌入指示出由各特征向量表示的知觉表示的一部分。
在一些实施例中,由各槽位向量表示的相应实体可包括以下所列项中的一个或多个:(i)对象,(ii)表面,(iii)背景,(iv)波形模式,或者(v)一个或多个单词。
在一些实施例中,神经网络存储单元可包括以下所列项中的至少一者:(i)门控递归单元(GRU)或者(ii)长短期记忆神经网络(LSTM)。
在一些实施例中,通过神经网络存储单元基于更新矩阵更新多个槽位向量可包括通过神经网络存储单元处理更新矩阵并且通过连接到神经网络存储单元的输出的前馈人工神经网络更新多个槽位向量。
在一些实施例中,有监督学习任务可基于更新后的多个槽位向量来执行。
在一些实施例中,有监督学习任务可由与键函数、查询函数、值函数或者神经网络存储单元中的一个或多个联合训练以执行有监督学习任务的一个或多个机器学习模型来执行。
在一些实施例中,有监督学习任务可包括通过一个或多个机器学习模型并且基于多个槽位向量确定知觉表示所表示的实体的一个或多个属性。
在一些实施例中,无监督学习任务可基于更新后的多个槽位向量来执行。
在一些实施例中,无监督学习任务可由与键函数、查询函数、值函数或者神经网络存储单元中的一个或多个联合训练以执行无监督学习任务的一个或多个机器学习模型来执行。
在一些实施例中,无监督学习任务可包括通过一个或多个机器学习模型并且基于多个槽位向量确定知觉表示的重建。
在一些实施例中,层正规化可被应用到以下所列项中的一个或多个:(i)在由键函数对其进行变换之前的多个特征向量,(ii)在由查询函数对其进行变换之前的多个槽位向量,或者(iii)在基于更新矩阵更新多个槽位向量之后的经更新的多个槽位向量。
在一些实施例中,初始化多个槽位向量可包括用从正态分布选择的值来初始化多个槽位向量。
在一些实施例中,初始化多个槽位向量可包括基于为在该知觉表示之前处理的在前知觉表示确定的一个或多个在前槽位向量的值来初始化多个槽位向量。基于一个或多个在前槽位向量的值初始化多个槽位向量可使得多个槽位向量跨连续的知觉表示跟踪实体。
在一些实施例中,知觉表示可包括视频的第一图像帧。初始化多个槽位向量可包括用基于视频内第一图像帧之前的第二图像帧为多个槽位向量确定的值来初始化多个槽位向量,以使得多个槽位向量在视频的图像帧间跟踪实体。
在一些实施例中,多个槽位向量中的槽位向量的数目可以是可调整的。
在一些实施例中,当多个槽位向量中的槽位向量的数目超过知觉表示中包含的实体的数目时,多个槽位向量中的一个或多个槽位向量的值可被配置为指示出一个或多个槽位向量未使用。当知觉表示中包含的实体的数目超过多个槽位向量中的槽位向量的数目时,多个槽位向量中的至少一个槽位向量可被配置为表示知觉表示中包含的多个相应实体。
VII.示例测试结果
表格1说明了调整后的兰德指数得分(单位是%,均值+/-标偏准差),将槽位关注模块300的性能与其他机器学习体系结构(包括IODINE、MONet和槽位MLP)在无监督对象发现任务中进行比较。槽位MLP表示多层感知器模型,出于性能测试的目的,它取代了槽位关注模块300,转而将特征向量映射到槽位向量。CLEVR6、Multi-dSprites和Tetrominoes表示多对象数据集,用作评估图像处理模型的基准。从表格1可看出,槽位关注模块300的性能至少与其他机器学习体系结构一样好,而且在大多数情况下,优于其他机器学习体系结构。槽位关注模块300在执行除了无监督对象发现以外的任务时,可类似地匹配或优于其他机器学习体系结构。
VIII.结论
本公开不限于本申请中描述的特定实施例,这些实施例意图作为各种方面的例示。在不脱离其范围的情况下可做出许多修改和变化,这是本领域技术人员将会清楚的。除了本文描述的那些以外,本领域技术人员通过以上描述将会清楚在本公开的范围内的功能上等同的方法和装置。这种修改和变化意图被包括在所附权利要求的范围内。
以上详细描述参考附图对公开的***、设备和方法的各种特征和操作进行了描述。在附图中,相似的符号通常标识相似的组件,除非上下文另有指示。本文和附图中描述的示例实施例不欲进行限定。可以利用其他实施例,并且可以作出其他改变,而不脱离本文给出的主题的范围。容易理解,如本文概括描述以及附图中图示的本公开的各方面可按许多种不同的配置来安排、替换、组合、分离和设计。
关于如这里所述的附图中的消息流程图、场景和流程图中的任何或全部,每个步骤、方框和/或通信可表示根据示例实施例对信息的处理和/或对信息的传输。替换实施例被包括在这些示例实施例的范围内。在这些替换实施例中,例如,取决于所涉及的功能,被描述为步骤、方框、传输、通信、请求、响应和/或消息的操作可不按所示出或论述的顺序来执行,包括基本上同时执行或按相反顺序执行。另外,对于本文论述的消息流程图、场景和流程图中的任何一个可以使用更多或更少的方框和/或操作,并且这些消息流程图、场景和流程图可部分或全部地与彼此组合。
表示信息的处理的步骤或方框可对应于可被配置为执行本文描述的方法或技术的具体逻辑功能的电路。替换地或额外地,表示信息的处理的方框可对应于程序代码(包括相关数据)的模块、片段或部分。程序代码可包括可由处理器执行来实现方法或技术中的具体逻辑操作或动作的一个或多个指令。程序代码和/或相关数据可被存储在任何类型的计算机可读介质上,例如包括随机存取存储器(RAM)、盘驱动器、固态驱动器或者另外的存储介质在内的存储设备。
计算机可读介质还可包括非暂态计算机可读介质,例如像寄存器存储器、处理器缓存和RAM那样短时间存储数据的计算机可读介质。计算机可读介质还可包括在较长时间内存储程序代码和/或数据的非暂态计算机可读介质。从而,计算机可读介质可包括次级或持续性存长期存储装置,例如只读存储器(ROM)、光盘或磁盘、固态驱动器、致密盘只读存储器(CD-ROM)。计算机可读介质还可以是任何其他易失性或非易失性存储***。计算机可读介质可被认为是例如计算机可读存储介质,或者有形存储设备。
另外,表示一个或多个信息传输的步骤或方框可对应于同一物理设备中的软件和/或硬件模块之间的信息传输。然而,其他信息传输可发生在不同物理设备中的软件模块和/或硬件模块之间。
附图中所示的特定布置不应当被视为限制性的。应当理解,其他实施例可包括更多或更少的给定附图中所示的每种元素。另外,一些图示的元素可被组合或省略。此外,示例实施例可包括附图中没有图示的元素。
虽然本文已公开了各种方面和实施例,但本领域技术人员将会清楚其他方面和实施例。本文公开的各种方面和实施例是为了例示,而并不打算进行限定,真实的范围由所附权利要求指示。
Claims (20)
1.一种计算机实现的方法,包括:
接收包括多个特征向量的知觉表示;
初始化由神经网络存储单元表示的多个槽位向量,其中所述多个槽位向量中的各个槽位向量被配置为表示所述知觉表示中包含的相应实体;
基于(i)由键函数变换的所述多个特征向量和(ii)由查询函数变换的所述多个槽位向量的乘积来确定关注矩阵,其中沿着所述关注矩阵的多个维度中的各个维度的多个值中的各个值相对于沿着各维度的所述多个值被正规化;
基于(i)由值函数变换的所述多个特征向量和(ii)所述关注矩阵来确定更新矩阵;并且
通过所述神经网络存储单元基于所述更新矩阵更新所述多个槽位向量。
2.如权利要求1所述的计算机实现的方法,还包括:
基于(i)由所述键函数变换的所述多个特征向量和(ii)由所述查询函数变换的多个更新后槽位向量的乘积来确定第二关注矩阵,其中沿着所述第二关注矩阵的多个维度中的各个维度的多个值中的各个值相对于沿着所述第二关注矩阵的各维度的多个值被正规化;
基于(i)由所述值函数变换的所述多个特征向量和(ii)所述第二关注矩阵来确定第二更新矩阵;并且
通过所述神经网络存储单元基于所述第二更新矩阵进一步更新所述多个更新后槽位向量。
3.如权利要求1所述的计算机实现的方法,其中各个槽位向量表示相应实体的语义嵌入,其中更新各槽位向量迭代地细化相应实体的语义嵌入并且独立于相应实体的分类地将各槽位向量绑定到相应实体。
4.如权利要求1所述的计算机实现的方法,其中所述多个槽位向量包括K个槽位向量,其中所述多个维度中的各个维度包括K个值,并且其中所述方法还包括:
通过softmax函数通过将(i)沿着各维度的K个值中的各值的指数除以(ii)沿着各维度的K个值的指数之和来将沿着所述关注矩阵的多个维度中的各个维度的K个值中的各个值相对于沿着各维度的K个值进行正规化。
5.如权利要求4所述的计算机实现的方法,其中通过softmax函数将沿着所述关注矩阵的多个维度中的各个维度的K个值中的各个值相对于各维度的K个值进行正规化使得所述多个槽位向量相互竞争来表示所述知觉表示中包含的实体。
6.如权利要求1所述的计算机实现的方法,其中确定所述更新矩阵包括:
确定(i)由所述值函数变换的所述多个特征向量与(ii)所述关注矩阵的转置的乘积。
7.如权利要求1所述的计算机实现的方法,其中所述多个特征向量包括N个特征向量,其中所述多个维度是包括N个维度的第一多个维度,并且其中确定所述更新矩阵包括:
通过将(i)沿着所述关注矩阵的第二多个维度中的各个维度的N个值中的各个值除以(ii)沿着所述第二多个维度中的各维度的N个值之和来确定关注权重矩阵;并且
确定(i)由所述值函数变换的所述多个特征向量与(ii)所述关注权重矩阵的转置的乘积。
8.如权利要求1所述的计算机实现的方法,其中所述多个特征向量由输入矩阵表示,所述输入矩阵包括:(i)与所述多个特征向量的数目相对应的N行以及(ii)与所述多个特征向量的每一者的维度的数目相对应的I列,其中所述多个槽位向量由所述槽位矩阵表示,所述槽位矩阵包括:(i)与所述多个槽位向量的数目相对应的K行以及(ii)与所述多个槽位向量的每一者的维度的数目相对应的S列,其中所述键函数包括由包括I行和D列的键权重矩阵表示的线性变换,其中所述查询函数包括由包括S行和D列的查询权重矩阵表示的线性变换,其中所述值函数包括由包括I行和D列的值权重矩阵表示的线性变换,并且其中所述键权重矩阵、所述查询权重矩阵或者所述值权重矩阵中的一个或多个是在训练期间学习的。
9.如权利要求8所述的计算机实现的方法,其中基于所述乘积确定所述关注矩阵包括:
确定(i)由所述键函数变换的所述多个特征向量和(ii)由所述查询函数变换的所述多个槽位向量的转置的点积;并且
将所述点积除以D的平方根。
10.如权利要求1所述的计算机实现的方法,其中所述多个槽位向量相对于彼此是置换等变的,使得对于所述多个槽位向量相对于给定知觉表示的多个不同的初始化,所述多个槽位向量的值的集合是大致恒定的并且所述多个槽位向量的顺序是可变的,并且其中所述多个槽位向量相对于所述多个特征向量是置换不变的,使得对于所述多个特征向量的多个不同置换,所述多个槽位向量的值的集合是大致恒定的。
11.如权利要求1所述的计算机实现的方法,其中所述知觉表示包括以下所列项中的一个或多个:二维图像数据,深度图像数据,点云数据,时间序列数据,音频数据,或者文本数据,其中通过一个或多个机器学习模型处理所述知觉表示,以生成所述多个特征向量,并且其中由各槽位向量表示的相应实体包括以下所列项中的一个或多个:对象,表面,背景,波形模式,或者一个或多个单词。
12.如权利要求1所述的计算机实现的方法,其中所述多个特征向量中的各个特征向量包括位置嵌入,该位置嵌入指示出由各特征向量表示的知觉表示的一部分。
13.如权利要求1所述的计算机实现的方法,其中所述神经网络存储单元包括以下所列项中的至少一者:(i)门控递归单元(GRU)或者(ii)长短期记忆神经网络(LSTM),并且其中所述神经网络存储单元的一个或多个权重是在训练期间学习的。
14.如权利要求1所述的计算机实现的方法,其中通过所述神经网络存储单元基于所述更新矩阵更新所述多个槽位向量包括:
通过所述神经网络存储单元处理所述更新矩阵;并且
通过与所述神经网络存储单元的输出连接的前馈人工神经网络更新所述多个槽位向量。
15.如权利要求1所述的计算机实现的方法,还包括:
由一个或多个机器学习模型基于更新后的多个槽位向量执行有监督学习任务,其中所述一个或多个机器学习模型被与所述键函数、所述查询函数、所述值函数或者所述神经网络存储单元中的一个或多个联合训练以执行所述有监督学习任务。
16.如权利要求1所述的计算机实现的方法,还包括:
由一个或多个机器学习模型基于更新后的多个槽位向量执行无监督学习任务,其中所述一个或多个机器学习模型被与所述键函数、所述查询函数、所述值函数或者所述神经网络存储单元中的一个或多个联合训练以执行所述无监督学习任务。
17.如权利要求1所述的计算机实现的方法,其中初始化所述多个槽位向量包括:
基于以下所列项中的一个或多个来初始化所述多个槽位向量:(i)从正态分布中选择的值,或者(ii)为在所述知觉表示之前处理的在前知觉表示确定的一个或多个在前槽位向量的值,其中基于所述一个或多个在前槽位向量的值来初始化所述多个槽位向量使得所述多个槽位向量跨连续的知觉表示跟踪实体。
18.如权利要求1所述的计算机实现的方法,其中,当所述多个槽位向量中的槽位向量的数目超过所述知觉表示中包含的实体的数目时,所述多个槽位向量中的一个或多个槽位向量的值被配置为指示出所述一个或多个槽位向量未被使用,并且其中当所述知觉表示中包含的实体的数目超过所述多个槽位向量中的槽位向量的数目时,所述多个槽位向量中的至少一个槽位向量被配置为表示所述知觉表示中包含的多个相应实体。
19.一种***,包括:
处理器;以及
非暂态计算机可读存储介质,其上存储有指令,所述指令当被所述处理器执行时,使得所述处理器执行操作,所述操作包括:
接收包括多个特征向量的知觉表示;
初始化由神经网络存储单元表示的多个槽位向量,其中所述多个槽位向量中的各个槽位向量被配置为表示所述知觉表示中包含的相应实体;
基于(i)由键函数变换的所述多个特征向量和(ii)由查询函数变换的所述多个槽位向量的乘积来确定关注矩阵,其中沿着所述关注矩阵的多个维度中的各个维度的多个值中的各个值相对于沿着各维度的所述多个值被正规化;
基于(i)由值函数变换的所述多个特征向量和(ii)所述关注矩阵来确定更新矩阵;并且
通过所述神经网络存储单元基于所述更新矩阵更新所述多个槽位向量。
20.一种非暂态计算机可读存储介质,其上存储有指令,所述指令当被计算***执行时,使得所述计算***执行操作,所述操作包括:
接收包括多个特征向量的知觉表示;
初始化由神经网络存储单元表示的多个槽位向量,其中所述多个槽位向量中的各个槽位向量被配置为表示所述知觉表示中包含的相应实体;
基于(i)由键函数变换的所述多个特征向量和(ii)由查询函数变换的所述多个槽位向量的乘积来确定关注矩阵,其中沿着所述关注矩阵的多个维度中的各个维度的多个值中的各个值相对于沿着各维度的所述多个值被正规化;
基于(i)由值函数变换的所述多个特征向量和(ii)所述关注矩阵来确定更新矩阵;并且
通过所述神经网络存储单元基于所述更新矩阵更新所述多个槽位向量。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063034003P | 2020-06-03 | 2020-06-03 | |
US63/034,003 | 2020-06-03 | ||
US16/927,018 US20210383199A1 (en) | 2020-06-03 | 2020-07-13 | Object-Centric Learning with Slot Attention |
US16/927,018 | 2020-07-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113486924A true CN113486924A (zh) | 2021-10-08 |
Family
ID=76269669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110619117.8A Pending CN113486924A (zh) | 2020-06-03 | 2021-06-03 | 带有槽位关注的以对象为中心的学习 |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP3944155A3 (zh) |
CN (1) | CN113486924A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114692085A (zh) * | 2022-03-30 | 2022-07-01 | 北京字节跳动网络技术有限公司 | 特征提取方法、装置、存储介质及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180137857A1 (en) * | 2016-11-17 | 2018-05-17 | Robert Bosch Gmbh | System And Method For Ranking of Hybrid Speech Recognition Results With Neural Networks |
CN110059323A (zh) * | 2019-04-22 | 2019-07-26 | 苏州大学 | 基于自注意力机制的多领域神经机器翻译方法 |
KR20200060191A (ko) * | 2018-11-21 | 2020-05-29 | 한국과학기술원 | 교차언어 환경에서의 대화 상태 추적 방법 및 시스템 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10803055B2 (en) * | 2017-12-15 | 2020-10-13 | Accenture Global Solutions Limited | Cognitive searches based on deep-learning neural networks |
-
2021
- 2021-06-03 CN CN202110619117.8A patent/CN113486924A/zh active Pending
- 2021-06-03 EP EP21177642.2A patent/EP3944155A3/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180137857A1 (en) * | 2016-11-17 | 2018-05-17 | Robert Bosch Gmbh | System And Method For Ranking of Hybrid Speech Recognition Results With Neural Networks |
KR20200060191A (ko) * | 2018-11-21 | 2020-05-29 | 한국과학기술원 | 교차언어 환경에서의 대화 상태 추적 방법 및 시스템 |
CN110059323A (zh) * | 2019-04-22 | 2019-07-26 | 苏州大学 | 基于自注意力机制的多领域神经机器翻译方法 |
Non-Patent Citations (3)
Title |
---|
ASHISH VASWANI 等: "Attention Is All You Need", 《31ST CONFERENCE ON NEURAL INFORMATION PROCESSING SYSTEMS》, 12 June 2017 (2017-06-12), pages 1 - 11 * |
NICOLAS CARION等: "End-to-End Object Detection with Transformers", 《COMPUTER VISION - ECCV 2020》, 28 May 2020 (2020-05-28), pages 213 - 229, XP093089372, DOI: 10.1007/978-3-030-58452-8_13 * |
YAN ZHANG 等: "Deep Set Prediction Networks", 《CORNELL UNIVERSITY LIBRARY》, 15 June 2019 (2019-06-15), pages 1 - 11 * |
Also Published As
Publication number | Publication date |
---|---|
EP3944155A3 (en) | 2022-05-11 |
EP3944155A2 (en) | 2022-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210383199A1 (en) | Object-Centric Learning with Slot Attention | |
KR102612808B1 (ko) | 조명 추정 | |
US20230260145A1 (en) | Depth Determination for Images Captured with a Moving Camera and Representing Moving Features | |
US10325184B2 (en) | Depth-value classification using forests | |
US11748937B2 (en) | Sub-pixel data simulation system | |
US12008738B2 (en) | Defocus blur removal and depth estimation using dual-pixel image data | |
CN116958492A (zh) | 一种基于NeRf重建三维底座场景渲染的VR编辑应用 | |
CN113486924A (zh) | 带有槽位关注的以对象为中心的学习 | |
CN112529006B (zh) | 全景图片的检测方法、装置、终端及存储介质 | |
Luo et al. | Defocus to focus: Photo-realistic bokeh rendering by fusing defocus and radiance priors | |
US11790550B2 (en) | Learnable cost volume for determining pixel correspondence | |
Huang et al. | Fast hole filling for view synthesis in free viewpoint video | |
Kim et al. | Fast depth estimation in a single image using lightweight efficient neural network | |
US20230368340A1 (en) | Gating of Contextual Attention and Convolutional Features | |
JP7387029B2 (ja) | ソフトレイヤ化および深度認識インペインティングを用いた単画像3d写真技術 | |
US20220383628A1 (en) | Conditional Object-Centric Learning with Slot Attention for Video and Other Sequential Data | |
WO2024081032A1 (en) | Translation and scaling equivariant slot attention | |
US20210158482A1 (en) | Learning device, image generating device, learning method, image generating method, and program | |
Das et al. | Signet: Intrinsic image decomposition by a semantic and invariant gradient driven network for indoor scenes | |
JP7448693B2 (ja) | 複数のドメインデータセットを用いた機械学習の予測の生成 | |
TWI832591B (zh) | 車道線檢測方法、電腦設備及儲存介質 | |
US20240161391A1 (en) | Relightable neural radiance field model | |
WO2023136822A1 (en) | Machine learning models for example-guided image inpainting | |
Alsharif et al. | An Adaptive Smoothness Parameter Strategy for Variational Optical Flow Model | |
CN118135510A (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 |