CN114072809A - 经由神经架构搜索的小且快速的视频处理网络 - Google Patents

经由神经架构搜索的小且快速的视频处理网络 Download PDF

Info

Publication number
CN114072809A
CN114072809A CN202080048263.3A CN202080048263A CN114072809A CN 114072809 A CN114072809 A CN 114072809A CN 202080048263 A CN202080048263 A CN 202080048263A CN 114072809 A CN114072809 A CN 114072809A
Authority
CN
China
Prior art keywords
computer
video processing
implemented method
neural network
architecture
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
CN202080048263.3A
Other languages
English (en)
Inventor
A.安杰洛瓦
A.J.皮尔乔瓦尼
M.S.余
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 CN114072809A publication Critical patent/CN114072809A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/285Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • 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
    • 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
    • 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
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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
    • G06N3/086Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • 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/044Recurrent networks, e.g. Hopfield networks
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

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

Abstract

一般地,本公开涉及一种用于找到用于理解视频数据的小且快速的视频处理网络的神经架构搜索过程。神经架构搜索过程可以自动地设计以较大现有模型的一小部分计算和存储成本来提供相当的视频处理性能的网络,从而节省计算资源,诸如内存和处理器使用。

Description

经由神经架构搜索的小且快速的视频处理网络
相关申请的交叉引用
本申请要求2019年9月18日提交的美国临时专利申请第62/902,107号的优先权和权益,该申请通过引用整体结合于此。
技术领域
本公开总体上涉及神经网络。更具体地,本公开涉及一种用于找到小且快速的视频处理网络以理解视频数据的神经架构搜索过程。
背景技术
人工神经网络(也被简称为“神经网络”)是一类机器学习的模型,对于各种任务来说,它们特别强大、准确或性能优异。人工神经网络可以包括一组相连的节点,这些节点也可以被称为(人工)神经元或感知器。人工神经网络可以被组织为一个或多个层。包括多个层的人工神经网络可以被称为“深度”网络。
示例人工神经网络包括前馈神经网络、循环神经网络、卷积神经网络、其他形式的人工神经网络或其组合。这些示例类型中的每一个都具有不同的内部结构或“架构”,这些结构或“架构”部分地实现了该类型的人工神经网络所提供的特定益处。例如,人工神经网络的架构可以对应于或包括网络中包括的神经元或神经元层的结构、排列、数量、类型、行为、由神经元或神经元层执行的操作、和/或神经元或神经元层的其他属性。
神经网络的一个示例应用包括对与视频理解相关的任务的执行。特别地,视频理解是具有许多应用(诸如自动化视频标记、活动辨识和机器人感知)的计算机视觉中的重要问题。
视频理解任务需要处理空间(图像)和时间信息两者,因此是极具挑战性的。因此,在视频辨识任务上实现最先进的结果目前需要使用极大的网络,其通常包括几十到几百个卷积层,并且查看几百个视频帧来产生预测。具体地,用于视频理解的现有网络架构通常包含计算密集型模块,诸如3D卷积、非局部块等。作为结果,网络经常遭受非常慢的运行时间,例如,对于每个视频摘录(snippet),在当代GPU上需要至少500+ms,而在CPU上需要至少2000+ms。使用这种昂贵的网络极大地阻碍了这些网络在真实世界***中(例如,在机器人、移动设备、边缘或嵌入式设备中、或者在内存和/或计算非常有限的其他资源受限的环境中)的应用。
发明内容
本公开的实施例的方面和优点将在以下描述中被部分地阐述、或可以从描述中获知、或者可以通过对实施例的实践来获知。
本公开的一个示例方面针对用于视频理解的神经架构搜索的计算机实现的方法。该方法包括由包括一个或多个计算设备的计算***定义控制视频处理神经网络的架构的多个可搜索参数,其中视频处理神经网络被配置为处理视频数据以产生推断(inference)。该方法包括,对于一次或多次迭代:由计算***确定多个可搜索参数的值的新集合,以生成用于视频处理神经网络的新架构。该方法包括,对于一次或多次迭代:由计算***确定具有新架构的视频处理神经网络是否满足对视频处理神经网络的尺寸或视频处理神经网络的运行时间的一个或多个约束。当具有新架构的视频处理神经网络不满足一个或多个约束时:该方法包括由计算***在完成对具有新架构的视频处理神经网络的训练之前丢弃该新架构。当具有新架构的视频处理神经网络满足一个或多个约束时:该方法包括由计算***在视频训练数据的集合上训练具有新架构的视频处理神经网络;以及由计算***评估视频处理神经网络与产生对视频评估数据的推断相关的一个或多个性能度量。
本公开的另一个示例方面涉及一种计算机实现的方法。该方法包括由一个或多个计算设备定义视频处理神经网络的架构的多个可搜索参数。该方法包括,对于多次迭代中的每一次:由一个或多个计算设备修改可搜索参数中的至少一个,以生成用于视频处理神经网络的新架构;以及由计算***确定具有新架构的视频处理神经网络是否满足对视频处理神经网络的尺寸或视频处理神经网络的运行时间的一个或多个约束。
本公开的另一个示例方面涉及一种计算机实现的方法。该方法包括由一个或多个计算设备定义神经网络的架构的多个可搜索参数。该方法包括,对于多次迭代中的每一次:由一个或多个计算设备修改可搜索参数中的至少一个,以生成神经网络的新架构;以及由计算***确定具有新架构的神经网络是否满足对神经网络的尺寸或神经网络的运行时间的一个或多个约束。
本公开的其他方面针对各种***、装置、非暂时性计算机可读介质、用户接口和电子设备。
参考以下描述和所附权利要求,本公开的各种实施例的这些和其他特征、方面和优点将变得更好理解。并入本说明书并构成其部分的附图示出了本公开的示例实施例,并且与描述一起用于解释相关原理。
附图说明
在参考附图的说明书中阐述了针对本领域普通技术人员的实施例的详细讨论,其中:
图1A描绘根据本公开的示例实施例的对神经架构搜索的示例演进学习方法的图解;
图1B描绘根据本公开的示例实施例的对神经架构搜索的示例强化学习方法的图解;
图2描绘根据本公开的示例实施例的示例视频处理神经网络的图解;
图3描绘根据本公开的示例实施例的示例视频处理神经网络架构的图解;
图4A描绘根据本公开的示例实施例的示例计算***的框图。
图4B描绘根据本公开的示例实施例的示例计算设备的框图。
图4C描绘根据本公开的示例实施例的示例计算设备的框图。
多个附图中重复的附图标记旨在标识各种实现方式中的相同特征。
具体实施方式
概述
一般地,本公开涉及一种用于找到用于理解视频数据的小且快速的视频处理网络的神经架构搜索过程。神经架构搜索过程可以自动地设计以较大现有模型的一小部分计算和存储成本来提供相当的视频处理性能的网络,从而节省计算资源,诸如内存和处理器使用。
更具体地,一个正在发展的研究领域是神经架构搜索。神经架构搜索使用机器学习的原理和技术来自动化或“学习”对新的人工神经网络架构的设计。特别地,作为示例,神经架构搜索技术可以设法使整个神经网络拓扑、激活函数、梯度更新规则和/或构成最先进的深度学习架构基础的多个其他复杂细节的规范和发现自动化。除了神经架构搜索之外,这些努力还采用了各种名称,包括“学会学习(learning to learn)”、“自动学习(AutoML)”、“元学习(meta-learning)”等。
现有神经架构搜索技术通常通过在定义搜索边界的搜索空间内迭代地搜索来工作。例如,搜索技术可以包括对搜索空间内的架构进行迭代地采样以生成新架构。一般地,可以执行神经架构搜索的速度至少部分是其搜索空间的尺寸的函数。也就是说,更大的搜索空间包括更大数量的可能的布置,这将花费更长的时间来搜索,而更小的搜索空间将被更快地搜索。
然而,该领域的现有方法都没有解决为视频构建高效架构的问题。主要原因是视频内容密集,因此每个视频都需要网络进行大量处理才能产生推断。因此,对每个所提出的网络架构的训练和评估都需要大量的计算工作,导致将架构搜索应用于用于视频理解的网络是高度耗时的过程。因此,将神经架构搜索应用于视频并不简单,并且在多种情况下是计算上负担过高的。
本公开克服了这些挑战。具体地,本公开提供了一种通用架构搜索方法,该方法设计了用于视频理解的“微型”神经网络的族。可以使用各种不同的学习/优化策略(包括演进学习和强化学习)来执行架构搜索(例如,可以优化搜索目标)。
具体地,所提出的架构搜索可以被实现为其中从所定义的搜索空间内迭代地提出新架构的迭代过程。例如,搜索空间可以定义或包括多个可搜索参数。可搜索参数可以控制神经网络(诸如被配置为处理视频数据以产生推断的视频处理神经网络)的架构。在本文别处描述了示例可搜索参数,但是作为示例,可搜索参数一般可以包括块的数量、每个块内的层的数量、每个块的重复的数量、每个层的类型(例如,由该层执行的操作类型)等。作为本公开特有的另一个示例,可搜索参数可以包括控制视频数据的输入尺寸的参数。例如,视频数据的输入尺寸可以包括视频数据的空间分辨率、要从视频数据采样的帧的数量、视频数据的帧速率等。因此,搜索过程可以包括搜索视频数据的最佳输入尺寸(例如,其可以是特定于域、任务和/或数据集的)。
根据本公开的一个方面,自动化搜索过程可以包括在每次迭代时,将一个或多个约束应用于在这次迭代中提出的新架构。例如,约束可以包括对视频处理神经网络的尺寸或视频处理神经网络的运行时间的约束。如果所提出的架构不满足约束,则该架构可以在网络训练完成之前被丢弃。然而,如果所提出的架构确实满足约束,则该架构可以被训练和评估(例如,考虑被添加到演进衍生的架构的群体(population)中,或者允许产生奖励或可以用于训练被配置为在每次添加时生成新架构的控制器的其他反馈信号)。
对本文所描述的约束的应用具有多种益处。作为一个示例,最终由搜索过程产生的网络架构符合约束。换句话说,如果应用了要求网络快速和/或小/轻量级的约束,则搜索过程将找到提供最佳性能(例如,高准确度)同时仍然快速和/或小/轻量级(即,满足约束)的架构。因此,对约束的应用直接导致例如对快速和轻量级的网络架构的识别。
然而,作为另一个示例益处,对本文所描述的约束的应用显著地降低了执行架构搜索过程本身的计算要求。更具体地,如上所述,视频内容密集,因此每个视频都需要网络进行大量的处理来产生推断。因此,对每个所提出的网络架构的训练和评估需要大量的计算工作,导致了将架构搜索应用于用于视频理解的网络是高度耗时的(通常是计算上负担过高的)过程。对本文所描述的约束的应用以两种方式帮助克服这个挑战。
首先,在完成训练之前(例如,在开始训练之前和/或在训练期间,诸如在最初几轮训练时)对约束的应用可以作为防止资源被花费在训练和评估不适合的网络架构上的预过滤器。换句话说,如果网络架构违反了约束,则该网络架构可以被丢弃,而无需搜索***花费资源来训练和评估这样的架构。因此,以这种方式使用约束作为预过滤器可以极大地减少被训练和评估的候选架构的数量,从而极大地减轻了整个搜索过程的计算负担。
其次,最终被训练和评估的架构是那些符合约束的架构。换句话说,如果应用了要求架构小和/或快速的约束,则对满足这些约束的架构的训练和评估也将是小和/或快速的。因此,即使对于那些最终被训练和评估的架构,相对于与训练和评估整个搜索空间中网络架构的一般分布相关联的负担,计算负担也可以减少。
因此,所提出的***和方法可以用于产生小且快速的视频架构。具体地,示例结果网络实现了竞争准确度,并且以实时或更好的速度(对于约每1秒的视频剪辑(clip),在CPU上运行37至100ms且在GPU上运行10ms)高效地运行,实现比当代模型快数百倍的速度。因此,根据本文所描述的技术设计的示例网络可以被称为微型视频网络(Tiny VideoNetwork,TVN),因为它们需要非常小的运行时间,这对于视频模型来说是前所未有的。创建这样的快速网络为真实生活中的应用(例如在线机器人***、移动电话、边缘或嵌入式设备等)的部署以及研究开发两者提供了机会。此外,搜索过程本身也是高效的,并且不需要过多的计算资源。
本公开提供了多个贡献。作为一个示例,本公开提供了该领域中学习高效视频网络(微型视频网络)的第一种方法。这些是已知的且以优于实时速度的速度运行在CPU和GPU上的最快的视频网络。作为另一个示例贡献,本公开提供了一种架构搜索,其被设计为应对处理视频同时产生快速且准确的模型的挑战。作为又一个示例,由本文所描述的技术识别出的微型模型可以被进一步扩展,以获得与最先进的性能相当的最快模型。此外,所提出的方法允许以非常低的成本在视频架构中进行更多的探索。这也将使未来的视频架构工作更加高效,并且减少计算负担。
美国临时专利申请第62/902,107号包括在用于视频理解的四个普遍的(popular)数据集:Moments in time、HMDB、Charades和MLB-YouTube)上的示例实验结果。对于所有数据集,美国临时专利申请第62/902,107号中描述的示例实现方式以运行时间的一小部分获得了与现有技术相当或比现有技术稍低的结果。例如,示例实验结果表明,其中描述的示例微型视频网络在不存在其他模型的准确度-运行时间曲线区域中操作。
本公开提供了多个技术效果和益处。作为一个示例,本公开的***和方法能够更快地生成新的神经架构,并且使用例如与搜索整个搜索空间的朴素搜索技术相比更少的计算资源(例如,更少的处理能力、更少的内存使用、更少的功耗等)。作为另一个结果,本公开的***和方法能够生成例如与不包含对网络的尺寸和/或运行时间的约束的搜索技术相比更适合于资源受限的环境的新的神经架构。也就是说,所得到的神经架构能够相对更快地运行,并且使用相对更少的计算资源(例如,更少的处理能力、更少的内存使用、更少的功耗等),同时保持与当前最先进的模型的竞争力、甚至超越当前最先进的模型的性能(例如准确度)。因此,作为另一个示例技术效果和益处,本文所描述的搜索技术可以自动地找到比现有方法明显更好的模型,并且在性能和运行时间/尺寸之间实现新的最先进的折衷。
因此,本公开提供了一种用于自动地学习微型视频网络架构的新颖方法。这些是既快速又准确的第一视频模型。它们是被自动发现的,在四个示例数据集上表现良好,并在速度和准确度之间提供了良好的折衷。这些模型比当代视频模型快几百倍,并且具有更少的参数。因此,它们可以被应用于实时机器人应用,并在移动设备上运行。
尽管本公开的方面是相对于用于视频处理的神经网络来描述的,但是本文描述的架构搜索***和方法也适用于搜索适合于执行各种其他任务的神经网络架构。作为示例,本文所描述的架构搜索***和方法可以在识别网络训练和/或推断在计算上要求特别高的任何应用或域的网络架构方面提供特别的益处。
现在将参考附图进一步详细讨论本公开的示例实施例。
示例神经架构搜索
代替手动设计架构,本公开的各方面在巨大的搜索空间内执行用于自动设计的架构搜索。搜索过程可以探索构建受运行时间和参数的数量两者约束的网络。此外,在找到满足这些要求的架构后,可以可选地扩展得到的网络以提高性能。
示例演进搜索方法
图1A描绘了根据本公开的示例实施例的对神经架构搜索的示例演进学习方法的图解。对演进算法的使用允许对群体中的多个个体(即网络)进行并行评估和突变(mutation),并且有效地探索具有不可微目标函数(这里例如可以是运行时间)的不规则搜索空间。
更具体地,所示的神经架构搜索可以在搜索空间12内执行架构搜索。搜索空间12可以定义或包含多个可搜索参数。可以为每个可搜索参数提供可接受的值或值的范围。搜索过程可以在搜索空间12内迭代地进行搜索,以识别搜索空间12内的最佳网络架构。
对搜索空间12的设计可以帮助回答以下关于网络架构的关键问题中的一些或所有:空间分辨率(图像尺寸)和时间分辨率(帧数)之间的最佳比率是多少?应该如何/在哪里对空间信息和时间信息进行下采样?在运行时间受限的情况下,什么样的层配置提供最佳性能?网络应该有多深/多宽?等等。
一个示例搜索空间可以遵循由多个块组成的简单元架构。在一些实现方式中,块的数量范围在2和10之间,并且被选择为搜索过程的一部分。在一些实现方式中,最后一个块之后是全局平均池化、丢弃(dropout)层和输出分类所需的类的数量的全连接层。参考图3的示例。在一些实现方式中,在每个块中,可以从多个层(空间卷积、时间卷积、非局部层、上下文门控(context-gating)层以及挤压和激励(squeeze-and-excitation)层)中选择算法。
在一些实现方式中,对于每个层,可以选择多个参数。作为示例,对于非本地层,示例可搜索参数可以包括瓶颈尺寸和/或表示尺寸(例如,池化后的尺寸)。作为另一个示例,可搜索参数可以包括挤压和激励层的挤压比率。在一些实现方式中,卷积层可以具有各种内核尺寸(例如,从1到8)、步长(stride)(例如,从1到8)、过滤器的数量(例如,从32到2048)和/或类型(例如,标准卷积、深度卷积、平均池化或最大池化)。此外,在一些实现方式中,每个块可以重复1到8次,并且重复的数量可以是可搜索参数。对于每个块,另一个可搜索参数可以是这样的块是否具有跳过/残差连接(skip/residual connection)。
根据本公开的一个方面,在一些实现方式中,搜索空间12还可以包括控制或改变作为搜索空间的一部分的视频数据的输入尺寸的一个或多个可搜索参数。作为示例,以下中的一些或全部可以是可搜索参数:空间分辨率(例如,32×32至320×320)、要采样的帧的数量(例如,1至128)和帧速率(例如,1fps至25fps)。因此,搜索过程可以包括搜索视频数据的最佳输入尺寸(例如,其可以是特定于域、任务和/或数据集的)。
在将所示技术应用于视频时,探索所有这些潜在的架构会产生非常大的搜索空间。作为示例,假设上述所有示例可搜索参数的示例使用,每个块具有约234种可能的配置。当在网络中包括输入分辨率和至多8个块时,搜索空间的尺寸约为245或1013。因此,在没有自动化搜索(例如,蛮力(brute-force)网格搜索或随机搜索)的情况下,在这个空间中找到良好的架构是极其困难的,尤其是在添加诸如运行时间或最大参数的数量等约束时。事实上,在某些示例实验中,观察到该空间中的许多架构给出了几乎随机的性能,即,具有较差的分类结果、或在训练期间发散、或者表现出其他不稳定的行为。
已经定义了搜索空间12,搜索过程可以在迭代的基础上进行。作为一个示例,具有离散突变算子的锦标赛选择演进(tournament selection evolutionary)算法可以用作搜索方法。
更一般地,在每次迭代时,可以在从现有架构的群体16中采样出的一个或多个架构上或相对于从现有架构的群体16采样出的一个或多个架构执行突变14。群体16可以包括任何数量(例如,1、2、3、10、50、200、1000等)的架构。一般地,群体16可以包括在先前迭代中看到的最高性能的架构。
在一些实现方式中,搜索过程可以包括初始化现有架构的群体16。例如,由于搜索空间12很大,因此在一些示例中,搜索过程可以通过生成200个随机网络以包含在群体16中开始,该200个随机网络中的多个网络产生较差的性能。在评估这些网络之后,可以执行迭代评估和选择过程(例如,锦标赛选择算法)。
作为一个示例,在每次迭代时,可以对现有架构的当前群体16中的一个或多个进行采样。作为一个示例,从200个网络的当前群体16中,可以随机地选择50个,然后,表现最好的网络可以被识别为“父本(parent)”。在已经对一个或多个网络进行采样之后,然后,突变操作14可以通过随机地改变网络的一个或多个可搜索参数的一个或多个值而被应用于所选择的网络,以产生新架构18。
一个示例突变操作14简单随机地选择从群体16获得的网络的一部分,并且随机地改变该网络的一部分,如在搜索空间12中定义的,从而产生新架构18。这可以是输入分辨率、块的数量、块内的层的配置和/或其他可搜索参数。如本文其他地方所示的,这种演进方法是高度并行化的。
在一些示例实现方式中,为了学习新颖高效的视频架构,搜索过程可以最大化以下等式,其中输入是定义神经网络架构的变量/参数的集合。N是网络配置,其是由针对该网络选择的搜索空间12的可搜索参数的特定值来定义的。θ是网络的可学习参数(|θ|是网络中的参数的个数),并且P是控制网络的最大尺寸的超参数。
Figure BDA0003447401090000091
计算网络在设备上的运行时间,给定网络N及其权重值θ,并且R是最大期望计算运行时间。
Figure BDA0003447401090000092
Figure BDA0003447401090000093
是测量网络N的一个或多个性能度量的适应度函数。作为一个示例,适应度函数可以测量经训练的网络N在数据集的验证集合(validation set)上的准确度。如本领域中已知的,也可以使用除准确度之外的度量。
注意,由于运行时间和参数的数量的约束,这个等式(1)是不可微的。尽管一些工作试图使运行时间成为可微分的操作,但这需要估计目标设备上每个操作的运行时间。然而,为了简单起见,可以使用演进算法,因为它允许容易地针对不同的设备,并且增加对参数的数量(例如,模型尺寸)的约束,这对移动应用是重要的。此外,一旦设计了搜索空间12,就不需要为搜索调整其他超参数,例如学习速率或损失比例因子。
再次参考图1A,在一些实现方式中,根据本公开的一个方面,在对新架构18的训练22和/或性能评估24之前,搜索过程可以首先执行确定新架构18是否满足一个或多个约束的约束评估过程20。例如,在20处评估的约束可以包括在等式(1)处描述的约束。在一些实现方式中,可以在对新架构18的任何训练22之前评估约束中的一些或所有。例如,通过简单地分析包括在架构18中的参数的数量,可以容易地评估对多个参数的约束。在一些实现方式中,可以在训练22开始或期间评估约束中的一些或所有。例如,对新架构18的运行时间的约束可能需要使用网络的一定数量的初始前向传递(initial forward pass)来评估网络的运行时间。在其他实现方式中,可以(例如,在不执行任何通过网络的前向传递的情况下)估计网络的运行时间,并且可以基于这样的估计来评估运行时间约束。
如本文别处所述的,如果新架构18不满足约束,则该新架构18可以被丢弃(例如,在训练22和/或评估24上花费很少时间或不花时间)。例如,如果新架构18被丢弃,则搜索过程可以返回到突变阶段14。例如,可以从群体16中选择新的父本并进行突变。
然而,如果新架构18确实满足约束,则可以在训练数据的集合上训练22该新架构18,然后在评估数据(例如,验证数据)的集合上评估24该新架构18。评估24可以包括评估具有新架构18的训练模型的一个或多个性能度量(例如,适应度函数
Figure BDA0003447401090000101
)。
在评估新架构18之后,该新架构18可以可选地被添加到当前群体16,并且例如,可以从群体16中移除(例如,由性能度量测量的)最低性能网络。此后,演进搜索的下一次迭代可以开始(例如,从更新后的群体16中进行新的采样/选择)。
搜索过程可以持续若干轮(例如,大约1000轮)。可替代地,搜索过程可以继续,直到达到某些性能阈值为止。在一些实现方式中,在22处,每个模型可以被训练10000次迭代,并且由于它们是快速的,所以平均训练时间大约是1.5小时。当利用并行训练时,图示搜索的示例实现方式可以在一天内完成。
正如在实验部分中所看到的,这个算法发现了非常高效的同时也是准确的架构。还要注意的是,由于在搜索中考虑的每个架构从一开始就非常高效,因此搜索本身并不像其他神经架构搜索方法那样是计算密集的。
示例强化学习方法
图1B描绘了根据本公开的示例实施例的对神经架构搜索的示例强化学习方法的图解。特别地,除了图1A所示的搜索之外或者替代图1A所示的搜索,可以使用图1B所示的方法。
图1B中示出的搜索类似于图1A中示出的搜索,不同之处在于,图1B中示出的强化学习过程包括控制器30,其操作以生成新架构18(例如,为新架构18选择值),而不是执行突变来生成新架构18。
更具体地,在一些实现方式中,控制器30可以充当强化学习方案中的代理,以选择搜索空间12的可搜索参数的值来生成新架构18。例如,在每次迭代时,控制器30可以应用策略来选择可搜索参数的值,以生成新架构18。作为一个示例,控制器30可以是循环神经网络。
搜索***可以使用在评估24处测量的性能度量来确定要在强化学习方案中提供给控制器30的奖励32。例如,奖励可以与架构18的性能相关联(例如,更好的性能导致更大的奖励,反之亦然)。在每次迭代中,控制器30的策略可以基于奖励32来更新。这样,控制器30可以(例如,通过基于奖励32来更新其策略)学习来产生提供强性能的架构18。在一些实现方式中,如果架构18未通过约束评估20,则可以向控制器30提供零奖励、负奖励或相对较低的奖励。
示例视频处理网络
示例视频处理任务
由所提出的搜索过程识别的示例网络架构对于视频处理任务可能是有用的。图2示出了示例视频处理神经网络202。视频处理神经网络202被配置为接收视频数据204并处理视频数据204以产生一个或多个推断206。
推断206可以是对多个不同视频处理任务中的任何一个的预测或输出。作为一个示例,推断可以是对视频整体的分类、或者是对一个或多个视频帧的分类。分类可以是二元分类或多类分类。例如,分类可以是多标签分类。在分类被注释到视频数据204的一些情况下,分类任务可以被称为视频注释任务。作为另一个示例,推断206可以是视频分割(segmentation)输出。例如,分割输出可以是像素级分割输出或帧级分割输出。在分割将某些帧识别为对应于活动的一些情况下,分割任务可以被称为活动检测。作为另一个示例,推断206可以是帧间对象检测(例如,在帧的特定部分内检测到的对象)或全帧范围(frame-wide)对象检测(例如,第一帧包含某个对象,但第二帧不包含该对象)。还可以执行许多其他视频理解任务,包括场景理解、深度提取、关系学习、视觉问答(Visual-Question-Answering)等。
示例所学习的架构
图3示出了通过本文所描述的过程而学***均的,并且用作到分类的全连接的层的输入。
更一般地,通过本文所描述的搜索过程而学习的架构具有多个有趣的特性。作为一个示例,令人惊讶的是,某些学习的模型架构不同于具有较少卷积层的典型视频架构:某些示例微型视频网络偏好轻量级元素,诸如2D池化、门控层和挤压和激励层。相比之下,当代视频理解模型通常包括计算密集型层,诸如3D卷积。有趣的是,流行的非本地块模块之一通常不被微型网络偏好,因为其以高计算成本获得很差的性能。
美国临时专利申请第62/902,107号中所示的示例网络表明,当然,较小的模型具有较少的参数。然而,一个有趣的观察是,计算效率高的模型中的一些具有更大的参数尺寸,例如TVN-1。另一个有趣的观察是,尽管TVN-3和TVN-4具有更多的参数,但它们明显快于对应的ResNet-18和ResNet-34,并且也更准确。除了速度快得多(图4,顶部子图)之外,TVN模型一般比其他当代模型具有更少的参数。
另一个有趣的发现是,在微型视频架构中很少偏好流行的非本地层。这表明,将计算花费在具有更大输入的更深和/或更宽的网络上更具成本效益。另一个发现是,通常使用诸如上下文门控这样的层,这比非本地层便宜得多,但是仍然捕获一些类似的全局注意力特征。
所学习的架构的示例扩展(Scaling)
本公开的另一个方面涉及用于扩展所学习的架构的技术。例如,扩展所学习的架构可以包括增加空间分辨率、增加宽度(每个层中的过滤器的数量)和/或增加深度(每个块被重复的次数)。例如,这些可以通过乘以2或4来扩展。扩展分辨率和宽度可以带来最大的性能增益。扩展的TVN模型可以实现与大得多的模型相当的性能,同时仍然非常高效。
示例时间受限的网络
在另一个示例中,搜索过程可以通过约束架构的运行时间、但是不约束架构的参数的数量来执行。在这种时间受限但尺寸不受限的情况下,所提出的搜索技术的示例实现方式生成了具有大量参数(例如>60M)的网络,这些参数仍然高效地运行。特别地,这些大型网络利用了宽的并行层,而不是深的顺序层。
示例设备和***
图4A描绘了根据本公开的示例实施例的示例计算***100的框图。***100包括通过网络180通信耦合的用户计算设备102、服务器计算***130和架构搜索计算***150。
用户计算设备102可以是任何类型的计算设备,诸如,例如个人计算设备(例如,膝上型或台式)、移动计算设备(例如,智能手机或平板电脑)、游戏控制台或控制器、可穿戴计算设备、嵌入式计算设备或任何其他类型的计算设备。
用户计算设备102包括一个或多个处理器112和存储器114。一个或多个处理器112可以是任何合适的处理设备(例如,处理器内核、微处理器、ASIC、FPGA、控制器、微控制器等)并且可以是可操作地连接的一个处理器或多个处理器。存储器114可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等以及它们的组合。存储器114可以存储数据116和指令118,指令118由处理器112执行以使用户计算设备102执行操作。
在一些实现方式中,用户计算设备102可以存储或包括一个或多个神经网络120。例如,神经网络120可以是或可以以其他方式包括各种经机器学习的模型,诸如前馈神经网络、循环神经网络(例如,长短期记忆循环神经网络)、卷积神经网络或其他形式的神经网络。
在一些实现方式中,一个或多个神经网络120可以通过网络180从服务器计算***130被接收,存储在用户计算设备存储器114中,然后由一个或多个处理器112使用或以其他方式来实现。在一些实现方式中,用户计算设备102可以实现单个神经网络120的多个并行实例。
附加地或可替代地,一个或多个神经网络140可以被包括在服务器计算***130中、或者由服务器计算***130以其他方式来存储和实现,该服务器计算***130根据客户端-服务器关系与用户计算设备102通信。例如,神经网络140可以由服务器计算***140实现为网络服务的一部分。因此,一个或多个网络120可以在用户计算设备102处存储和实现,和/或一个或多个网络140可以在服务器计算***130处存储和实现。
用户计算设备102还可以包括接收用户输入的一个或多个用户输入组件122。例如,用户输入组件122可以是对用户输入对象(例如,手指或触笔)的触摸敏感的触敏组件(例如,触敏显示屏或触摸板)。触敏组件可以用来实现虚拟键盘。其他示例用户输入组件包括麦克风、传统键盘或用户可以提供用户输入的其他部件。
服务器计算***130包括一个或多个处理器132和存储器134。一个或多个处理器132可以是任何合适的处理设备(例如,处理器内核、微处理器、ASIC、FPGA、控制器、微控制器等)并且可以是可操作地连接的一个处理器或多个处理器。存储器134可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等以及它们的组合。存储器134可以存储数据136和指令138,指令138由处理器132执行以使服务器计算***130执行操作。
在一些实现方式中,服务器计算***130包括一个或多个服务器计算设备或者由一个或多个服务器计算设备以其他方式来实现。在服务器计算***130包括多个服务器计算设备的情况下,这种服务器计算设备可以根据顺序计算架构、并行计算架构或其某种组合来操作。
如上所述,服务器计算***130可以存储或以其他方式包括一个或多个经机器学习的神经网络140。例如,神经网络140可以是或者可以以其他方式包括前馈神经网络、深度神经网络、循环神经网络和卷积神经网络。
用户计算设备102和/或服务器计算***130可以经由与通过网络180通信耦合的架构搜索计算***150的交互来训练和/或评估网络120和/或140。架构搜索计算***150可以与服务器计算***130分离、或者可以是服务器计算***130的一部分。
架构搜索计算***150包括一个或多个处理器152和存储器154。一个或多个处理器152可以是任何合适的处理设备(例如,处理器内核、微处理器、ASIC、FPGA、控制器、微控制器等)并且可以是一个处理器或可操作地连接的多个处理器。存储器154可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等以及它们的组合。存储器154可以存储数据156和指令158,指令158由处理器152执行以使架构搜索计算***150执行操作。在一些实现方式中,架构搜索计算***150包括一个或多个服务器计算设备或者由一个或多个服务器计算设备以其他方式来实现。
架构搜索计算***150可以包括使用各种训练或学习技术(诸如,例如错误的反向传播)来训练和/或评估存储在用户计算设备102和/或服务器计算***130处的经机器学习的网络120和/或140的模型训练器160。在一些实现方式中,执行错误的反向传播可以包括随着时间执行截断的反向传播。模型训练器160可以执行多种泛化技术(例如,权重衰减、丢弃等)来提高模型被训练的泛化能力。
特别地,模型训练器160可以基于训练数据162的集合来训练神经网络120和/或140。在一些实现方式中,如果用户已经提供了同意,则训练示例可以由用户计算设备102来提供。因此,在这样的实现方式中,被提供给用户计算设备102的网络120可以由架构搜索计算***150基于从用户计算设备102接收到的用户特定的数据来训练。在一些情况下,这个过程可以称为对模型进行个性化。
架构搜索计算***150还可以包括网络搜索器159。网络搜索器159可以具有本文所描述的组件和框架,诸如,如图1A和/或1B所示的。因此,例如,网络搜索器159可以包括突变组件和/或控制器(例如,基于RNN的控制器)和/或奖励生成器。网络搜索器159可以与模型训练器160协作来训练控制器和/或生成的架构。架构搜索计算***150还可以可选地与测量所生成的网络的性能参数的各种其他设备(未具体示出)通信耦合(例如,复制网络的移动电话性能以评估硬件特定的运行时间的移动电话复制品)。
模型训练器160和网络搜索器159中的每一个都可以包括用于提供期望功能的计算机逻辑。模型训练器160和网络搜索器159中的每一个都可以用控制通用处理器的硬件、固件和/或软件来实现。例如,在一些实现方式中,模型训练器160和网络搜索器159中的每一个可以包括存储在存储设备上、被加载到存储器中以及由一个或多个处理器执行的程序文件。在其他实现方式中,模型训练器160和网络搜索器159中的每一个都可以包括计算机可执行指令的一个或多个集合,计算机可执行指令的一个或多个集合存储在有形的计算机可读存储介质中,诸如RAM硬盘或光学或磁性介质。
网络180可以是任何类型的通信网络,诸如局域网(例如,内联网)、广域网(例如,互联网)或它们的某种组合,并且可以包括任何数量的有线或无线链路。一般地,网络180上的通信可以经由任何类型的有线和/或无线连接,使用各种各样的通信协议(例如,TCP/IP、HTTP、SMTP、FTP)、编码或格式(例如,HTML、XML)和/或保护方案(例如,VPN、安全HTTP、SSL)来承载。
图4A示出了可以用于实现本公开的一个示例计算***。也可以使用其他计算***。例如,在一些实现方式中,用户计算设备102可以包括模型训练器160和训练数据集162。在这样的实现方式中,网络120可以在用户计算设备102处被本地训练和使用。在这样的实现方式中的一些中,用户计算设备102可以实现模型训练器160,以基于用户特定的数据来对网络120进行个性化。
此外,尽管本公开是特别参考神经网络来描述的,但是本文所描述的***和方法可以被应用于其他经多层机器学习的模型架构。
图4B描绘了根据本公开的示例实施例的示例计算设备10的框图。计算设备10可以是用户计算设备或服务器计算设备。
计算设备10包括多个应用(例如,应用1至N)。每个应用都包含自己的机器学习库和经机器学习的模型。例如,每个应用都可以包括经机器学习的模型。示例应用包括文本消息传递应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。
如图4B所示,每个应用可以与计算设备的多个其他组件(诸如一个或多个传感器、上下文管理器、设备状态组件和/或附加组件)通信。在一些实现方式中,每个应用可以使用API(例如,公共API)来与每个设备组件通信。在一些实现方式中,每个应用使用的API特定于该应用。
图4C描绘了根据本公开的示例实施例的示例计算设备50的框图。计算设备50可以是用户计算设备或服务器计算设备。
计算设备50包括多个应用(例如,应用1至N)。每个应用都与中央智能层通信。示例应用包括文本消息传递应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。在一些实现方式中,每个应用可以使用API(例如,所有应用公共的API)来与中央智能层(以及存储在其中的模型)通信。
中央智能层包括多个经机器学习的模型。例如,如图4C所示,可以为每个应用提供相应的经机器学习的模型(例如,模型),并且由中央智能层来管理相应的经机器学习的模型。在其他实现方式中,两个或更多个应用可以共享单个经机器学习的模型。例如,在一些实现方式中,中央智能层可以为所有应用提供单个模型(例如,单个模型)。在一些实现方式中,中央智能层被包括在计算设备50的操作***中或者由计算设备50的操作***以其他方式来实现。
中央智能层可以与中央设备数据层通信。中央设备数据层可以是计算设备50的集中式数据储存库。如图4C所示,中央设备数据层可以与计算设备的多个其他组件(诸如一个或多个传感器、上下文管理器、设备状态组件和/或附加组件)通信。在一些实现方式中,中央设备数据层可以使用API(例如,私有API)来与每个设备组件通信。
附加公开
本文所讨论的技术涉及服务器、数据库、软件应用和其他基于计算机的***,以及所采取的动作和被发送到这些***和从这些***发送的信息。基于计算机的***的固有灵活性允许各种可能的配置、组合以及任务和功能在组件之间的划分。例如,本文所讨论的过程可以使用单个设备或组件或者组合工作的多个设备或组件来实现。数据库和应用可以在单个***上实现,也可以分布在多个***上。分布式组件可以顺序或并行地操作。
尽管已经参考本发明的各种具体示例实施例详细地描述了本主题,但是每个示例都是以解释的方式来提供的,而不对本公开进行限制。在理解了前述内容后,本领域技术人员可以容易地对这些实施例做出改变、变化和等同。因此,对本领域普通技术人员来说是显而易见的是,本主题公开不排除对本主题的修改、变化和/或添加。例如,作为一个实施例的部分示出或描述的特征可以与另一个实施例一起使用,以产生又一个实施例。因此,本公开旨在覆盖这些变更、变化和等同。

