[go: up one dir, main page]

CN115066689A - 细粒度的随机神经架构搜索 - Google Patents

细粒度的随机神经架构搜索 Download PDF

Info

Publication number
CN115066689A
CN115066689A CN202180012814.5A CN202180012814A CN115066689A CN 115066689 A CN115066689 A CN 115066689A CN 202180012814 A CN202180012814 A CN 202180012814A CN 115066689 A CN115066689 A CN 115066689A
Authority
CN
China
Prior art keywords
neural network
network
training
architecture
operators
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.)
Granted
Application number
CN202180012814.5A
Other languages
English (en)
Other versions
CN115066689B (zh
Inventor
李晗晗
马克斯·莫罗兹
施拉曼·雷乔杜里
亚伊尔·阿隆
艾尔德·埃班
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 CN115066689A publication Critical patent/CN115066689A/zh
Application granted granted Critical
Publication of CN115066689B publication Critical patent/CN115066689B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0495Quantised networks; Sparse networks; Compressed networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

用于确定神经网络架构的方法、系统和装置,包括在计算机存储介质上编码的计算机程序。所述方法之一包括接收训练数据;接收架构数据;向多个网络运算符中的每个网络运算符分配指示网络运算符在神经网络中被利用的可能性的利用变量;生成用于执行神经网络任务的优化的神经网络,包括重复地执行以下操作:对选择的一组网络运算符进行采样;以及训练具有由该选择的一组网络运算符定义的架构的神经网络,其中,该训练包括:计算目标函数,该目标函数评估(i)神经网络的计算成本的度量和(ii)神经网络对于与训练数据相关联的神经网络任务的执行的度量;以及调整利用变量的相应的当前值和神经网络参数的相应的当前值。

Description

细粒度的随机神经架构搜索
相关申请的交叉引用
本申请要求于2020年2月7日提交的美国临时申请No.62/971,866的优先权。该在先申请的公开内容被认为是本申请的公开内容的一部分,并且通过引用并入本申请的公开内容中。
技术领域
本说明书涉及确定用于神经网络的架构。
背景技术
神经网络是采用一层或多层非线性单元以预测接收到的输入的输出的机器学习模型。除了输出层之外,一些神经网络还包括一个或多个隐藏层。每个隐藏层的输出被用作网络中下一层(即下一个隐藏层或输出层)的输入。网络的每一层根据相应的参数集的当前值从接收到的输入生成输出。
发明内容
本说明书描述了一种神经网络架构优化系统,该系统在一个或多个位置的一个或多个计算机上实现为计算机程序,该系统确定被配置为执行特定机器学习任务的神经网络的最优网络架构。取决于任务,神经网络能够被配置为接收任何类型的数字数据输入并且基于输入来生成任何类型的分数、分类或回归输出。
一般而言,本说明书中描述的主题的一个创新方面能够体现在一种方法中,该方法包括:接收用于训练神经网络以执行神经网络任务的训练数据,该训练数据包括多个训练示例和每个训练示例的相应的目标输出;接收定义多个网络运算符的架构数据;向多个网络运算符中的每个网络运算符分配指示网络运算符在神经网络中被利用的可能性的利用变量;生成用于执行神经网络任务的优化的神经网络,包括重复执行以下操作:从多个网络运算符并且根据利用变量的相应的当前值对选择的一组网络运算符进行采样;以及,在训练数据上训练具有由选定的一组网络运算符定义的架构的神经网络以执行神经网络任务,其中,训练包括:计算目标函数,该目标函数评估(i)神经网络的计算成本的度量和(ii)神经网络对于与训练数据相关联的神经网络任务的执行的度量;以及,基于目标函数的所确定的梯度,调整利用变量的相应的当前值和神经网络参数的相应的当前值。
架构数据可以是从一个或多个预定的神经网络架构初始化的。该方法还可以包括:从多个网络运算符中去除冗余的网络运算符。多个运算符可以包括神经网络层。该神经网络层可以包括卷积层、全连接层、归一化层或激活层中的至少一个。该多个运算符还可以包括卷积层中的过滤器,或全连接层中的神经元。神经网络的计算成本的度量可以包括大小、每秒浮点运算次数(FLOPS)或延迟中的至少一个。生成用于执行神经网络任务的优化的神经网络还可以包括:在不是选择的一组网络运算符之一的每个运算符之后插入零掩蔽层。生成用于执行神经网络任务的优化的神经网络还可以包括:使用concat聚合器来组合选择的一组网络运算的相应的输出。每个利用变量可以由一个或多个分布参数来定义。该方法还可以包括计算相对于一个或多个分布参数的目标函数的所确定的梯度。调整利用变量的相应的值可以包括:通过利用变量将目标函数的所确定的梯度反向传播到一个或多个分布参数中。一个或多个分布参数可以定义二元具体分布。
该方面的其他实施例包括记录在一个或多个计算机存储设备上的对应计算机系统、装置和计算机程序,每个被配置为执行所述方法的动作。一个或多个计算机的系统能够被配置为通过安装在系统上的软件、固件、硬件或其任何组合来执行特定操作或动作,该软件、固件、硬件或其任何组合在操作中可以使系统执行这些动作。一个或多个计算机程序能够被配置为通过包括指令来执行特定操作或动作,该指令当由数据处理装置执行时,使该装置执行所述动作。
能够实现在本说明书中描述的主题的特定实施例以实现以下优点中的一个或多个。
所述技术允许神经网络架构优化系统从搜索空间中有效且自动地确定神经网络架构,这将导致用于特定任务的小尺寸(即,参数有效)但是高性能的神经网络。具体来说,在搜索过程期间,该系统利用可训练的随机掩码来鼓励候选神经网络架构中的稀疏性,从而减少具有所得的架构的神经网络的运行时延迟、存储器占用或这两者。能够优化专用硬件以有效地并且以最小的运行时延迟来执行稀疏运算,例如,通过不计算涉及0的乘法。稀疏矩阵能够有效地存储在内存中,即,通过不显式地存储作为0的值,减少所得的架构的存储器占用。
所述技术还允许系统通过在与特定任务相关联的训练数据集上训练神经网络来共同地确定具有选择的神经网络架构的神经网络的训练参数值。更重要的是,特定任务能够是任何神经网络任务,并且搜索空间能够从任何现有的神经网络架构被初始化。因此,该系统能够自动地生成由此产生的经过训练的神经网络,这些神经网络能够与最先进的模型竞争或超过最先进的模型以实现广泛任务的执行,同时具有相对较小的模型大小,因此适合部署在具有有限计算资源的硬件平台上,该平台例如包括移动设备和嵌入式系统。
在附图和以下描述中阐述本说明书中描述的主题的一个或多个实施例的细节。本主题的其他特征、方面和优点将从描述、附图和权利要求中变得显而易见。
附图说明
图1示出了示例神经架构搜索系统。
图2是用于搜索神经网络的架构的示例过程的流程图。
图3是用于训练具有由选择的一组网络运算符定义的架构的神经网络的示例过程的流程图。
图4A至4B示出了搜索空间的示例图示。
图5示出了向网络运算符插入对应于利用变量的掩码的示例图示。
不同附图中相同的附图标记和名称表示相同的元件。
具体实施方式
本说明书描述了实现为在一个或多个位置的一个或多个计算机上的计算机程序的系统,该系统确定被配置为执行特定神经网络任务的任务神经网络的架构。
神经网络能够被训练来执行任何类型的机器学习任务,即能够被配置为接收任何类型的数字数据输入并且基于输入来生成任何类型的分数、分类或回归输出。
在一些情况下,神经网络是被配置为执行图像处理任务(即,接收输入图像并且处理输入图像以生成输入图像的网络输出)的神经网络。例如,任务可以是图像分类,并且神经网络为给定图像生成的输出可以是一组对象类别中的每个类别的分数,每个分数表示图像包含属于该类别的对象的图像的估计的可能性。作为另一示例,任务能够是图像嵌入生成,并且由神经网络生成的输出能够是输入图像的数字嵌入。作为又一示例,任务能够是对象检测,并且由神经网络生成的输出能够识别在输入图像中描绘特定类型的对象的位置。作为又一示例,任务能够是图像分割,并且由神经网络生成的输出能够将输入图像的每个像素分配给来自一组类别的类别。
作为另一示例,如果神经网络的输入是因特网资源(例如网页)、文档、或文档的部分或从因特网资源、文档或文档的部分中提取的特征,则任务能够是对资源或文档进行分类,即由神经网络为给定的因特网资源、文档或文档的部分生成的输出可以是一组主题中的每个主题的分数,每个分数表示因特网资源、文档或文档的部分是关于该主题的估计的可能性。
作为另一示例,如果神经网络的输入是特定广告的印象情境的特征,则由神经网络生成的输出可以是表示特定广告将被点击的估计的可能性的分数。
作为另一示例,如果神经网络的输入是针对用户的个性化推荐的特征,例如表征推荐的情境的特征,例如表征由用户先前采取的动作的特征,则由神经网络生成的输出可能是一组内容项中的每个内容项的分数,每个分数表示用户将对被推荐的内容项做出积极响应的估计的可能性。
作为另一示例,如果神经网络的输入是一种语言的文本序列,则由神经网络生成的输出可以是另一种语言的一组文本片段中的每个文本片段的分数,每个分数表示另一种语言的文本片段是输入文本到另一种语言的正确翻译的估计的可能性。
作为另一示例,该任务可以是音频处理任务。例如,如果神经网络的输入是表示口头话语的序列,则由神经网络生成的输出可以是一组文本片段中的每个文本片段的分数,每个分数表示该文本片段是话语的正确转录的估计的可能性。作为另一示例,该任务可以是关键字识别任务,其中,如果神经网络的输入是表示口头话语的序列,则由神经网络生成的输出能够指示特定单词或短语(“热门词”)是否是在话语中说出的。作为另一示例,如果神经网络的输入是表示口头话语的序列,则由神经网络生成的输出能够识别说出该话语所使用的自然语言。
作为另一示例,该任务能够是自然语言处理或理解任务,例如,蕴涵任务、释义任务、文本相似性任务、情感任务、句子完成任务和语法任务等,其作用于一些自然语言的文本序列上。
作为另一示例,该任务能够是文本到语音任务,其中,输入是自然语言的文本或自然语言的文本的特征,并且网络输出是定义使用自然语言正在说出的文本的音频的频谱图或其他数据。
作为另一示例,该任务能够是健康预测任务,其中,输入是患者的电子健康记录数据,并且输出是与患者的未来健康相关的预测,例如,应该对于患者而言规定的预测治疗、对于患者发生不良健康事件的可能性或对于患者的预测诊断。
作为另一示例,该任务能够是代理控制任务,其中,输入是表征环境状态的观察,并且输出定义了代理响应于该观察要执行的动作。代理能够是例如现实世界或模拟的机器人、工业设施的控制系统或控制不同类型代理的控制系统。
图1示出了示例神经架构搜索系统100。神经架构搜索系统100是在一个或多个位置的一个或多个计算机上实现为计算机程序的系统的示例,在该系统中,能够实现以下描述的系统、组件和技术。
神经架构搜索系统100是以下一种系统,该系统获得用于训练神经网络以执行机器学习任务的训练数据102和定义多个网络运算符的架构数据104,并且使用训练数据102和架构数据104来确定用于执行机器学习任务的最优的神经网络架构,并且训练具有该最优的神经网络架构的神经网络以确定神经网络的参数的训练值。
训练数据102能够包括多个训练示例和每个训练示例的相应的目标输出。给定训练示例的目标输出是由经过训练的神经网络通过处理给定训练示例应该生成的输出。在一些实施方式中,系统100将接收到的训练数据102划分(例如随机分割)为训练子集、验证子集和可选的测试子集。
由与从十个可能的分类中选择的目标输出分类配对的60000个训练示例组成的CIFAR-10数据集是这种训练数据的一个示例。CIFAR-1000是一个相关数据集,其中,分类是1000个可能的类别之一。合适的训练数据的另一个例子是ImageNet数据集,它由与从超过20000个可能的类别中选择的目标输出分类配对的超过1400万张图像组成。这些图像中的一些或全部还与边界框数据配对,这些边界框数据指定了属于可能类别之一的对象存在区域的边界。
神经网络的架构通常定义了神经网络中的层数、每一层执行的运算以及在神经网络中的层之间的连接性,即,在神经网络中哪些层从哪些其他层接收输入。
在一些实施方式中,架构数据104包括指定一组候选神经网络架构组件的数据。每个候选架构组件能够是神经网络单元或神经网络块的形式。由系统100根据架构数据104生成的神经网络的架构,例如在搜索过程期间生成的训练架构122或在搜索过程结束时生成的最终架构150,能够是塔的形式。塔是一种神经网络,其包括神经网络单元的序列、神经网络块的序列或这两者,其中,在序列中的第一单元(或块)之后的每个单元(或块)从在序列中较早的一个或多个单元(或块)接收输入,接收网络输入,或这两者。例如,每个单元能够由多个块组成,每个块从一个或多个先前单元以及在同一单元内的一个或多个先前块接收输入。
在一些这样的实施方式中,系统100从架构数据104生成的架构能够具有多个神经网络单元,其中,每个单元能够具有多个神经网络块,并且其中,每个块能够是用于布置多个神经网络层的有向图。块中的每个神经网络层都能够被配置为从前一层接收输入张量,并且为该输入张量生成输出张量,该输出张量作为输入被馈送到下一个神经网络层。每个块中包含的多个神经网络层能够是不同类型的,即,能够对不同大小的输入张量执行不同类型的运算以生成不同大小的输出张量。
虽然不同的架构能够包括不同数量的单元(或块),但任何给定候选中的单元(或块)的序列包括至少一个单元(或块)以及至多固定的最大数量的单元(或块)。除了一个或多个神经网络单元或块的序列之外,每个塔能够可选地包括一个或多个预定组件,例如,在序列中的第一块之前的一个或多个输入层、一个或多个中间的池化层、在序列中最后一个块之后的一个或多个输出层、或它们的组合。
在一些实施方式中,架构数据104能够被初始化或以其他方式从一个或多个基线网络架构或搜索空间导出。在下文中更详细地描述了此类基线网络架构或搜索空间的示例:Gabriel Bender et al.Understanding and simplifying one-shot architecturesearch(理解和简化一次性架构搜索);机器学习国际会议,549–558页,2018,Bichen Wu etal.Fbnet:Hardware-aware efficient convnet design via differentiable neuralarchitecture search(经由可微神经架构搜索的硬件感知的高效卷积网络设计);IEEE计算机视觉和模式识别会议论文集,10734–10742页,2019,以及Ariel Gordon etal.Morphnet:Fast&simple resource-constrained structure learning of deepnetworks(深度网络的快速和简单的资源受限结构学习);IEEE计算机视觉和模式识别会议论文集,1586–1595页,2018。
在任何上述实施方式中,架构数据104包括定义多个网络运算符的数据,每个网络运算符被配置为接收运算符输入,并且基于根据与网络运算符相关联的参数的当前值处理运算符输入来生成对应的运算符输出。例如,运算符能够是神经网络层。例如,每个运算符能够是卷积层、全连接层、归一化层、池化层或激活层,其对层输入应用一系列运算(例如,转换)以生成多个层输出。作为另一示例,运算符能够是神经网络层的组件。例如,每个运算符能够是卷积层中的过滤器,或者是全连接层中的神经元。作为又一示例,运算符能够是两个或多个神经网络层的组合,或者两个或多个神经网络层组件的组合,如上所述。
图4A示出了搜索空间的示例图示。示例搜索空间包括多个神经网络单元,这些神经网络单元又包括多个神经网络块,而神经网络块又包括多个运算符。每个运算符包括多个神经网络层,该神经网络层包括以下的一个或多个:1×1卷积层(“1×1”),它有效地充当级联聚合器;k×k深度卷积层(“k×k DW”);批量归一化层(“BN”);以及整流线性单元激活层(“ReLU”)。从搜索空间生成的示例架构(如图4A的左手侧所描绘的)能够是包括神经网络单元的序列的塔的形式,其中,在序列中第一单元之后的每个单元从在序列中较早的一个或多个单元接收输入,接收网络输入,或这两者。
图4B示出了另一个搜索空间的示例图示。该示例搜索空间包括多个神经网络块,而该神经网络块又包括多个运算符。每个运算符包括多个神经网络层,该神经网络层包括以下的一个或多个:1×1卷积层(“1×1”),它有效地充当级联聚合器;3×3深度卷积层(“3×3 DW”);5×5深度卷积层(“5×5 DW”);批量归一化层(“BN”);以及整流线性单元激活层(“ReLU”)。虚线表示包含在同一块中的不同运算符之间的附加跳跃连接。从搜索空间生成的示例架构(如图4B的左手侧所示)能够是塔的形式,该塔包括神经网络块的序列,在该序列中的第一块之后的每个块从该序列中较早的块接收输入。
在一些实施方式中,神经架构搜索系统100能够附加地接收指定一个或多个预定的(例如,用户指定的)资源约束作为输入数据,这些资源约束标识神经网络在执行推理时可以消耗多少计算资源。例如,资源约束可以指定由具有最终架构的神经网络使用的计算资源的目标量。目标资源使用数据指定:(i)目标存储器大小,该目标存储器大小指示对于创建最终架构所允许的最大存储器大小,即由最终架构的参数和架构数据能够占用的最大存储器;以及(ii)目标运算数(例如,每秒浮点运算次数(FLOPS)),其指示具有最终架构的神经网络能够执行的最大运算数以执行特定机器学习任务。作为另一示例,资源约束可以指定神经网络在执行任务时和在被部署在一个或多个计算设备上时的目标运行时延迟。因此,神经架构搜索系统100的输出可以进一步与神经网络旨在作用于的硬件的具体技术细节相关联。
神经架构搜索系统100能够以多种方式中的任一种来接收训练数据102、架构数据104、附加输入数据或其组合。例如,系统100能够通过数据通信网络从系统的远程用户接收数据作为上传,例如,使用系统100提供的应用程序编程接口(API)。作为另一示例,系统100能够接收来自用户的输入,该输入指定系统100已经维持的哪些数据应该用作训练数据102和架构数据104。
为了确定最终架构,神经架构搜索系统100使用利用变量分配引擎110、架构生成引擎120和训练引擎130来重复地执行搜索过程。
利用变量分配引擎110能够将利用变量112分配给在架构数据104中定义的多个网络运算符中的每个网络运算符。每个利用变量112与指示网络运算符在神经网络的最终架构中被利用的可能性的值相关联。
利用变量分配引擎110能够根据能够由引擎110维持的一个或多个可调参数(“分布参数”)参数化的相应概率来确定每个利用变量112的关联值。例如,变量分配引擎110能够将利用变量建模为具有连续松弛的伯努利随机变量。没有连续松弛的伯努利随机变量是指离散变量,其值为1(概率为p)或0(概率为1-p),并且下文将进一步描述连续松弛技术。对于每个网络运算符,以这种方式建模的分配的利用变量112能够有效地被视为二进制掩码,例如当值为1时将网络运算符包括在架构中,并且当值为0时将该网络运算符从架构中剪除。
图5示出了向网络运算符插入对应于利用变量的掩码的示例图示。如所描绘的,对应于分配给网络运算符(例如,顶部的“op 1”)的利用变量的二进制掩蔽层被插入到架构中的该网络运算符之后。边缘旁边的数字指示掩蔽层中非零通道的数量。
响应于对被插入在网络运算符之后的全零掩蔽层进行采样,可以取消选择网络运算符(例如,底部的“op 2”),即从当前架构中剪除该网络运算符。因此,取消选择网络运算符相当于在不在选择的一组网络运算符中的运算符之后插入零掩蔽层。
可以响应于对在网络运算符之后插入的具有一些零通道但不全是零通道的掩蔽层进行采样而取消选择网络运算符(例如,底部的“op 3”)的组件的一部分。如图5底部所描绘,如果网络运算符是卷积神经网络层的组件,即卷积神经网络层的过滤器,则响应于对具有5个零通道的掩蔽层进行采样,可以取消选择卷积神经网络层的总共8个过滤器中的5个过滤器。这相当于修改了卷积神经网络层的宽度。
因此,神经架构搜索系统100能够通过以下方式来作用于多个搜索空间的任何一个:使用利用变量分配引擎110将利用变量分配给不同的网络运算符,即,将掩码插入到不同的神经网络层以及神经网络层的不同组件。这有助于系统100在更大的架构空间上进行细粒度搜索。
特别地,系统100能够将利用变量的概率值的空间建模为连续空间,并且利用变量分配引擎110能够将最终架构中被利用的每个网络运算符的对应可能性建模为连续的而不是离散的可能性。这允许系统对搜索过程进行细粒度控制。例如,神经架构搜索系统100使用利用变量分配引擎110根据从在利用变量的一组概率值(范围从0到1,包括这两端)上的连续分布(例如,Logistic-Sigmoid分布或具体分布)确定的概率向每个网络运算符分配具有给定数值(例如,1)的利用变量。
架构生成引擎120能够基于被分配给多个网络运算符中的每个网络运算符的利用变量112的值来生成神经网络的训练候选架构122。为了在搜索过程开始时生成新的训练候选架构122(或在搜索过程期间更新现有的训练候选架构122),架构生成引擎120能够根据被分配给多个网络运算符的利用变量的当前值,从由架构数据104定义的多个网络运算符中选择选择的一组网络运算符。例如,架构生成引擎120能够选择已经被分配有利用变量的网络运算符,该利用变量的值落在特定范围内,例如大于0.9,例如等于1。然后,能够通过使用引擎120作为选择的一组网络运算符的组合来确定训练神经网络架构122。例如,架构生成引擎120能够通过使用可配置以组合固定形状运算符输出的加法聚合器或可配置以组合可变形状运算符输出的1×1卷积层(即,级联聚合器)来做到这一点。
在一些实施方式中,在搜索过程期间,系统100,例如在系统100可访问的存储器设备处维持由利用变量分配引擎110使用的分布参数集以生成利用变量112和用于神经网络的参数集。神经网络的参数集进而由与神经网络的不同运算符相关联的不同参数子集组成。
对于通过使用架构生成引擎120并且从架构数据104和利用变量112生成的训练架构122,训练引擎130在训练数据102上训练具有训练架构122的神经网络的实例以迭代地更新神经网络的参数集的值,并且附加地调整通过使用利用变量分配引擎110生成的利用变量的值。具体而言,在训练期间,训练引擎130联合优化两个目标——计算成本目标和任务执行目标。
能够从系统的用户输入或从与在一个或多个计算设备上部署神经网络以执行特定机器学习任务相关的一些默认计算成本目标导出计算成本目标。例如,计算成本目标能够包括以下一项或多项:(i)最终架构的目标存储器大小,(ii)具有最终架构的神经网络在执行特定的机器学习任务时的目标每秒浮点运算次数(FLOPS),或(iii)神经网络在执行特定机器学习任务时的目标运行时延迟。
任务执行目标能够评估在训练迭代时神经网络的执行度量,该执行度量测量经过训练的神经网络对于特定机器学习任务的执行。例如,该执行度量能够是经过训练的神经网络在验证数据集上的损失,或者是在验证数据集上计算时模型准确性的一些其他度量的结果。
训练引擎130通过计算目标函数的梯度来确定更新,该目标函数相对于网络参数评估上述两个目标。为了调整依次定义利用变量的分布参数的值,训练引擎130能够通过利用变量将所确定的梯度反向传播到分布参数中。
在搜索过程期间,系统100能够重复地使用架构生成引擎120基于被分配给多个网络运算符中的每个网络运算符的利用变量的更新值来更新训练神经网络架构122。这允许系统连续地和自适应地更新神经网络的训练架构以提高搜索过程的多样性。同时,能够基于由训练引擎130计算的目标函数的梯度来更新与更新的训练架构相关联的网络参数集。
在搜索过程已经终止之后,例如,在已经执行指定次数的迭代之后或者在目标函数的梯度已经收敛到指定值之后,神经网络搜索系统100然后能够输出神经网络的最终架构数据150。例如,神经网络搜索系统100能够向提交训练数据102的用户输出指定最终神经网络架构150的数据。例如,架构数据能够指定作为神经网络一部分的神经网络运算符、在神经网络运算之间的连接性、以及由神经网络运算符执行的运算。
在一些实施方式中,代替或除了输出架构数据150之外,系统100实例化具有所确定的架构和带有经过训练的参数的神经网络的实例,例如,该经过训练的参数或者是由系统在确定最终架构之后利用作为搜索过程的结果生成的参数值从头开始训练的,或者是通过微调作为搜索过程的结果生成的参数值而生成的,然后系统100使用经过训练的神经网络来处理由用户接收到的请求(例如通过系统提供的API)。即,系统100能够接收要处理的输入,使用经过训练的神经网络来处理输入,并且响应于接收到的输入来提供由经过训练的神经网络生成的输出或者从所生成的输出导出的数据。
图2是用于搜索神经网络架构的示例过程200的流程图。为方便起见,过程200将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,被适当编程的神经架构搜索系统,例如图1的神经架构搜索系统100,能够执行过程200。
系统接收用于训练神经网络以执行神经网络任务的训练数据(202)。训练数据包括多个训练示例,以及,对于每个训练示例而言,应该由神经网络生成以执行特定任务的相应的目标输出。
系统接收定义多个网络运算符的架构数据(204)。通常,当用作神经网络的架构的一部分时,每个网络运算符被配置为接收运算符输入并且基于根据与网络运算符相关联的参数的当前值处理运算符输入来生成对应的运算符输出。例如,运算符能够包括神经网络层、神经网络层的组件、或者两个或多个神经网络层的组合、或者神经网络层的两个或多个组件的组合。
系统向多个网络运算符中的每个网络运算符分配指示网络运算符在神经网络中被利用的可能性的利用变量(206)。能够根据相应的概率来确定与利用变量相关联的值,该概率进而能够由一个或多个分布参数参数化。例如,能够使用连续概率分布(例如,Logistic-Sigmoid分布或具体分布)将利用变量建模为具有连续松弛的伯努利随机变量。
系统通过重复地执行以下两个步骤来联合地更新利用变量的当前值和神经网络的参数的当前值而生成用于执行神经网络任务的神经网络(208):(i)从多个网络运算符并且根据利用变量的相应的当前值来采样选择的一组网络运算符,以及(ii)在训练数据上训练具有由选择的一组网络运算符定义的架构的神经网络以执行神经网络任务,如以下更详细地描述。
图3是用于训练具有由选择的一组网络运算符定义的架构的神经网络的示例过程300的流程图。为方便起见,过程300将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,被适当编程的神经架构搜索系统,例如图1的神经架构搜索系统100,能够执行过程300。
一般而言,系统能够重复地执行过程300以生成具有用于执行神经网络任务的最优架构的神经网络。
系统从多个网络运算符并且根据利用变量的相应的当前值对选择的一组网络运算符进行采样(302)。
系统在训练数据上训练具有由选择的一组网络运算符定义的架构的神经网络以执行神经网络任务(304)。上面参考图1更详细地描述了对选择的一组网络运算符进行采样并且生成具有由选择的一组网络运算符定义的架构的神经网络,但简而言之,这涉及使用合适的聚合器(例如加法聚合器或级联聚合器)来生成已被分配有具有在特定范围内(例如等于1)的当前值的利用变量的网络运算符的组合。
在训练期间,系统联合地更新利用变量的当前值和神经网络参数的当前值以优化目标函数,该目标函数同时评估神经网络的计算成本的度量和神经网络对于与训练数据相关联的神经网络任务的执行的度量。
为此,系统计算目标函数(306),该目标函数评估(i)神经网络的计算成本的度量和(ii)神经网络对于与训练数据相关联的神经网络任务的执行的度量。
例如,能够以以下形式来评估目标函数
Figure BDA0003781853380000161
其中,
Figure BDA0003781853380000162
是测量任务执行目标的损失项,
Figure BDA0003781853380000163
是测量计算成本目标的损失项,λ是用于取决于感兴趣的计算成本目标(例如,FLOPS)的确切类型不同地缩放
Figure BDA0003781853380000164
的正则化因子,并且⊙表示具有训练架构的神经网络的一组一个或多个参数w与对应于利用变量的二进制掩码m之间的逐个元素的乘积。
在此示例中,
Figure BDA0003781853380000165
能够是用在对于任务的常规机器学习训练中的监督损失,即相对于包含在训练数据中的相关联的目标输出而确定的训练输出的损失,其中,由神经网络从根据网络参数的当前值处理训练样本而生成训练输出。
并且能够以以下形式评估
Figure BDA0003781853380000166
Figure BDA0003781853380000167
其中,
Figure BDA0003781853380000168
Figure BDA0003781853380000169
分别表示应用于矩阵A的输入和矩阵B的输出的每通道二进制掩码,并且π表示分布参数。矩阵A(或B)能够是表示与网络运算符相关联的参数(例如,神经网络的卷积层或全连接层)的值的权重矩阵。
系统基于目标函数的所确定的梯度来调整利用变量的当前值和神经网络参数的当前值(308)。系统能够通过以下方式来做到这一点:计算目标函数相对于神经网络参数的梯度,然后通过利用变量将目标函数的所确定的梯度反向传播到一个或多个分布参数中。
在一些情况下,mi能够被建模为独立的伯努利变量mi~Bern(πi),并且系统能够使用黑盒方法(例如,微扰或对数导数方法)来确定相对于分布参数π的梯度的估计。
在其他情况下,能够将mi代替建模为来自Logistic-Sigmoid分布的连续样本
Figure BDA0003781853380000171
其中分别地,l~Logistic(0,1),并且当τ→0时,
Figure BDA0003781853380000172
以(1-πii)的概率接近(0,1)。将逻辑项分解为无参数分量允许该系统通过掩码反向传播目标函数的计算的梯度,并且使用传统的参数更新技术(诸如基于梯度下降的技术)来学习分布参数π的值。
然后该系统能够使用适当的更新规则,例如随机梯度下降更新规则、Adam更新规则、rmsProp更新规则,以应用梯度来调整利用变量和网络参数。
本说明书使用与系统和计算机程序组件相关的术语“被配置”。对于被配置为执行特定操作或动作的一个或多个计算机的系统而言,意味着系统已在其上安装了软件、固件、硬件或它们的组合,这些软件、固件、硬件或它们的组合在操作中使得系统执行操作或动作。对于一个或多个计算机程序被配置为执行特定操作或动作意味着该一个或多个程序包括指令,该指令当由数据处理装置执行时,使该装置执行操作或动作。
本说明书中描述的主题和功能操作的实施例能够实现在数字电子电路系统中、在有形体现的计算机软件或固件中、在计算机硬件(包括在本说明书中公开的结构和它们的结构等效物)中、或者在它们的一个或多个的组合中。本说明书中描述的主题的实施例能够被实现为一个或多个计算机程序,即,计算机程序指令的一个或多个模块,该指令被编码在有形的非暂时性存储介质上,以由数据处理装置执行或控制数据处理装置的操作。计算机存储介质能够是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或者它们中的一种或多种的组合。可替代地或另外地,该程序指令能够被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以编码信息以传输到合适的接收器装置以供数据处理装置执行。
术语“数据处理装置”指的是数据处理硬件并且涵盖用于处理数据的所有种类的装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。该装置还能够是或进一步包括专用逻辑电路系统,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置能够可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个组合的代码。
可以以任何形式的编程语言来编写计算机程序(也可被称为或描述为程序、软件、软件应用程序、app、模块、软件模块、脚本或代码),该编程语言包括编译或解释性语言,或者声明性或程序性语言;并且它能够以任何形式部署,包括作为独立程序或作为模块、组件、子程序或其他适用于计算环境中的单元。程序可以但不必对应于文件系统中的文件。程序能够存储在拥有其他程序或数据的文件的一部分中,例如,存储在标记语言文档中的一个或多个脚本、专用于所讨论程序的单个文件中或多个协调文件中,例如,存储一个或多个模块、子程序或代码部分的文件。能够部署计算机程序以在一个计算机上或位于一个站点或分布在多个站点并通过数据通信网络互连的多个计算机上执行。
在本说明书中,术语“数据库”广义用于指代任何数据集合:该数据不需要以任何特定方式被结构化,或者根本不需要结构化,并且它能够存储在一个或多个位置的存储设备上。因此,例如,索引数据库能够包括多个数据集合,每个数据集合可以以不同方式被组织和访问。
类似地,在本说明书中,术语“引擎”广义用于指代基于软件的系统、子系统或被编程为执行一个或多个特定功能的过程。通常,引擎将被实现为安装在一个或多个位置的一个或多个计算机上的一个或多个软件模块或组件。在一些情况下,一个或多个计算机将专用于特定引擎;在其他情况下,能够在同一个或多个计算机上安装和运行多个引擎。
本说明书中描述的过程和逻辑流程能够由一个或多个可编程计算机执行,该一个或多个可编程计算机执行一个或多个计算机程序以通过对输入数据进行操作并且生成输出来执行功能。过程和逻辑流程也能够由专用逻辑电路系统(例如FPGA或ASIC)或由专用逻辑电路系统和一个或多个编程计算机的组合来执行。
适合于执行计算机程序的计算机能够基于通用或专用微处理器或这两者、或任何其它类型的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的基本元件是用于执行或实施指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器能够由专用逻辑电路系统补充或并入专用逻辑电路系统中。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,或者可操作地耦合以从该一个或多个大容量存储设备接收数据或向其传送数据或这两者。然而,计算机不需要具有这样的设备。此外,计算机能够嵌入在另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器、或便携式存储设备(例如,通用串行总线(USB)闪存驱动器),仅列出几个。
适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如:半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及CD ROM和DVD-ROM盘。
为了提供与用户的交互,本说明书中描述的主题的实施例能够实现在计算机上,该计算机具有显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器),用于向用户显示信息,以及键盘和诸如鼠标或轨迹球的定点设备,用户能够通过它们向计算机提供输入。也能够使用其他种类的设备提供与用户的交互;例如,提供给用户的反馈能够是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且能够以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机能够通过以下方式与用户交互:向用户使用的设备发送文档和从用户使用的设备接收文档;例如,通过响应于从用户的设备上的web浏览器接收的请求而将网页发送到该web浏览器。而且,计算机能够通过以下方式与用户交互:向个人设备(例如,运行消息收发应用程序的智能电话)发送文本消息或其他形式的消息,并且进而从用户接收响应消息。
用于实现机器学习模型的数据处理装置还能够包括例如专用硬件加速器单元,用于处理机器学习训练或生产(即推理)工作负载的常见和计算密集型部分。
能够使用机器学习框架(例如,TensorFlow框架、Microsoft Cognitive Toolkit框架、Apache Singa框架或Apache MXNet框架)来实现和部署机器学习模型。
在本说明书中描述的主题的实施例能够实现在计算系统中,该计算系统包括后端组件,例如作为数据服务器,或者包括中间件组件,例如应用服务器,或者包括前端组件,例如具有图形用户界面、Web浏览器或app的客户端计算机,用户可以通过该图形用户界面、Web浏览器或app与本说明书中描述的主题的实施方式交互,该计算系统或者包括一个或多个这样的后端、中间件或前端组件的任何组合。系统的组件能够通过任何形式或介质的数字数据通信,例如,通信网络互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),例如,因特网。
计算系统能够包括客户端和服务器。客户端和服务器通常彼此远离并且典型地通过通信网络交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端服务器关系的计算机程序而产生。在一些实施例中,服务器向用户设备发送数据(例如,HTML页面),例如,用于向与可以作为客户端的设备交互的用户显示数据和从该用户接收用户输入的目的。能够在服务器处从该用户设备接收在该用户设备处生成的数据(例如,用户交互的结果)。
虽然本说明书包含许多具体实施细节,但是这些不应被解释为对任何发明的范围或所要求保护内容的范围的限制,而是被解释为对特定发明的特定实施例特有的特征的描述。在本说明书中在单独实施例的情境中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的情境中描述的各种特征也能够在多个实施例中单独地或以任何合适的子组合来实现。此外,虽然可以在上面将特征描述为以某些组合起作用并且甚至最初如此要求保护,但是来自所要求保护的组合的一个或多个特征在一些情况下可以从组合中去除,并且所要求保护的组合可以针对子组合或子组合的变化形式。
类似地,虽然以特定顺序在附图中描绘和在权利要求中阐述操作,但是这不应被理解为要求这些操作以所示的特定顺序或以依序顺序执行,或者所有所示的操作执行以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这样的分离,并且应当理解,所描述的程序组件和系统通常能够一起集成在单个软件产品中或封装到多个软件产品内。
因此,已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中所阐述的动作能够以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或依序的顺序来实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。

