CN113811893A - 用于引导架构演进的连接权重学习 - Google Patents
用于引导架构演进的连接权重学习 Download PDFInfo
- Publication number
- CN113811893A CN113811893A CN202080034659.2A CN202080034659A CN113811893A CN 113811893 A CN113811893 A CN 113811893A CN 202080034659 A CN202080034659 A CN 202080034659A CN 113811893 A CN113811893 A CN 113811893A
- Authority
- CN
- China
- Prior art keywords
- neural network
- block
- network architecture
- architecture
- blocks
- 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
- 238000013528 artificial neural network Methods 0.000 claims abstract description 250
- 238000000034 method Methods 0.000 claims abstract description 61
- 238000012545 processing Methods 0.000 claims abstract description 57
- 238000012549 training Methods 0.000 claims abstract description 48
- 238000003860 storage Methods 0.000 claims abstract description 11
- 230000002123 temporal effect Effects 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 25
- 230000003287 optical effect Effects 0.000 claims description 13
- 230000035772 mutation Effects 0.000 claims description 6
- 238000009826 distribution Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 abstract description 14
- 238000010801 machine learning Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 12
- 230000009471 action Effects 0.000 description 10
- 239000004744 fabric Substances 0.000 description 6
- 238000010200 validation analysis Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000010339 dilation Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 241000009334 Singa Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000011218 segmentation Effects 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
- 230000009466 transformation 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/086—Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- 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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4046—Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/207—Analysis of motion for motion estimation over a hierarchy of resolutions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/776—Validation; Performance evaluation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Physiology (AREA)
- Image Analysis (AREA)
Abstract
用于确定用于执行视频处理神经网络任务的神经网络的一个或多个神经网络架构的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。在一个方面,方法包括:在多次迭代中的每一次:从神经网络架构集合中选择父神经网络架构;训练具有父神经网络架构的神经网络以执行视频处理神经网络任务,包括确定父神经网络架构的连接权重参数的训练值;至少部分地基于父神经网络架构的连接权重参数的训练值生成新神经网络架构;并且将该新神经网络架构添加到神经网络架构集合中。
Description
相关申请的交叉引用
本申请是国际申请并要求2019年5月23日提交的美国申请No.62/852,217的权益。上述申请的公开内容通过引用整体并入本文。
背景技术
本说明书涉及使用机器学习模型来处理数据。
机器学习模型接收输入并基于接收到的输入来生成输出,例如,所预测的输出。一些机器学习模型是参数模型,并且基于接收到的输入和模型参数的值来生成输出。
一些机器学习模型是深度模型,其采用多层模型为接收到的输入生成输出。例如,深度神经网络是一种深度机器学习模型,其包括输出层和一个或多个隐藏层,每个隐藏层对接收到的输入应用非线性变换以生成输出。
发明内容
本说明书描述了一种用于确定执行机器学习任务的神经网络架构的系统,该系统在一个或多个位置中的一个或多个计算机上实现为计算机程序。
根据第一方面,提供了一种由一个或多个数据处理装置执行的用于确定用于执行视频处理神经网络任务的神经网络的神经网络架构的方法,该方法包括:维护定义神经网络架构集合的数据,其中对于每个神经网络架构:神经网络架构包括多个块,其中每个块是空间-时间卷积块,所述空间-时间卷积块包括一个或多个神经网络层,其被配置为处理块输入以生成块输出;以及对于一个或多个给定块中的每一个:(i)给定块的块输入包括来自多个其他块中的每一个的块输出,(ii)给定块具有对应于多个其他块中的每一个的相应连接权重参数,(iii)处理块输入包括使用对应于所述其他块的连接权重参数组合其他块输出;在多次迭代中的每一次:从神经网络架构集合中选择父神经网络架构;训练具有该父神经网络架构的神经网络以执行视频处理神经网络任务,包括确定父神经网络架构的连接权重参数的训练值;至少部分地基于父神经网络架构的连接权重参数的训练值生成新神经网络架构;以及将新神经网络架构添加到神经网络架构集合中;以及在多次迭代的最终迭代之后,基于视频处理神经网络任务上的最终神经网络架构的性能度量从神经网络架构集合中选择最终神经网络架构。
在一些实施方式中,每个神经网络架构被配置为处理包括(i)多个视频帧,和/或(ii)对应于多个视频帧的多个光流帧的输入。
在一些实施方式中,每个块在相应的时间分辨率处理块输入以生成具有相应数量的通道的块输出。
在一些实施方式中,每个块包括一个或多个扩张的时间卷积层,该时间卷积层具有对应于块的时间分辨率的时间扩张率。
在一些实施方式中,每个神经网络架构包括具有不同时间分辨率的块。
在一些实施方式中,每个块包括一个或多个残差模块。
在一些实施方式中,使用对应于其他块的连接权重参数组合所述其他块输出包括:对于每个其他块输出,通过对应于其他块的连接权重参数对其他块输出进行缩放;以及通过对所缩放的其他块输出求和来生成组合输入。
在一些实施方式中,处理块输入还包括根据多个块参数处理所述组合输入以生成所述块输出。
在一些实施方式中,至少部分地基于父神经网络架构的连接权重参数的训练值生成新神经网络架构包括:至少部分地基于所述父神经网络架构的连接权重参数的训练值来确定新神经网络架构中的哪些块应该从新神经网络架构中的哪些其他块接收块输出。
在一些实施方式中,至少部分地基于父神经网络架构的连接权重参数的训练值来确定新神经网络架构中的哪些块应该从所述新神经网络架构中的哪些其他块接收块输出包括:对于父神经网络架构中的(i)从其他块接收块输出并且(ii)具有与具有超过阈值的训练值的其他块对应的连接权重参数的每个给定块,确定在新神经网络架构中的与给定块对应的块应该从在新神经网络架构中的与其他块对应的块接收块输出。
在一些实施方式中,该阈值是预定阈值。
在一些实施方式中,根据预定概率分布对阈值进行采样。
在一些实施方式中,该方法还包括对于包括第一块和第二块的新神经网络架构中的一对或多对块中的每一对块,随机地确定第二块是否应该接收来自第一块的块输出。
在一些实施方式中,其中生成新神经网络架构包括:对于新神经网络架构中对应于父神经网络架构中的相应块的一个或多个块中的每一个,对块应用一个或多个变异操作,其中该变异操作包括:拆分块、将块与不同的块合并,以及调整块的时间分辨率。
在一些实施方式中,从神经网络架构集合中选择父神经网络架构包括:对于来自神经网络架构集合的多个特定神经网络架构中的每一个,确定具有被训练以执行视频处理神经网络任务的特定神经网络架构的神经网络的性能度量;以及基于该性能度量从所述多个特定神经网络架构中选择父神经网络架构。
在一些实施方式中,基于性能度量从多个特定神经网络架构中选择父神经网络架构包括:选择父神经网络架构作为具有在视频处理神经网络任务上的最高性能度量的特定神经网络架构。
在一些实施方式中,该方法还包括从神经网络架构集合中移除在具有视频处理神经网络任务上的最低性能度量的特定神经网络架构。
在一些实施方式中,从神经网络架构集合中选择最终神经网络架构包括:对于来自神经网络架构集合的每个神经网络架构,确定具有被训练以执行视频处理神经网络任务的神经网络架构的神经网络的性能度量;以及选择最终神经网络架构作为具有在视频处理神经网络任务上的最高性能度量的神经网络架构。
在一些实施方式中,该方法还包括提供神经网络,该神经网络(i)具有最终神经网络架构,并且(ii)已被训练以执行视频处理神经网络任务。
在一些实施方式中,对于每个神经网络架构:神经网络架构中的每个块都与级别序列中的相应级别相关联;以及对于与级别序列中的第一级别之后的给定级别相关联的每个给定块,给定块仅从与给定级别之前的级别相关联的其他块接收块输出。
根据另一方面,提供了一种系统,包括一个或多个计算机和存储指令的一个或多个存储设备,当由一个或多个计算机执行该指令时,该指令使该一个或多个计算机执行前述方法的操作。
根据另一方面,提供了一种或多种计算机存储介质,其存储指令,当由一个或多个计算机执行该指令时,该指令使该一个或多个计算机执行前述方法的操作。
可以实施本说明书中描述的主题的特定实施例以实现以下优点中的一个或多个。
本说明书中描述的系统能够自动地选择神经网络架构,该神经网络架构可以使具有该架构的神经网络能够有效地执行机器学习任务,例如,视频处理任务。系统可以从可能架构的空间中选择架构,每个架构都包括处理块输入的多个神经网络层块(例如,空间-时间卷积层),这些块输入可以从不同的输入流(例如,视频帧流或光流)在相应的时间分辨率导出。作为选择架构的一部分,系统选择架构中的块如何相互连接,即,哪些块接收来自哪些其他块的输入,从而能够控制数据如何流经架构,以及何时何地将对不同的信息以各种抽象级别进行编码的特征组合在一起。相比之下,一些传统的架构选择系统从可能架构的不太灵活的空间中选择架构,例如,每个架构都包括顺序地重复多次的相同神经网络层模块的空间。通过搜索可能架构的复杂且灵活的空间,本说明书中描述的系统可以选择一种架构,该架构使具有该架构的神经网络能够更有效地执行机器学习任务,例如,具有更高的预测准确度。
为了选择架构,系统在多次进化迭代中进化(即更新)神经网络架构的群体(即集合)。在每次进化迭代中,系统能够基于定义父神经网络架构中块之间连接强度的连接权重参数的训练值,从现有的“父”神经网络架构生成新神经网络架构。例如,系统能够确定父架构中的强连接块在新架构中仍应当被连接,而其他块之间的连接可能会在新架构中被随机地重新配置。基于连接权重参数的训练值指导神经网络架构的群体的进化可以使系统能够选择一种架构,该架构在机器学习任务上通过较少的进化迭代实现可接受的性能,从而减少计算资源的消耗,例如,存储器和计算能力。
本说明书主题的一个或多个实施例的细节在附图和以下说明书中阐述。本主题的其他特征、方面和优点将从说明书、附图和权利要求中变得明显。
附图说明
图1示出了用于执行由架构选择系统生成的视频处理任务的可能神经网络架构的示例。
图2示出了示例架构选择系统。
图3是用于确定用于执行视频处理神经网络任务的神经网络的神经网络架构的示例过程的流程图。
各个附图中相同的附图标记和名称表示相同的元件。
具体实施方式
本说明书描述了用于为被配置为执行机器学习任务的神经网络选择架构的架构选择系统200。
机器学习任务可以是视频处理任务,即,神经网络处理视频(或从视频导出的特征)以生成表征视频的输出。“视频”可以指视频帧序列,其中每个视频帧可以被表示为数值阵列并且对应于相应的时间点。例如,视频帧可以被表示为RBG或CIELAB值的阵列。
对神经网络的输入可以包括,例如,视频帧序列、对应于视频帧的光流帧序列或两者。每个光流帧可以表征相应一对视频帧之间的运动,即,第一视频帧与后续视频帧之间的运动。例如,每个光流帧可以指定对应于第一视频帧中的每个像素的相应位移矢量,其中该位移矢量估计第一视频帧与后续视频帧之间的像素的位移。光流帧可以使用多种技术中的任何一种(例如,Lucas-Kanade方法)从视频帧中导出。
神经网络可以生成表征输入视频的多种输出中的任一种。例如,神经网络可以生成分类输出,该分类输出包括多个类别中的每一个的相应分数,其中类别的分数定义视频被包括在该类别中的可能性。在特定示例中,神经网络可以生成分类输出,该分类输出对由视频中描绘的人正在执行的动作进行分类,并且该分类输出可以指定可能动作集合中每个动作的相应分数。
将参考图2更详细地描述架构选择系统200从可能架构的空间中选择神经网络的架构。由架构选择系统200为被配置为执行视频处理任务的神经网络选择的示例架构100被图示在图1中。每一种可能的架构都包含多个“块”,包括一个或多个输入块和一个或多个中间块。如本说明书贯穿全文所使用的,块是指一组神经网络层,例如,其可以按顺序排列。
每个输入块(例如,输入块102)可以被配置为处理视频帧的序列(例如,视频帧104)、光流帧的序列(例如,光流帧106)或两者。每个中间块可以被配置为处理包括一个或多个其他块的输出的输入(例如,块108可以被配置为从块102和110接收输入)。神经网络可以通过由一个或多个神经网络层,例如,包括池化层、全连接层和soft-max层的层序列,处理神经网络的一个或多个块(例如,块114)的输出来生成输出(例如,输出112)。
每个块可以是空间-时间卷积块,即,包括一个或多个卷积神经网络层并且被配置为处理空间-时间输入以生成空间-时间输出的块。空间-时间数据指数值的有序集合,例如,数值的张量,其包括多个空间维度、时间维度和可选地,通道维度。每个块可以生成具有相应数量的通道的输出,并且在图1所图示的神经网络中,每个块的输出中的通道数量由C表示,例如,其中块102生成具有C=32个通道的块输出。
每个块可以包括,例如,空间卷积层(即,具有在空间维度中定义的卷积核)、空间-时间卷积层(即,具有跨空间和时间维度定义的卷积核)和时间卷积层(即,具有在时间维度中定义的卷积核)。
时间卷积层可以是“扩张的”(“dilated”)时间卷积层,即,通过将层输入与时间维度中定义的核进行卷积来生成层输出,其中卷积根据称为扩张率的步长跳过输入(即,沿着时间维度)。可以说扩张的时间卷积层以由扩张率定义的“时间分辨率”处理空间-时间输入,例如,使得较高的扩张率可以对应于较低的时间分辨率。在一些情况下,块中的每个时间卷积层可以被配置为以相同的时间分辨率处理空间-时间输入,这可以被称为块的时间分辨率,并且不同的块可以具有不同的时间分辨率。在参考图1所图示的神经网络中,每个块的扩张率由r表示,例如,其中块102的扩张率r=4。块的时间分辨率可能影响该块生成的输出中编码的信息的性质,并且具有不同时间分辨率的块可以生成对互补信息进行编码的块输出,这可以提高神经网络的性能。
空间卷积层可以是“跨步的”(“strided”)卷积层,即,通过将层输入与空间维度中定义的核进行卷积来生成层输出,其中卷积窗口根据称为步幅的步长遍历输入(即,沿空间维度)。
在一些实施方式中,每个块中的神经网络层可以被排列成“残差模块”(“residualmodules”)。每个残差模块包括一个或多个神经网络层,并且残差模块的输出可以是以下的总和:(i)残差模块的第一层的输入,以及(ii)残差模块的最后一层的输出。使用残差模块可以稳定神经网络的训练,并且从而提高训练后的神经网络的性能。
被配置为从其他块接收输入的给定块可以维护对应于这些其他块中的每一个的相应“连接权重”(“connection weight”)参数。给定块可以依据连接权重参数组合来自其他块的输入以生成组合输入,然后处理该组合输入(例如,通过一个或多个卷积神经网络层)以生成块输出。给定块可以生成组合输入Fin,例如,如下:
其中i索引向给定块提供输入的n个其他块,wi表示对应块i的连接权重参数,而表示从块i接收的输入。例如,依据等式(1)组合来自其他块的输入可能需要来自其他块的输入具有相同的空间维度和通道维度。如果来自其他块的输入具有不同的空间维度,则给定块可以对来自其他块的输入应用池化操作(例如,最大池化操作)以使其空间维度匹配。如果来自其他块的输入具有不同的通道维度,则给定块可以进行投影操作(例如,由具有1×1维核的空间卷积层实现)以使其通道维度匹配。
在一些实施方式中,神经网络中的每个块可以与相应的级别相关联,例如,级别116-124,并且给定级别中的每个块仅从较低级别的块接收输入。例如,级别3(120)中的每个块可以从级别1(116)和级别2(118)的块接收输入,但不能从级别3(120)、级别4(122)或级别5(124)的块接收输入。
作为选择神经网络架构的一部分,架构选择系统可以选择:架构的每一级别中的块的数量、每个块的时间分辨率、由每个块生成的输出中的通道数以及哪些块接收来自哪些其他块的输入。为此,架构选择系统通过可能架构的空间执行自动搜索以选择使神经网络能够有效执行机器学习任务的架构,如将参考图2更详细地描述的。
虽然本说明书主要将架构选择系统描述为选择用于执行视频处理任务的神经网络架构,但更一般地,架构选择系统能够被用于选择用于执行各种神经网络任务中的任一个的神经网络架构。其他神经网络任务的示例包括,例如:语义分割任务、图像分类任务、对象检测任务、动作选择任务、自然语言处理任务和语音识别任务。此外,虽然本说明书主要将块描述为空间-时间卷积块,但更一般地,块可以包括任何适当类型的神经网络层。此外,虽然本说明书主要描述了选择被配置为处理视频帧和/或光流帧的神经网络架构,但架构选择系统能够被用于选择处理任何适当类型数据的神经网络架构,例如,包括点云的序列(例如,由激光雷达传感器生成)的数据和/或包括高光谱图像的序列(例如,由高光谱传感器生成)的数据。
图2示出了示例架构选择系统200。架构选择系统200是在一个或多个位置中的一个或多个计算机上实现为计算机程序的系统的示例,其中实现了下面描述的系统、组件和技术。
系统200被配置为选择“最终”(“final”)神经网络架构202,其使具有该架构的神经网络能够有效地执行机器学习任务,例如,视频处理任务,如上所述。为此,系统200维护可能神经网络架构204的群体(即,集合),并且在一次或多次迭代中的每一次更新群体204,这在本文中将被称为“进化”(“evolutionary”)迭代。特别地,系统200更新架构204的群体以增加群体204包括具有优越(例如,更高)性能度量的架构的可能性。架构的性能度量可以表征具有该架构的神经网络在机器学习任务上的性能(例如,预测准确度)。在最终进化迭代之后,系统200可以从群体204中选择架构作为最终架构202,如下文将更详细地描述的。
系统200包括可能架构204的群体、选择引擎206和架构生成引擎208。
可能架构的群体204包括多个可能的架构并且由系统200在进化迭代中维护。每个可能的架构可以是,例如,包括多个空时卷积块的视频处理架构,如参考图1所描述的。
在第一次进化迭代之前,系统200可以通过随机地生成预定义数量(例如,20或任何其他适当数量)的架构并将所生成的架构添加到群体204来初始化架构的群体204。
为了随机地生成可能架构,系统200可以在架构中以预定义数量的级别中的每一个(例如,5个级别,或任何其他适当数量的级别)使用预定义数量的块初始化架构。每个块的架构(例如,块内神经网络层的数量、类型和配置)可以从预定义集合的可能块架构中随机地选择。每个可能块架构可以包括具有来自可能扩张率集合的扩张率的扩张时间卷积神经网络层,例如,r∈{1,2,4,8}。每个可能块架构可以包括跨步卷积神经网络层,这些层具有来自可能步幅集合的步幅,例如,s∈{1,2,4,8}。每个可能块架构可以被配置为从可能通道维度集合生成具有多个通道的块输出,例如,C∈{32,64,128,256}。
在初始化随机地生成的神经网络架构中的每一层的块之后,系统200可以对架构中随机地选择的块应用随机数量的“拆分”(“splitting”)或“合并”(“merging”)操作。对块应用拆分操作可以指用两个新块替代该块,例如,其中每个新块可以被配置为生成只有原始块的一半通道,但具有与原始块相同的时间分辨率的输出。对一对块应用合并操作可以指用单个新块替代这对块。新块可以被配置为生成具有等于被合并的块对中的每个原始块的输出中的相应通道数量之和的通道数量的输出。新块的时间分辨率可以从每个原始块的时间分辨率之间随机地被选择。
作为随机地生成可能架构的一部分,系统200还确定哪些块应该向哪些其他块提供输入,即,系统确定哪些块应该被“连接”。如本说明书贯穿全文所使用的,如果第二块被配置为从第一块接收输入,则可以说第一块被连接到第二块。系统200可以确定在随机地生成的架构中哪些块应该被连接,例如,通过将每个可能的连接以预定义的概率添加到架构,例如,p=0.5。仅当指定较高级别的块应该从较低级别的块接收输入时,块之间的连接才被称为“可能的”。
在每次进化迭代中,选择引擎206从架构204的群体中选择“父”神经网络架构。为了选择父架构210,选择引擎206可以从架构204的群体中随机地采样预定义数量的“候选”架构,并且为每个候选架构确定相应的性能度量。
为了确定候选架构的性能度量,选择引擎206可以训练具有候选架构的神经网络以通过在训练数据集合上训练神经网络以确定神经网络参数的训练值来执行机器学习任务。具体地,选择引擎训练神经网络以确定与候选架构中的块之间的连接相对应的连接权重参数的训练值,以及确定其他神经网络参数的训练值,例如,每个块内的神经网络层的参数。
训练数据集合可以包括多个训练示例,其中每个训练示例指定:(i)神经网络的训练输入,以及(ii)由神经网络通过处理训练输入应该生成的目标输出。例如,每个训练示例可以包括指定视频帧序列和/或对应的光流帧序列的训练输入,以及例如,指示视频帧中描绘的人正在执行的动作的目标分类输出。选择引擎206可以使用任何适当的机器学习训练技术,例如,随机梯度下降,来训练神经网络,其中在一次或多次训练迭代中的每一个处通过神经网络反向传播目标函数的梯度。目标函数可以是,例如,交叉熵目标函数或任何其他适当的目标函数。
应当理解,通过合适选择训练数据和/或丢失函数,神经网络能够被训练用于分类任务以外的视频处理任务。例如,使用包括下采样视频和相应的更高分辨率真实视频的训练集合、利用比较神经网络的输出与对应于神经网络的下采样视频输入的更高分辨率真实视频的损失函数,例如,L1或L2,神经网络能够被训练用于超分辨率(在空间和/或时间域中)。作为进一步的示例,神经网络能够被训练以从视频中去除一种或多种类型的图像/视频伪影,诸如可能在视频编码期间引入的块伪影。在这个示例中,训练数据集可以包括真实视频集合,每个视频都具有一个或多个相应的“退化”(“degraded”)视频(即,具有引入的一种或多种类型的伪影),以及将神经网络的输出与对应于神经网络的退化视频输入的真实视频的损失函数,例如,L1或L2。
在训练数据集合上训练具有候选架构的神经网络之后,选择引擎206可以通过评估训练后的神经网络在验证数据集合上的性能来确定候选架构的性能度量。验证数据还可以包括多个训练示例,如上所述,但通常与训练数据分开,即,使得神经网络不在验证数据上被训练。选择引擎206可以使用测量训练后的神经网络的预测准确度的目标函数,例如,交叉熵目标函数,来评估训练后的神经网络在验证数据集合上的性能。选择引擎206可以确定候选架构的性能度量,例如,当验证数据的训练输入使用具有候选架构的训练后的神经网络被处理时,作为跨验证数据集合的目标函数值的平均值。
选择引擎206可以基于在当前进化迭代中从架构204的群体中选择的候选架构的性能度量来识别当前进化迭代的父架构210。例如,选择引擎206可以将具有“最佳”(例如,最高)性能度量的候选架构识别为当前进化迭代的父架构210。此外,选择引擎206还可以从架构204的群体中去除一个或多个候选架构。例如,选择引擎206可以从架构204的群体中去除具有“最差”(例如,最低)性能度量的候选架构。
在某些情况下,一些或所有候选架构可能已经被训练为在先前的进化迭代处执行机器学习任务,并且架构选择系统200可能已经为这些架构存储了之前生成的性能度量。在这些情况下,选择引擎206可以重新使用为这些架构先前生成的性能度量,而不是在每次进化迭代处再次生成它们。
在每次进化迭代中,架构生成引擎208被配置为基于以下两者生成“新”神经网络架构:(i)父架构210,和(ii)父架构210的连接权重参数212的训练值。特别地,架构生成引擎208至少部分地基于父架构210的连接权重参数212的训练值来确定新架构中的哪些块应该被连接(即,哪些块应该从哪些其他块接收输入)。
例如,架构生成引擎208可以通过生成父架构210的副本并将新架构214设置为等于父架构210的副本来初始化新架构214。架构生成引擎208然后可以基于父架构210的连接权重参数值212修改新架构214的块之间的连接。例如,架构生成引擎208可以修剪(移除)来自对应于低于阈值的连接权重参数值212的新架构214的每个连接。即,架构生成引擎208可以仅保持新架构214中对应于超过阈值的连接权重参数值212的连接,同时移除其他连接。阈值可以是预定义的阈值(例如,0.5),或者是通过从预定义的概率分布中采样而为每个连接动态确定的阈值,例如,区间[0,1]上的均匀概率分布。
架构生成引擎208还可以向新架构214添加新连接。例如,对于未被包括在父架构210中的每个可能连接,架构生成引擎208可以向新架构以预定义概率添加可能连接。预定义概率可以是以下的比率:(i)从新架构修剪的连接的数量,以及(ii)未被包括在父架构210中的可能边的数量。以这种概率向新架构214添加新连接可以导致新架构214平均具有与父架构210相同的连接总数。
在修改新架构214的块之间的连接之后,架构生成引擎208可以对新架构214的随机地选择的块应用一个或多个“变异”(“mutation”)操作。该变异操作可以包括,例如:块拆分操作、块合并操作和改变块中时间卷积层扩张率的操作。在对块应用拆分操作以生成两个新块时,架构生成引擎208可以确定每个新块具有与原始块相同的连接。即,每个新块可以被配置为从与原始块相同的源接收输入,并且将其输出提供到与原始块相同的目的地。在对一对块应用合并操作时,架构生成引擎208可以确定新块具有两个原始块的所有连接。即,新块可以被配置为从与每个原始块相同的源接收输入,并且将其输出提供到与每个原始块相同的目的地。例如,通过从可能时间扩张率集合中随机地采样块中的时间卷积层的新扩张率,架构生成引擎208可以改变块中的时间卷积层的扩张率。
系统200可以将由架构生成引擎208生成的新架构214添加到架构204的群体中,然后进行到下一次进化迭代。
基于父架构210的学习的连接权重参数值212生成新架构214可以使系统200能够生成新架构214,该新架构214保持使父架构210在执行机器学习任务时有效的一些属性。同时,新连接被随机地添加到新架构214,从而使系统200能够探索在执行机器学习任务时可能更有效的父架构210的变化。基于连接权重参数的训练值来引导架构群体的演化可以增加系统生成具有更优(例如,更高)性能度量的新架构214的可能性。
在最终演化迭代之后,系统200可以从架构204的群体中选择一个或多个架构作为最终架构202。例如,系统200可以将最终架构202识别为在架构204的群体中具有最佳(例如,最高)性能度量的架构。作为另一个示例,系统200可以将架构204的群体中具有最佳性能度量的预定义数量的架构识别为最终架构。
(多个)最终架构202能够以多种方式中的任何方式被使用。例如,可以部署具有最终架构202的神经网络来执行机器学习任务。作为另一示例,(多个)最终架构202可以被用于初始化后续架构细化过程,例如,修改(多个)最终架构202以确定用于执行机器学习任务的其他架构。作为另一个示例,多个最终架构可以被组合以形成用于执行机器学习任务的集成模型,例如,使得每个最终架构的输出被组合(例如,被平均)以确定集成输出。
图3是用于确定用于执行视频处理神经网络任务的神经网络的神经网络架构的示例过程300的流程图。为方便起见,过程300将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当编程的图2的架构选择系统200能够执行过程300。
系统维护定义神经网络架构集合的数据(302)。每个神经网络架构包括多个块,其中每个块是空间-时间卷积块,其包括一个或多个神经网络层,其被配置为处理块输入以生成块输出。对于一个或多个给定块中的每一个:(i)给定块的块输入包括来自一个或多个其他块中的每一个的块输出,(ii)给定块具有对应于一个或多个其他块中的每一个的相应连接权重参数,以及(iii)处理块输入包括使用对应于其他块的连接权重参数组合其他块输出。
系统在一次或多次进化迭代中的每一次中执行步骤304-310。
系统从神经网络架构集合中选择父神经网络架构(304)。
系统训练具有父神经网络架构的神经网络以执行视频处理神经网络任务,包括确定父神经网络架构的连接权重参数的训练值(306)。
系统至少部分地基于父神经网络架构的连接权重参数的训练值生成新神经网络架构(308)。
系统将该新神经网络架构添加到神经网络架构集合中(310)。
如果当前进化迭代不是最终进化迭代,则系统返回到步骤304。如果当前进化迭代是最终进化迭代,则系统基于视频处理神经网络任务上最终神经网络架构的性能度量从神经网络架构集合中选择最终神经网络架构(312)。
本说明书结合系统和计算机程序组件使用术语“配置”。对于一个或多个计算机被配置为执行特定操作或动作的系统意味着系统已在其上安装了软件、固件、硬件或它们的组合,其在运行时使系统执行操作或动作。对于一个或多个计算机程序被配置为执行特定操作或动作意味着该一个或多个程序包括在由数据处理装置执行时使该装置执行操作或动作的指令。
本说明书中描述的主题和功能操作的实施例能够在数字电子电路、有形体现的计算机软件或固件、计算机硬件、包括本说明书中公开的结构及其结构等价形式,或它们中的一种或多种的组合中被实现。本说明书中描述的主题的实施例能够被实现为一个或多个计算机程序,即,编码在有形的非暂时性存储介质上的一个或多个计算机程序指令,用于由数据处理装置执行或为了控制其操作。计算机存储介质能够是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一种或多种的组合。替代地或另外地,程序指令能够被编码在人工生成的传播信号上,例如,机器生成的电、光或电磁信号,该信号被生成为对信息进行编码以传输到合适的接收器装置以供数据处理装置执行。
术语“数据处理装置”指数据处理硬件,并且包括用于处理数据的各种装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。该装置还能够是,或进一步包括,专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还能够可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一种或多种的组合的代码。
计算机程序,其也可以被称为或被描述为程序、软件、软件应用、应用程序、模块、软件模块、脚本或代码,能够以任何形式的被编程语言被编写,包括编译或解释语言,或声明性或程序性语言;并且它能够以任何形式被部署,包括作为独立程序或作为模块、组件、子程序或在计算环境中使用的其他适合单元。程序可以,但不必须,对应于文件系统中的文件。程序能够被存储在包含其他程序或数据的文件的一部分中,例如,存储在标记语言文档中的一个或多个脚本,专用于相关程序的单个文件中或多个协调文件中,例如,存储一个或多个模块、子程序或部分代码的文件。计算机程序能够被部署在一个计算机上被执行,也可以在位于一个站点或分布在多个站点并通过数据通信网络互连的多个计算机上被执行。
在本说明书中,术语“引擎”被广泛用于指基于软件的系统、子系统或过程,其被编程为执行一个或多个特定功能。通常,引擎将被实现为安装在一个或多个位置的一个或多个计算机上的一个或多个软件模块或组件。在某些情况下,一个或多个计算机将被专用于特定引擎;在其他情况下,能够在同一个或多个计算机上安装和运行多个引擎。
本说明书中描述的过程和逻辑流程能够由一个或多个可编程计算机执行,该计算机执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。处理和逻辑流程也能够由专用逻辑电路,例如FPGA或ASIC,或由专用逻辑电路和一个或多个编程计算机的组合来执行。
适用于执行计算机程序的计算机能够基于通用或专用微处理器或两者,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器能够由专用逻辑电路补充或合并到专用逻辑电路中。通常,计算机还将包括,或可操作地耦合以从用于存储数据的一个或多个大容量存储设备(例如,磁光盘、磁光盘或光盘)接收数据或将数据传送到这些设备或两者。然而,计算机不需要具有这样的设备。此外,计算机能够被嵌入到另一个设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收器或便携式存储设备,例如,通用串行总线(USB)闪存驱动器,仅举几例。
适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,例如包括半导体存储设备,例如EPROM、EEPROM和闪存设备;磁盘,例如,内置硬盘或可移动磁盘;磁光盘;以及CDROM和DVD-ROM盘。
为了提供与用户的交互,本说明书中描述的主题的实施例能够在具有用于向用户显示信息的显示设备,例如CRT(阴极射线管)或LCD(液晶显示器)监视器,以及键盘和定点设备,例如,鼠标或轨迹球,用户能够通过它们向计算机提供输入,的计算机上被实现。其他类型的设备能够被用于提供与用户的交互;例如,提供给用户的反馈能够是任何形式的感官反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且能够以任何形式接收来自用户的输入,包括声学、语音或触觉输入。另外,计算机能够通过向由用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,响应于从Web浏览器接收到的请求,将网页发送到用户设备上的Web浏览器。此外,计算机能够通过向个人设备,例如运行消息传递应用的智能手机,发送文本消息或其他形式的消息并随后从用户接收响应消息来与用户交互。
用于实现机器学习模型的数据处理装置还能够包括,例如,专用硬件加速器单元,用于处理机器学习训练或生产的通用和计算密集型部分,即,推理、工作负载。
机器学习模型能够使用机器学习框架来实现和部署,例如,TensorFlow框架、Microsoft Cognitive Toolkit框架、Apache Singa框架或Apache MXNet框架。
本说明书中描述的主题的实施例能够在计算系统中被实现,该计算系统包括后端组件,例如,作为数据服务器,或者包括中间件组件,例如,应用服务器,或者包括前端组件,例如,具有图形用户界面的客户端计算机、Web浏览器或应用,用户能够通过其与本说明书中描述的主题的实施方式、或一个或多个这种后端、中间件或前端组件的任意组合进行交互。系统的组件能够通过任何形式或媒介的数字数据通信互连,例如,通信网络。通信网络的示例包括局域网(LAN)和广域网(WAN),例如,互联网。
计算系统能够包括客户端和服务器。客户端和服务器通常彼此远离并且通常通过通信网络进行交互。客户端与服务器的关系借助于在相应的计算机上运行的计算机程序而生成,并且彼此具有客户端-服务器关系。在一些实施例中,服务器将数据,例如,HTML页面,传输到用户设备,例如,出于向作为客户端的与设备交互的用户显示数据和接收来自与该设备交互的用户的用户输入的目的。在用户设备处生成的数据,例如,用户交互的结果,能够在服务器处从设备接收。
虽然本说明书包含许多具体的实施方式细节,但这些不应被解释为对任何发明的范围或可能要求保护的范围的限制,而是对可能特定于特定发明的特定实施例的特征的描述。本说明书中在单独实施例的上下文中描述的某些特征也能够在单个实施例中组合被实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中被实现。此外,虽然上述特征可能在某些组合中被描述为以某些组合起作用,甚至最初如此被要求保护,但在某些情况下,可以从该组合中去除一个或多个来自要求保护的组合的特征,并且所要求保护的组合可以针对子组合或子组合的变体。
类似地,虽然以特定顺序在附图中描绘了操作并在权利要求中叙述了操作,但这不应理解为要求以所示的特定顺序或连续顺序执行这些操作,或者要求所有图示的操作都执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中各个系统模块和组件的分离不应理解为在所有实施例中都需要这样的分离,应当理解的是,所描述的程序组件和系统一般能够被集成到单个软件产品中或打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中记载的动作能够以不同的顺序被执行并且仍然达到期望的结果。作为一个示例,附图中描述的过程不一定需要所示的特定顺序或连续顺序来实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。
Claims (22)
1.一种由一个或多个数据处理装置执行的用于确定用于执行视频处理神经网络任务的神经网络的神经网络架构的方法,所述方法包括:
维护定义神经网络架构集合的数据,其中,对于每个神经网络架构:
所述神经网络架构包括多个块,其中每个块是空间-时间卷积块,所述空间-时间卷积块包括一个或多个神经网络层,所述空间-时间卷积块被配置为处理块输入以生成块输出;以及
对于一个或多个给定块中的每一个:(i)所述给定块的块输入包括来自多个其他块中的每一个的块输出,(ii)所述给定块具有与所述多个其他块中的每一个对应的相应连接权重参数,以及(iii)处理所述块输入包括使用与所述其他块对应的连接权重参数组合所述其他块输出;
在多次迭代中的每一次:
从所述神经网络架构集合中选择父神经网络架构;
训练具有所述父神经网络架构的神经网络以执行视频处理神经网络任务,包括确定所述父神经网络架构的连接权重参数的训练值;
至少部分基于所述父神经网络架构的连接权重参数的训练值生成新神经网络架构;以及
将所述新神经网络架构添加到所述神经网络架构集合中;以及
在所述多次迭代中的最终迭代之后,基于所述视频处理神经网络任务上的最终神经网络架构的性能度量从所述神经网络架构集合中选择最终神经网络架构。
2.根据权利要求1所述的方法,其中,每个神经网络架构被配置为处理包括以下的输入:(i)多个视频帧,和/或(ii)与所述多个视频帧对应的多个光流帧。
3.根据任一前述权利要求所述的方法,其中,每个块在相应的时间分辨率处理块输入以生成具有相应数量的通道的块输出。
4.根据权利要求3所述的方法,其中,每个块包括一个或多个扩张的时间卷积层,所述扩张的时间卷积层具有与所述块的时间分辨率对应的时间扩张率。
5.根据权利要求3-4中的任一项所述的方法,其中,每个神经网络架构包括具有不同时间分辨率的块。
6.根据任一前述权利要求所述的方法,其中,每个块包括一个或多个残差模块。
7.根据任一前述权利要求所述的方法,其中,使用与所述其他块对应的连接权重参数组合所述其他块输出包括:
对于每个其他块输出,通过与所述其他块对应的所述连接权重参数对所述其他块输出进行缩放;以及
通过对所缩放的其他块输出求和来生成组合输入。
8.根据权利要求7所述的方法,其中,处理所述块输入还包括:
根据多个块参数处理所述组合输入以生成所述块输出。
9.根据任一前述权利要求所述的方法,其中,至少部分地基于所述父神经网络架构的所述连接权重参数的训练值生成新神经网络架构包括:
至少部分地基于所述父神经网络架构的连接权重参数的训练值来确定所述新神经网络架构中的哪些块应该从所述新神经网络架构中的哪些其他块接收块输出。
10.根据权利要求9所述的方法,其中,至少部分地基于所述父神经网络架构的连接权重参数的训练值来确定所述新神经网络架构中的哪些块应该从所述新神经网络架构中的哪些其他块接收块输出包括:
对于所述父神经网络架构中的(i)从其他块接收块输出并且(ii)具有与具有超过阈值的训练值的所述其他块对应的连接权重参数的每个给定块,确定在所述新神经网络架构中的与所述给定块对应的块应该从在所述新神经网络架构中的与所述其他块对应的块接收块输出。
11.根据权利要求10所述的方法,其中,所述阈值是预定阈值。
12.根据权利要求10所述的方法,其中,所述阈值是根据预定概率分布而被采样的。
13.根据权利要求9-12中的任一项所述的方法,还包括:
对于包括第一块和第二块的所述新神经网络架构中的一对或多对块中的每一对块,随机地确定所述第二块是否应该从所述第一块接收块输出。
14.根据任一前述权利要求所述的方法,其中,生成所述新的神经网络架构包括:
对于所述新神经网络架构中与所述父神经网络架构中的相应块对应的一个或多个块中的每一个,对所述块应用一个或多个变异操作,其中,所述变异操作包括:拆分所述块、将所述块与不同的块合并以及调整所述块的时间分辨率。
15.根据任一前述权利要求所述的方法,其中,从所述神经网络架构集合中选择父神经网络架构包括:
对于来自所述神经网络架构集合中的多个特定神经网络架构中的每一个,确定具有被训练以执行所述视频处理神经网络任务的所述特定神经网络架构的神经网络的性能度量;以及
基于所述性能度量从所述多个特定神经网络架构中选择所述父神经网络架构。
16.根据权利要求15所述的方法,其中,基于所述性能度量从所述多个特定神经网络架构中选择所述父神经网络架构包括:
选择所述父神经网络架构作为具有在所述视频处理神经网络任务上的最高性能度量的特定神经网络架构。
17.根据权利要求15-16中的任一项所述的方法,还包括:
从所述神经网络架构集合中移除具有在所述视频处理神经网络任务上的最低性能度量的特定神经网络架构。
18.根据任一前述权利要求所述的方法,其中,从所述神经网络架构集合中选择所述最终神经网络架构包括:
对于来自所述神经网络架构集合中的每个神经网络架构,确定具有被训练以执行所述视频处理神经网络任务的所述神经网络架构的神经网络的性能度量;以及
选择所述最终神经网络架构作为具有在所述视频处理神经网络任务上的最高性能度量的神经网络架构。
19.根据任一前述权利要求所述的方法,还包括:
提供神经网络,所述神经网络(i)具有所述最终神经网络架构,并且(ii)已被训练以执行所述视频处理神经网络任务。
20.根据任一前述权利要求所述的方法,其中,对于每个神经网络架构:
所述神经网络架构中的每个块都与级别序列中的相应级别相关联;以及
对于与所述级别序列中的第一级别之后的给定级别相关联的每个给定块,所述给定块仅从与所述给定级别之前的级别相关联的其他块接收块输出。
21.一种系统,包括一个或多个计算机和存储指令的一个或多个存储设备,所述指令当由所述一个或多个计算机执行时,使所述一个或多个计算机执行根据权利要求1-20中的任一项所述的相应方法的操作。
22.一种或多种计算机存储介质,其存储指令,所述指令当由一个或多个计算机执行时,使所述一个或多个计算机执行根据权利要求1-20中的任一项所述的相应方法的操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962852217P | 2019-05-23 | 2019-05-23 | |
US62/852,217 | 2019-05-23 | ||
PCT/US2020/034267 WO2020237168A1 (en) | 2019-05-23 | 2020-05-22 | Connection weight learning for guided architecture evolution |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113811893A true CN113811893A (zh) | 2021-12-17 |
Family
ID=71094819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080034659.2A Pending CN113811893A (zh) | 2019-05-23 | 2020-05-22 | 用于引导架构演进的连接权重学习 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220189154A1 (zh) |
EP (1) | EP3948682A1 (zh) |
CN (1) | CN113811893A (zh) |
WO (1) | WO2020237168A1 (zh) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10931702B2 (en) * | 2018-04-24 | 2021-02-23 | Cyberfortress, Inc. | Vulnerability profiling based on time series analysis of data streams |
US10984245B1 (en) * | 2018-06-11 | 2021-04-20 | Facebook, Inc. | Convolutional neural network based on groupwise convolution for efficient video analysis |
US11797843B2 (en) * | 2019-03-06 | 2023-10-24 | Samsung Electronics Co., Ltd. | Hashing-based effective user modeling |
WO2020187424A1 (en) * | 2019-03-21 | 2020-09-24 | Huawei Technologies Co., Ltd. | Image processor |
US11790213B2 (en) * | 2019-06-12 | 2023-10-17 | Sri International | Identifying complex events from hierarchical representation of data set features |
EP3923183A1 (en) * | 2020-06-11 | 2021-12-15 | Tata Consultancy Services Limited | Method and system for video analysis |
US20230114556A1 (en) * | 2020-07-14 | 2023-04-13 | Google Llc | Neural network models using peer-attention |
US11816987B2 (en) * | 2020-11-18 | 2023-11-14 | Nvidia Corporation | Emergency response vehicle detection for autonomous driving applications |
WO2023123380A1 (zh) * | 2021-12-31 | 2023-07-06 | 深圳先进技术研究院 | 基于弱监督对比学习的动态成瘾神经环路生成方法及系统 |
-
2020
- 2020-05-22 US US17/605,783 patent/US20220189154A1/en active Pending
- 2020-05-22 CN CN202080034659.2A patent/CN113811893A/zh active Pending
- 2020-05-22 EP EP20733096.0A patent/EP3948682A1/en active Pending
- 2020-05-22 WO PCT/US2020/034267 patent/WO2020237168A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
WO2020237168A1 (en) | 2020-11-26 |
EP3948682A1 (en) | 2022-02-09 |
US20220189154A1 (en) | 2022-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11829880B2 (en) | Generating trained neural networks with increased robustness against adversarial attacks | |
US10671889B2 (en) | Committed information rate variational autoencoders | |
US20220014807A1 (en) | Method, apparatus, device and medium for generating captioning information of multimedia data | |
US11941527B2 (en) | Population based training of neural networks | |
CN111602148B (zh) | 正则化神经网络架构搜索 | |
US20210004677A1 (en) | Data compression using jointly trained encoder, decoder, and prior neural networks | |
CN111758105A (zh) | 学习数据增强策略 | |
US11514694B2 (en) | Teaching GAN (generative adversarial networks) to generate per-pixel annotation | |
CN111279362A (zh) | 胶囊神经网络 | |
CN110427899B (zh) | 基于人脸分割的视频预测方法及装置、介质、电子设备 | |
US11803731B2 (en) | Neural architecture search with weight sharing | |
CN116686017A (zh) | 一种用于视频动作识别的时间瓶颈注意力体系结构 | |
US20230306258A1 (en) | Training video data generation neural networks using video frame embeddings | |
US20220051367A1 (en) | Multi-scale-factor image super resolution with micro-structured masks | |
Huai et al. | Zerobn: Learning compact neural networks for latency-critical edge systems | |
US11948090B2 (en) | Method and apparatus for video coding | |
CN113811893A (zh) | 用于引导架构演进的连接权重学习 | |
CN116157804A (zh) | 使用对等注意的神经网络模型 | |
CN114730380A (zh) | 神经网络的深度并行训练 | |
US20240005663A1 (en) | Per-clip video object segmentation using machine learning | |
US20230325658A1 (en) | Conditional output generation through data density gradient estimation | |
WO2023225340A1 (en) | Performing computer vision tasks using guiding code sequences | |
EP4392900A1 (en) | Self-attention based neural networks for processing network inputs from multiple modalities |
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 |