Claims (35)

1.一种用于视频理解的神经架构搜索的计算机实现的方法,所述方法包括:
由包括一个或多个计算设备的计算***定义控制视频处理神经网络的架构的多个可搜索参数,其中,所述视频处理神经网络被配置为处理视频数据以产生推断;
对于一次或多次迭代:
由计算***确定多个可搜索参数的值的新集合,以生成用于视频处理神经网络的新架构;
由计算***确定具有新架构的视频处理神经网络是否满足对视频处理神经网络的尺寸或视频处理神经网络的运行时间的一个或多个约束;
当具有新架构的视频处理神经网络不满足一个或多个约束时:
由计算***在完成具有新架构的视频处理神经网络的训练之前丢弃新架构;以及
当具有新架构的视频处理神经网络满足一个或多个约束时:
由计算***在视频训练数据的集合上训练具有新架构的视频处理神经网络;以及
由计算***评估视频处理神经网络与产生视频评估数据的推断相关的一个或多个性能度量。
2.根据权利要求1所述的计算机实现的方法,其中:
所述一个或多个约束包括运行时间约束,其要求具有新架构的视频处理神经网络的运行时间不超过阈值运行时间。
3.根据权利要求1或2所述的计算机实现的方法,其中:
所述一个或多个约束包括尺寸约束,其要求包括在新网络架构中的参数的数量不超过参数的阈值数量。
4.根据任一前述权利要求所述的计算机实现的方法,还包括,对于每次迭代:
当具有新架构的视频处理神经网络满足一个或多个约束时:
由计算***将新架构***到网络架构的群体中;以及
由计算***从网络架构的群体中移除由一个或多个性能度量评估的性能最差的架构。
5.根据任一前述权利要求所述的计算机实现的方法,其中,由计算***确定多个可搜索参数的值的新集合,以生成用于视频处理神经网络的新架构包括:
由计算***获得具有多个可搜索参数的值的现有集合的现有架构;以及
由计算***随机地选择和突变所述值的现有集合中的至少一个,以生成值的新集合。
6.根据任一前述权利要求所述的计算机实现的方法,还包括,对于每次迭代:
由计算***至少部分地基于一个或多个性能度量来确定要在强化学习方案中提供给控制器的奖励。
7.根据权利要求6所述的计算机实现的方法,还包括,对于每次迭代:
由计算***基于奖励来更新强化学习方案中的控制器的一个或多个控制器参数。
8.根据任一前述权利要求所述的计算机实现的方法,其中,所述多个可搜索参数包括视频数据的输入尺寸。
9.根据权利要求8所述的计算机实现的方法,其中,所述视频数据的输入尺寸包括视频数据的空间分辨率。
10.根据权利要求8或9所述的计算机实现的方法,其中,所述视频数据的输入尺寸包括要从视频数据中采样的帧的数量。
11.根据权利要求8、9或10所述的计算机实现的方法,其中,所述视频数据的输入尺寸包括视频数据的帧速率。
12.根据任一前述权利要求所述的计算机实现的方法,其中,所述多个可搜索参数包括架构中包括的块的数量。
13.根据权利要求12所述的计算机实现的方法,其中,对于多个块中的每一个,所述多个可搜索参数包括这个块中包括的层的相应数量。
14.根据权利要求12或13所述的计算机实现的方法,其中,对于多个块中的每一个,所述多个可搜索参数包括这个块的重复的相应数量。
15.根据权利要求12、13或14所述的计算机实现的方法,其中,对于多个块中的每一个,所述多个可搜索参数包括这个块是否包括跳过或残差连接。
16.根据任一前述权利要求所述的计算机实现的方法,其中,所述多个可搜索参数包括多个层中的每一个的层类型。
17.根据权利要求16所述的计算机实现的方法,其中,所述多个层中的每一个的相应层类型包括以下之一:
空间卷积;
时间卷积;
非本地层;
上下文门控层;以及
挤压和激发层。
18.根据权利要求17所述的计算机实现的方法,其中,对于每个非本地层,所述多个可搜索参数包括瓶颈尺寸或表示尺寸。
19.根据权利要求17或18所述的计算机实现的方法,其中,对于每个挤压和激励层,所述多个可搜索参数包括挤压比率。
20.根据权利要求17、18或19所述的计算机实现的方法,其中,对于每个空间卷积层或时间卷积层,所述多个可搜索参数包括以下中的一个或多个:内核尺寸、步长、过滤器的数量和卷积类型。
21.根据任一前述权利要求所述的计算机实现的方法,其中,所述多个可搜索参数包括将被包括在多个层的每一个中的参数的数量。
22.根据任一前述权利要求所述的计算机实现的方法,其中,所述性能度量包括准确度度量,所述准确度度量测量视频处理网络在执行视频分类任务时的准确度。
23.根据任一前述权利要求所述的计算机实现的方法,其中,所述性能度量包括准确度度量,所述准确度度量测量视频处理网络在执行每帧视频分类任务时的准确度。
24.根据任一前述权利要求所述的计算机实现的方法,其中,所述性能度量测量视频处理网络执行视频分割任务的能力。
25.根据任一前述权利要求所述的计算机实现的方法,其中,所述性能度量测量视频处理网络执行像素级视频分割任务的能力。
26.根据任一前述权利要求所述的计算机实现的方法,其中,所述性能度量测量视频处理网络执行帧级视频分割任务的能力。
27.根据任一前述权利要求所述的计算机实现的方法,其中,所述性能度量测量视频处理网络执行活动辨识任务的能力。
28.根据任一前述权利要求所述的计算机实现的方法,其中,所述性能度量测量视频处理网络执行对象检测任务的能力。
29.根据任一前述权利要求所述的计算机实现的方法,其中,所述性能度量测量视频处理网络执行每帧检测任务的能力。
30.一种计算机实现的方法,包括:
由一个或多个计算设备定义视频处理神经网络的架构的多个可搜索参数;以及
对于多次迭代中的每一次:
由一个或多个计算设备修改可搜索参数中的至少一个,以生成视频处理神经网络的新架构;以及
由计算***确定具有新架构的视频处理神经网络是否满足对视频处理神经网络的尺寸或视频处理神经网络的运行时间的一个或多个约束。
31.一种计算机实现的方法,包括:
由一个或多个计算设备定义神经网络的架构的多个可搜索参数;以及
对于多次迭代中的每一次:
由一个或多个计算设备修改可搜索参数中的至少一个,以生成神经网络的新架构;以及
由计算***确定具有新架构的神经网络是否满足对神经网络的尺寸或神经网络的运行时间的一个或多个约束。
32.一种计算***,被配置为执行权利要求1-31中任一项所述的方法。
33.一种计算***,包括通过执行权利要求1-31中任一项所述的方法而产生的视频处理神经网络。
34.一个或多个非暂时性计算机可读介质,其集中存储用于执行权利要求1-31中任一项所述的方法的指令。
35.一个或多个非暂时性计算机可读介质,其集中存储通过执行权利要求1-31中任一项所述的方法而产生的视频处理神经网络。
CN202080048263.3A 2019-09-18 2020-09-16 经由神经架构搜索的小且快速的视频处理网络 Pending CN114072809A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962902107P 2019-09-18 2019-09-18
US62/902,107 2019-09-18
PCT/US2020/051027 WO2021055442A1 (en) 2019-09-18 2020-09-16 Small and fast video processing networks via neural architecture search