Claims (15)

1.一种方法,包括:
接收用于训练神经网络以执行神经网络任务的训练数据,所述训练数据包括多个训练示例和用于所述训练示例中的每个训练示例的相应的目标输出;
接收定义多个网络运算符的架构数据;
向所述多个网络运算符中的每个网络运算符分配指示所述网络运算符在神经网络中被利用的可能性的利用变量;
生成用于执行所述神经网络任务的优化的神经网络,包括重复地执行以下操作:
从所述多个网络运算符并且根据所述利用变量的相应的当前值对所选择的一组网络运算符进行采样;以及
在所述训练数据上训练具有由所选择的一组网络运算符定义的架构的所述神经网络以执行所述神经网络任务,其中,所述训练包括:
计算目标函数,所述目标函数评估(i)所述神经网络的计算成本的度量和(ii)所述神经网络对于与所述训练数据相关联的所述神经网络任务的执行的度量;以及
基于所述目标函数的所确定的梯度来调整所述利用变量的相应的当前值和所述神经网络参数的相应的当前值。
2.根据权利要求1所述的方法,其中,所述架构数据是从一个或多个预定的神经网络架构初始化的。
3.根据权利要求1至2中的任一项所述的方法,还包括:
从所述多个网络运算符中去除冗余网络运算符。
4.根据权利要求1至3中的任一项所述的方法,其中,所述多个运算符包括神经网络层。
5.根据权利要求4所述的方法,其中,所述神经网络层包括以下中的至少一个:卷积层、全连接层、归一化层或激活层。
6.根据权利要求4至5中的任一项所述的方法,其中,所述多个运算符还包括卷积层中的过滤器或全连接层中的神经元。
7.根据前述权利要求中的任一项所述的方法,其中,所述神经网络的所述计算成本的度量包括以下中的至少一个:大小、每秒浮点运算次数(FLOPS)或延迟。
8.根据前述权利要求中的任一项所述的方法,其中,生成用于执行所述神经网络任务的所述优化的神经网络还包括:
在不是所选择的一组网络运算符之一的每个运算符之后插入零掩蔽层。
9.根据前述权利要求中的任一项所述的方法,其中,生成用于执行所述神经网络任务的所述优化的神经网络还包括:
使用concat聚合器组合所选择的一组网络运算的相应的输出。
10.根据前述权利要求中的任一项所述的方法,其中,每个利用变量由一个或多个分布参数定义。
11.根据也从属于权利要求10的任何前述权利要求所述的方法,还包括:
计算相对于所述一个或多个分布参数的所述目标函数的所确定的梯度。
12.根据权利要求10或11所述的方法,其中,调整所述利用变量的相应的值包括:
通过所述利用变量将所述目标函数的所确定的梯度反向传播到所述一个或多个分布参数中。
13.根据权利要求10至12中的任一项所述的方法,其中,所述一个或多个分布参数定义二元具体分布。
14.一种包括一个或多个计算机和一个或多个存储指令的存储设备的系统,所述指令当由所述一个或多个计算机执行时可操作以使所述一个或多个计算机执行任何前述权利要求所述的相应方法的操作。
15.一种用指令编码的计算机存储介质,所述指令当由一个或多个计算机执行时,使所述一个或多个计算机执行任何前述权利要求所述的相应方法的操作。
CN202180012814.5A 2020-02-07 2021-02-08 细粒度的随机神经架构搜索 Active CN115066689B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062971866P 2020-02-07 2020-02-07
US62/971,866 2020-02-07
PCT/US2021/017128 WO2021159101A1 (en) 2020-02-07 2021-02-08 Fine-grained stochastic neural architecture search