Publications (1)

Publication Number Publication Date
CN114072809A true CN114072809A (zh) 2022-02-18

Family

ID=72670819

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080048263.3A Pending CN114072809A (zh) 2019-09-18 2020-09-16 经由神经架构搜索的小且快速的视频处理网络

Country Status (4)

Country Link
US (1) US20220366257A1 (zh)
EP (1) EP3973712A1 (zh)
CN (1) CN114072809A (zh)
WO (1) WO2021055442A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115063635A (zh) * 2022-06-23 2022-09-16 澜途集思生态科技集团有限公司 基于DetNAS算法的生态生物识别方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113780542B (zh) * 2021-09-08 2023-09-12 北京航空航天大学杭州创新研究院 一种面向fpga的多目标网络结构的构建方法
CN115994575B (zh) * 2023-03-22 2023-06-02 方心科技股份有限公司 一种电力故障诊断神经网络架构设计方法及***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180018555A1 (en) * 2016-07-15 2018-01-18 Alexander Sheung Lai Wong System and method for building artificial neural network architectures

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115063635A (zh) * 2022-06-23 2022-09-16 澜途集思生态科技集团有限公司 基于DetNAS算法的生态生物识别方法

Also Published As

Publication number Publication date
WO2021055442A1 (en) 2021-03-25
EP3973712A1 (en) 2022-03-30
US20220366257A1 (en) 2022-11-17