Publications (2)

Publication Number Publication Date
CN115066689A true CN115066689A (zh) 2022-09-16
CN115066689B CN115066689B (zh) 2025-07-08

Family

ID=74860399

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180012814.5A Active CN115066689B (zh) 2020-02-07 2021-02-08 细粒度的随机神经架构搜索

Country Status (3)

Country Link
US (1) US20230063686A1 (zh)
CN (1) CN115066689B (zh)
WO (1) WO2021159101A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12182673B1 (en) * 2021-05-07 2024-12-31 Amazon Technologies, Inc. Compatible machine learning model generation within resource constraints
US20250217446A1 (en) * 2021-05-28 2025-07-03 Nvidia Corporation Optimizing parameter estimation for training neural networks
CN113821804B (zh) * 2021-11-24 2022-03-15 浙江君同智能科技有限责任公司 一种面向第三方组件及其安全风险的跨架构自动化检测方法与系统
CN114298272B (zh) * 2021-12-23 2024-09-10 安谋科技(中国)有限公司 神经网络模型的构建方法、图像处理方法、设备及介质
US12216647B1 (en) 2023-07-17 2025-02-04 Woven By Toyota, Inc. Systems and methods for machine learning evaluation pipeline

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107122826A (zh) * 2017-05-08 2017-09-01 京东方科技集团股份有限公司 用于卷积神经网络的处理方法和系统、和存储介质
CN110663049A (zh) * 2017-04-28 2020-01-07 谷歌有限责任公司 神经网络优化器搜索

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11586875B2 (en) * 2017-11-22 2023-02-21 Massachusetts Institute Of Technology Systems and methods for optimization of a data model network architecture for target deployment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110663049A (zh) * 2017-04-28 2020-01-07 谷歌有限责任公司 神经网络优化器搜索
CN107122826A (zh) * 2017-05-08 2017-09-01 京东方科技集团股份有限公司 用于卷积神经网络的处理方法和系统、和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ARIEL GORDON等: "MorphNet: Fast & Simple Resource-Constrained Structure Learning of Deep Networks", ARXIV, 30 November 2017 (2017-11-30), pages 1 - 14 *