Similar Documents

Publication Publication Date Title
EP3446260B1 (en) Memory-efficient backpropagation through time
JP7157154B2 (ja) 性能予測ニューラルネットワークを使用したニューラルアーキテクチャ探索
US11481617B2 (en) Generating trained neural networks with increased robustness against adversarial attacks
CN110807515B (zh) 模型生成方法和装置
CN110503192B (zh) 资源有效的神经架构
EP3711000B1 (en) Regularized neural network architecture search
KR102302609B1 (ko) 신경망 아키텍처 최적화
US11314988B2 (en) Image aesthetic processing method and electronic device
JP6555411B2 (ja) 情報処理方法および情報処理装置
CN109120462B (zh) 机会网络链路的预测方法、装置及可读存储介质
US20180268296A1 (en) Machine learning-based network model building method and apparatus
JP2021518939A (ja) データ拡張方策の学習
CN114072809A (zh) 经由神经架构搜索的小且快速的视频处理网络
CN113168559A (zh) 机器学习模型的自动化生成
CN111651671B (zh) 用户对象推荐方法、装置、计算机设备和存储介质
CN111708876B (zh) 生成信息的方法和装置
CN111406264A (zh) 神经架构搜索
JP2016523402A (ja) ベイズの最適化を実施するためのシステムおよび方法
CN109685204B (zh) 图像处理方法及装置、存储介质及电子设备
JP2023535227A (ja) Aiモデルを更新する方法、装置、および計算デバイス、ならびに記憶媒体
US11416760B2 (en) Machine learning based user interface controller
CN109313720A (zh) 具有稀疏访问的外部存储器的增强神经网络
JP6718500B2 (ja) 生産システムにおける出力効率の最適化
EP3446258B1 (en) Model-free control for reinforcement learning agents
US20240005157A1 (en) Methods and systems for unstructured pruning of a neural network

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