Also Published As

Publication number Publication date
US20230063686A1 (en) 2023-03-02
WO2021159101A1 (en) 2021-08-12
CN115066689B (zh) 2025-07-08

Similar Documents

Publication Publication Date Title
US11803731B2 (en) Neural architecture search with weight sharing
EP3711000B1 (en) Regularized neural network architecture search
JP6790286B2 (ja) 強化学習を用いたデバイス配置最適化
EP3718057B1 (en) Neural architecture search using a performance prediction neural network
US20210004677A1 (en) Data compression using jointly trained encoder, decoder, and prior neural networks
CN115066689A (zh) 细粒度的随机神经架构搜索
CN111598253B (zh) 使用教师退火来训练机器学习模型
US20240005129A1 (en) Neural architecture and hardware accelerator search
US20240370693A1 (en) Full-stack hardware accelerator search
US11900222B1 (en) Efficient machine learning model architecture selection
CN117121016A (zh) 在低级基元上的粒度神经网络架构搜索
CN115485694A (zh) 机器学习算法搜索
CN115398446A (zh) 使用符号编程的机器学习算法搜索
CN117396890A (zh) 高效硬件加速器配置探索
CN115066690A (zh) 搜索归一化-激活层架构
CN112307048A (zh) 语义匹配模型训练方法、匹配方法、装置、设备及存储介质
US20240403660A1 (en) Constrained device placement using neural networks
US20230376664A1 (en) Efficient hardware accelerator architecture exploration
WO2025179276A1 (en) Regressing experiment outcomes using language model neural networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant